235 Commits

Author SHA1 Message Date
Moxie Marlinspike
2f39283da3 Initial GCM registration 2013-05-06 08:40:55 -07:00
Moxie Marlinspike
b05c840616 Fix for MMS send bug with an APN proxy. 2013-03-10 15:47:13 -07:00
Moxie Marlinspike
58961fe0a8 Minor spelling correction. 2013-03-10 14:50:55 -07:00
Moxie Marlinspike
ef6a5c69af Tweak MMS retrieval and submission.
1) Only attempt direct connect outside of MMS radio mode on CDMA.

2) Don't switch back to normal radio state if pending messages remain.
2013-03-03 18:44:58 -08:00
Moxie Marlinspike
48576dbb58 Catch mysterious SMS too large exception. 2013-02-26 22:57:09 -08:00
Moxie Marlinspike
5ca7b1080c Fix for concurrentmodificationexception on race condition. 2013-02-26 22:56:48 -08:00
Moxie Marlinspike
f73adfc8f5 Change MMS network request pattern.
Currently we're flipping the radio in "MMS" mode, and connecting through
any proxies specified in the APN.  This always work, or at least doesn't
seem to work on Sprint, since the configured mms proxy rejects proxy
requests.

Instead we try the following in this order:

1) Connect over normal data connection directly to MMSC.
2) Connect over MMS radio connection to MMSC.
3) Connect over MMS radio connection with any configured proxy to MMSC.

Hopefully this doesn't fuck up shit on other unknown networks.
2013-02-20 18:10:33 -08:00
Moxie Marlinspike
1ff4fd842c Pass on incoming messages until DB is imported. 2013-02-17 15:09:01 -08:00
Moxie Marlinspike
5eb04328d3 Improve passphrase and onboarding UI. Abstract out routing.
1) Update the create, prompt, and change passphrase activities.
   They are no longer dialog themed, and should look a little
   less ugly.

2) Update the import DB activity to be less ugly and more robust.

3) Abstract all of the state handling stuff out of
   ConversationListActivity.  This is now handled by RoutingActivity,
   which all launch intents move through.
2013-02-17 15:09:01 -08:00
Moxie Marlinspike
0a7181670c Radio updates happen frequently on some phones, switch to dynamic. 2013-02-14 20:42:29 -08:00
Moxie Marlinspike
d0d85ea52c Fix for duplicate message bug. 2013-02-14 19:15:40 -08:00
Moxie Marlinspike
c2dcf7ae74 Refactor MasterSecret initialization, access, and timeout paths.
1) Consolidate all of the KeyCachingService interaction into a single
   mixin. Activities extend delegates which call through to the mixin.

2) Switch Activity increment/decrement triggers from onStop to onPause
   in order to account for some screen locks that don't stop activities.
2013-02-10 17:30:51 -08:00
Moxie Marlinspike
471ef16a5b Support for robust delivery.
1) If a message fails to be delivered, post a notification in the
   status bar if that thread is not active and visible.

2) If a message fails to be delivered because there is no service,
   keep retrying every time service becomes available again.
2013-02-09 15:17:55 -08:00
Moxie Marlinspike
0a8c62e0e3 Include incoming message body in notifications.
1) Refactor the master secret reset logic to properly interact with
   services.

2) Add support for "BigText" and "Inbox" style notifications.

3) Decrypt message bodies when unlocked, display 'encrypted' when
   locked.
2013-02-08 16:27:43 -08:00
Moxie Marlinspike
209711ae40 Fix notification behavior.
1) Don't add a notification item to the notification bar if the thread the
   message is for is active and visible.

2) Only sound the notification ringtone at 1/4th volume if the thread the
   message is for is active and visible.

3) Auto-clear the notification in the notification bar when a thread becomes
   visible from a screen-off situation.

4) Make notification updates asynchronous.
2013-02-03 18:41:34 -08:00
Moxie Marlinspike
5cb02445e8 Add support for "delivery notifications." Currently SMS-only. 2013-01-06 21:38:36 -08:00
Moxie Marlinspike
b805c4db4e Fix for NPE on empty MMS PDU 2013-01-01 12:54:12 -08:00
Moxie Marlinspike
9939830551 Refactor recipient access.
1) Refactor recipient class to support asynchronous loading operations.

2) Refactor recipient factory to simplify recipient access.

3) Consoliate everything into one recipient provider that is capable of
doing async lookups and intelligent caching.
2012-12-24 08:40:37 -08:00
Tor Houghton
4ced1a0f18 Changes default behaviour for CLASS 0 messages
"Flash" messages are no longer handled by TS.

Sorry for the multiple pulls -- previous request had a cut+paste typo.
2012-11-24 14:29:31 +01:00
Moxie Marlinspike
3a9908b40d formatting 2012-10-29 17:34:14 -07:00
Moxie Marlinspike
cf9dc51f31 Initial fixes for MMS retrieval.
1) Parse the APN information based on what the ConnectionManager
tells us.

2) Accept email addresses as a valid Recipient format.
2012-09-30 11:46:45 -07:00
Tor Houghton
46fb1b1db9 Fix for Sparebank1 OTP application
Now in its own branch. Dear $deity, hope this is correct.
2012-09-22 22:17:57 +02:00
Moxie Marlinspike
bb0ec65744 Include source origin in string key name.
This should help eliminate string duplicates, as well as provide
visibility into where strings in a resource file are being used.
2012-09-19 19:56:04 -07:00
Moxie Marlinspike
1881753a71 Take advantage of new ICS+ notification styles. 2012-09-12 21:08:13 -07:00
Moxie Marlinspike
095b73a079 Updated new message notification icon style for all versions of Android. 2012-09-12 20:48:04 -07:00
Moxie Marlinspike
7a7dba66ad Update passphrase caching notification strategy.
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.
2012-09-09 09:18:17 -07:00
Moxie Marlinspike
4c3b7cbe08 Extract TextSecure strings for i18n.
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
2012-09-07 21:19:37 -07:00
Moxie Marlinspike
8520cb558a Sanity check for system service restarts. 2012-08-05 12:41:31 -07:00
Moxie Marlinspike
cffedb09a1 Do migration in backgrounded service. 2012-08-02 20:23:41 -07:00
Moxie Marlinspike
d991d65225 Fix key cache icon colors on GB. 2012-07-31 14:27:27 -07:00
Moxie Marlinspike
0f1fda23a5 Update notification icons. 2012-07-31 13:17:06 -07:00
Moxie Marlinspike
3d9475676f Move to a Fragment world.
1) Start breaking the UI out into Fragments.
2) Switch to Cursor loaders from managed cursors.
3) Switch to inflated menu resources.
4) Break out some basic functionality into helper classes.
2012-07-18 15:35:13 -07:00
Moxie Marlinspike
a627a77077 Remove deprecated <2.2 caching functionality that breaks modern devices. 2012-07-16 19:49:37 -07:00
Moxie Marlinspike
8a6a1a5f03 Compare against existing Build.VERSION_CODES.
The 1.X Android versions don't have the 2.X VERSION_CODE
symbols, so comparing against them in order to make 1.6
choices will throw runtime exceptions.
2011-12-21 01:35:33 -05:00
Moxie Marlinspike
bbea3fe1b1 Initial Project Import 2011-12-20 10:20:44 -08:00