Commit Graph

42 Commits (45e0bb281faeb1fcd73b741a81aad08d5805baa0)

Author SHA1 Message Date
Greyson Parrelli 45e0bb281f Turn MessageRetrievalService into IncomingMessageObserver.
Due to an Android P bug, we basically need to stop calling
startService() in onResume()/onPause(). That means I had to turn
MessageRetrieval service into a singlton instead of a service. I also
moved the offending KeyCachingService calls into static methods that
didn't have to start the service.
7 years ago
Greyson Parrelli 5219d79e27 Remove unnecessary start of KeyCachingService. 7 years ago
Greyson Parrelli dbd42c4af2 Add notification channel support.
Bucket our notifications into channels. Required to target API 26.
7 years ago
Greyson Parrelli 43068e0613 Reduce usage of Log.w() 7 years ago
Greyson Parrelli a498176043 Switch logs to use new Log class. 7 years ago
Moxie Marlinspike 5006b36e2d Show lock notification immediately after setting is toggled
Fixes #7659
Closes #7678
7 years ago
Moxie Marlinspike d28dc670ea Migrate to Android fingerprints and auth for Signal screen lock 7 years ago
Moxie Marlinspike e6a069af6d Remove unnecessary body model 7 years ago
Moxie Marlinspike f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 7 years ago
Moxie Marlinspike acfc9d75e0 Use startForegroundService instead of startService on Android 8 8 years ago
Moxie Marlinspike 17dd681dc8 Run all AsyncTasks on thread pool executor
Should Fix #7002
8 years ago
Moxie Marlinspike 6308e6491a A slight foray into the modern era
// FREEBIE
8 years ago
Pascal Hartig f0b832e287 Change lock icons
Closes #5325
// FREEBIE
9 years ago
Moxie Marlinspike 4044da849e Replace all strings containing 'TextSecure' with 'Signal'
// FREEBIE
10 years ago
Moxie Marlinspike 8d9ae731ef Only use MasterSecret for local message encryption.
Not for the axolotl store.

// FREEBIE
10 years ago
Jake McGinty 0ff99258ac move routing logic to all activities
Fixes #2239
Closes #27923

// FREEBIE
10 years ago
Moxie Marlinspike 6b05f7905b Use betterpicker for HMS timeout.
// FREEBIE

Closes #1890
11 years ago
Moxie Marlinspike 4e98c350a5 Support localization in passphrase activity and lock notification.
// FREEBIE

Closes #1328
11 years ago
Moxie Marlinspike a3f1d9cdfd Beginning of libtextsecure refactor.
1) Break out appropriate components.

2) Switch the incoming pipeline from SendReceiveService to
   the JobManager.
11 years ago
Moxie Marlinspike b5fe378bc9 Workaround for Android bug when swiped from recent tasks list.
Closes #168

https://code.google.com/p/android/issues/detail?id=53313
11 years ago
Moxie Marlinspike 5a525a2e58 Switch KCS priority to MIN on JB+. Eliminates icon in status bar! 11 years ago
Moxie Marlinspike fde8d32848 Subtle rebase conflicts... 11 years ago
Moxie Marlinspike b8f663b69c Move common crypto classes into TextSecureLibrary.
1) Move all the crypto classes from securesms.crypto.

2) Move all the crypto storage from securesms.database.keys

3) Replace the old imported BC code with spongycastle.
11 years ago
Moxie Marlinspike d7070e7ecf Inserted the Registration activity into initial setup flow.
1) Added push messaging toggle to preferences.

2) Added push messaging registration screen to setup flow.

3) Migrated rest of SharedPreferences accessors to
   TextSecurePreferences.
11 years ago
Moxie Marlinspike 21eee19380 Split into library project and add shared preferences layer of indirection. 11 years ago
Veeti Paananen eb1b762a76 Improve password caching notification UI & UX
On Jelly Bean and above:

- Use the standard notification style for a better and consistent visual
  appearance

- Use the JB notification actions API for the locking action

- Use a lower notification priority to prioritize other notifications
  over TextSecure

On ICS:

- Use the existing custom notification layout

Everywhere:

- Allow opening the app itself from the notification

- Simplify strings: don't talk about a "cached passphrase" but about the
  app being "unlocked"/"locked"
12 years ago
Ruben Pollan 4826dbcc34 Upgrade notification KeyCachingService code to NotificationCompat.Builder 12 years ago
Moxie Marlinspike d97252d8d6 Add ability to disable local encryption passphrase. 12 years ago
Moxie Marlinspike be34f30719 Lower maximum size of cursor window on DB upgrade.
On some systems, the DB upgrade was failing because there were
too many rows for the cursor window.  This moves some looping
operations into single update statements by using the substr()
command, and chunks the rest using a series of LIMITs.
12 years ago
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.
12 years ago
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.
12 years ago
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.
12 years ago
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.
12 years ago
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.
13 years ago
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.
13 years ago
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
13 years ago
Moxie Marlinspike 8520cb558a Sanity check for system service restarts. 13 years ago
Moxie Marlinspike d991d65225 Fix key cache icon colors on GB. 13 years ago
Moxie Marlinspike 0f1fda23a5 Update notification icons. 13 years ago
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.
13 years ago
Moxie Marlinspike a627a77077 Remove deprecated <2.2 caching functionality that breaks modern devices. 13 years ago
Moxie Marlinspike bbea3fe1b1 Initial Project Import 14 years ago