Previously, we didn't support highlighting search results that had
tokens in the middle of the matches, which is a possibility with FTS.
Now we do more robust highlighting, as well as highlight matches in
phone numbers.
If a search result snippet spans two lines, we only show the first line.
For the purpose of display, we first remove all newlines in order to
make the full snippet visible.
Expiring message timers could end up leaking references and
executing work even after their conversation item was no longer
visible
Maybe fixes#6898
// FREEBIE
Eliminate the concept of 'Recipients' (plural). There is now just
a 'Recipient', which contains an Address that is either an individual
or a group ID.
MMS groups now exist as part of the group database, just like push
groups.
// FREEBIE
1) EmojiTextView and EmojiEditText are used instead of
using code to emojify text.
2) Emoji categories' code points are specified in XML
3) EmojiDrawer itself is a fragment, and its pages are
also fragments, allowing for better memory
management.
Fixes#2938Fixes#2936Closes#3153
// FREEBIE
If the contact doesn't have an image, render a color-coded
background and the first letter of the contact's name.
1) Don't display anything during recipient resolution.
2) Display a # icon in material gray for recipients with no name.
3) Display a material group icon in material gray for groups with
no avatar icon set.
Closes#3104
// FREEBIE
1) fixed DateUtils to use SimpleDateFormat for everything because it respects Locale
2) added getCurrentLocale() method to DynamicLanguage
3) allow PassphraseRequiredActionBarActivity.initFragment() to accept a Locale
4) updated classes that depend on DateUtils to pass down Locale from DynamicLanguage
Fixes#2684Closes#2725
// FREEBIE
1) Migrate from GSON to Jackson everywhere.
2) Add support for storing identity key conflicts on message rows.
3) Add limited support for surfacing identity key conflicts in UI.
1) Broke out the UI elements of the major Activites into stylable
attributes.
2) Created a 'light' and 'dark' theme for the newly stylable attrs.
3) Touched up some of the UI spacing.
4) Implemented dynamic theme switching support.