1. Switch from 300 to 500 colors.
2. Colorize incoming conversation bubbles.
3. Colorize recipeint preference activity toolbar.
4. Support inverted colors in avatars.
5. Make status bar icons tint according to secondary color.
// FREEBIE
Because ContactSelectionListItem is used as a
RecipientModifiedListener, it leaks its context
(NewConversationActivity/PushContactSelectionActivity),
which can lead to OOM crashes.
Closes#3214
// FREEBIE
Drawables are (strangely) mutable objects. We reuse a single
drawable for each recipient, but some avatar views (the
conversation list -- 40dp) are larger than others (the
conversation -- 30dp).
This results in a situation where TextDrawable doesn't render
itself appropriately, because the bounds are modified by a larger
view.
Giving the Drawable an intrinsic width and height resolves this
conflict.
// 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) Switch to new TextSecureAddress addressing, rather than mixing
long-based recipient IDs into libtextsecure.
2) Get rid of RecipientFormattingException throws in calls to
RecipientFactory.
Closes#2570
When searching for messages only simple threads matching the
contact names are returned as search results. With this commit
also group converstations where the group title matches the search
term are displayed in the result. This makes search results more
consistent with the conversation list as now all conversation
titles (i.e. contact names and group titles) are searched through.
Fixes#1954Closes#2216
1) Break the core cryptography functions out into libaxolotol.
2) The objective for this code is a Java library that isn't
dependent on any Android functions. However, while the
code has been separated from any Android functionality,
it is still an 'android library project' because of the
JNI.