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
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
The ACTION_GET_CONTENT used with cropping is not supported on all devices.
To make this work more reliably I removed the cropping and MediaStore.EXTRA_OUTPUT.
The image is now read via getContentResolver().openInputStream() which should work on all device including KitKat/CM11.
1) We now delay MMS notifications until a payload is received,
or there's an error downloading the payload. This makes
group messages more consistent.
2) All "text" parts of an MMS are combined into a second text
record, which is stored in the MMS row directly rather than
as a distinct part. This allows for immediate text loading,
which means there's no chance a ConversationItem will resize.
To do this, we need to include MMS in the big DB migration
that's already staged for this application update. It's also
an "application-level" migration, because we need the MasterSecret
to do it.
3) On conversation display, all image-based parts now have their
thumbnails loaded asynchronously. This allows for smooth-scrolling.
The thumbnails are also scaled more accurately.