session-android/src/org/thoughtcrime/securesms
Moxie Marlinspike 83e260436b Major storage layer refactoring to set the stage for clean GCM.
1) We now try to hand out cursors at a minimum.  There has always been
   a fairly clean insertion layer that handles encrypting message bodies,
   but the process of decrypting message bodies has always been less than
   ideal.  Here we introduce a "Reader" interface that will decrypt message
   bodies when appropriate and return objects that encapsulate record state.

   No more MessageDisplayHelper.  The MmsSmsDatabase interface is also more
   sane.

2) We finally rid ourselves of the technical debt associated with TextSecure's
   initial usage of the default SMS DB.  In that world, we weren't able to use
   anything other than the default "Inbox, Outbox, Sent" types to describe a
   message, and had to overload the message content itself with a set of
   local "prefixes" to describe what it was (encrypted, asymetric encrypted,
   remote encrypted, a key exchange, procssed key exchange), and so on.

   This includes a major schema update that transforms the "type" field into
   a bitmask that describes everything that used to be encoded in a prefix,
   and prefixes have been completely eliminated from the system.

   No more Prefix.java

3) Refactoring of the MultipartMessageHandler code.  It's less of a mess, and
   hopefully more clear as to what's going on.

The next step is to remove what we can from SmsTransportDetails and genericize
that interface for a GCM equivalent.
2013-05-06 08:40:55 -07:00
..
components Refactor recipient access. 2012-12-24 08:40:37 -08:00
contacts Refactor ContactPhotoFactory to handle changing local contact URIs. 2012-12-30 16:42:33 -08:00
crypto Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
database Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
directory Initial client support for GCM message send/receive 2013-05-06 08:40:55 -07:00
gcm Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
mms Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
notifications Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
preferences Poor man's styling. 2013-02-09 17:43:31 -08:00
protocol Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
providers Removed tabs 2012-09-30 19:56:29 -07:00
recipients Scrub recipients for MMS messages so they'll be valid PLMN. 2013-03-14 15:59:28 -07:00
service Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
sms Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
transport Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
util Initial client support for GCM message send/receive 2013-05-06 08:40:55 -07:00
ApplicationExportManager.java Localisation commit 2012-09-22 21:53:56 +02:00
ApplicationPreferencesActivity.java Initial GCM registration 2013-05-06 08:40:55 -07:00
AutoInitiateActivity.java Initial client support for GCM message send/receive 2013-05-06 08:40:55 -07:00
ContactSelectionActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
ContactSelectionGroupsFragment.java Refactor recipient access. 2012-12-24 08:40:37 -08:00
ContactSelectionListFragment.java Refactor recipient access. 2012-12-24 08:40:37 -08:00
ContactSelectionRecentFragment.java Refactor recipient access. 2012-12-24 08:40:37 -08:00
ConversationActivity.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
ConversationAdapter.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
ConversationFragment.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
ConversationItem.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
ConversationListActivity.java Improve passphrase and onboarding UI. Abstract out routing. 2013-02-17 15:09:01 -08:00
ConversationListAdapter.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
ConversationListFragment.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
ConversationListItem.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
CountrySelectionActivity.java Initial GCM registration 2013-05-06 08:40:55 -07:00
CountrySelectionFragment.java Initial GCM registration 2013-05-06 08:40:55 -07:00
DatabaseMigrationActivity.java Improve passphrase and onboarding UI. Abstract out routing. 2013-02-17 15:09:01 -08:00
DatabaseUpgradeActivity.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
IdentityKeyView.java Fix review identity activity UI. 2012-07-23 21:43:55 -07:00
KeyScanningActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
KeyVerifyingActivity.java Clean up key/identity verification Activites. 2012-07-23 13:42:29 -07:00
PassphraseActivity.java Improve passphrase and onboarding UI. Abstract out routing. 2013-02-17 15:09:01 -08:00
PassphraseChangeActivity.java Include source origin in string key name. 2012-09-19 19:56:04 -07:00
PassphraseCreateActivity.java Improve passphrase and onboarding UI. Abstract out routing. 2013-02-17 15:09:01 -08:00
PassphrasePromptActivity.java Clear passphrase field on invalid entry. 2013-02-21 14:47:18 -08:00
PassphraseRequiredActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
PassphraseRequiredMixin.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
PassphraseRequiredSherlockActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
PassphraseRequiredSherlockFragmentActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
PassphraseRequiredSherlockListActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
PassphraseRequiredSherlockPreferenceActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
PromptApnActivity.java Prompt user for APN details when missing. 2013-03-04 17:43:04 -08:00
ReceiveKeyActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
RegistrationActivity.java Initial GCM registration 2013-05-06 08:40:55 -07:00
RegistrationProgressActivity.java Initial client support for GCM message send/receive 2013-05-06 08:40:55 -07:00
ReviewIdentitiesActivity.java Removed tabs 2012-09-30 19:56:29 -07:00
RoutingActivity.java Major storage layer refactoring to set the stage for clean GCM. 2013-05-06 08:40:55 -07:00
SaveIdentityActivity.java Refactor MasterSecret initialization, access, and timeout paths. 2013-02-10 17:30:51 -08:00
VerifyIdentityActivity.java Initial client support for GCM message send/receive 2013-05-06 08:40:55 -07:00
VerifyImportedIdentityActivity.java Include source origin in string key name. 2012-09-19 19:56:04 -07:00
VerifyKeysActivity.java Initial client support for GCM message send/receive 2013-05-06 08:40:55 -07:00
ViewIdentityActivity.java Include source origin in string key name. 2012-09-19 19:56:04 -07:00