Mostly, the inheritance graph for MessageRecord/MmsMessageRecord was
all messed up, and each class was overloaded for things it shouldn't
have been.
1) Broke MessageRecord/MmsMessageRecord up into: DisplayRecord, ThreadRecord,
MessageRecord, SmsMessageRecord, NotificationMmsMessageRecord, and
MediaMmsMessageRecord.
2) Updated all the adapters/views to keep pace with that change.
1) Add >= ICS profile support (the system-supported "me" contact).
2) Improve <= Gingerbread support for me contact by auto-detecting
contacts that have the same number as the SIM card.
3) Tie in identity key import/export support to the "me" contact.
4) Don't display a "me" selection option in preference if it can
be auto-detected.
5) Refactor out the ContactAccessorNewApi back into the base class.
1) Change the MessageSender logic so that individual SMS messages
are encrypted whenever there is a secure session, unless the UI
explicitly specifies otherwise.
2) Change the MMS logic so that messages to a recipient with a
secure session are all sent individually, instead of including
those recipients into the batch plaintext message.
The code we use for PDU parsing and composing comes straight from
the Android framework, but it's an internal API, so we duplicate
the code here. These changes represent updates that have been
made as of the JB release.
You know, it's much more fun listening to you in a lecture theatre. :-P
Right; any nit picks now might have to wait 3 weeks, depending on
available connectivity. Hope I did not screw this one up.
This requires a few changes to Recipient in order to make sure we
have a Contact URI at click time. While we're at it, let's git rid
of the OldRecipientProvider, which was for pre-2.0 contact stuff
(no longer supported, woohoo!).
On platforms (API >= 11) that support receiving click events within
a notification, we change the notification format so that users
can "lock" TextSecure with a click.
For all platforms, we change the notification icon in the status
bar from a "lock" to an "unlock," to better reflect the situation.
This is all part of the master plan for eliminating the passphrase
timeout option.
1) Fix up the whitespace tagging so that it's a little more strict.
2) Don't display whitespace tags that we add to our own messages.
3) Make the tag detection prompt a little more visually pleasing.
1) Change all instances which use concatenation to build strings
with variables in them to use string formatting instead.
2) Extract all string literals from layouts and menus into strings.xml
3) Extract all string literals from code into strings.xml