1) QuickCamera logic moved into CameraView
2) The strategies for texture vs. surface view were too complex
with no observed gain. Better to remove and have to re-add
if necessary than assume it to be necessary.
3) Drop CWAC-Camera dependency - the device profiles weren't being
used very much and even that is deprecated so we'd be left on
our own with new hardware. Not worth it.
4) Selfies first.
5) Layout/orientation mathy logic from CWAC moved into CameraUtils,
with the hopes that most of it might be further simplified or
rendered unnecessary in the future.
Closes#4326
// FREEBIE
Behaves similarly to the DatabaseUpgradeActivity. You have a
static list of ExperienceUpgrade models that include a "trigger"
version, where when a user upgrades through it a notification
will appear, and there will be a splash explanation screen.
Right now the splash screens are basic and not too configurable,
but that can be reworked as upgrades demand.
Closes#4151
1) No more blue/green for outgoing messages. Just lock or no lock.
2) Use 9-patches instead of shapes for better bubble performance.
3) Use tinting rather than different colored assets.
4) Change outgoing status indicators so that they don't change
width of the bubble as they update.
5) Switch to using ..., check, double-check for pending, sent,
delivered rather than using bubble tone to indicate pending.
// 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) Create a new build type for testing.
2) Only obfuscate the package android.support.v7.internal.view.menu
to prevent LGE ROM bug
3) '-keepattributes Exceptions' to allow for throwing from mocks
4) -dontskipnonpubliclibraryclassmembers and -dontwarn for
everything else
Fixes#2871Closes#2986
// FREEBIE