Commit Graph

174 Commits

Author SHA1 Message Date
Greyson Parrelli c5114e2cb3 Updated to WebRTC M71. 2019-01-30 16:10:47 -08:00
Greyson Parrelli d482c60a98 Switch from GCM to FCM. 2019-01-30 16:10:47 -08:00
Greyson Parrelli c76081d99c Added support for link previews. 2019-01-30 16:10:43 -08:00
Greyson Parrelli 7c66c4a4f7 Updated logging. 2019-01-12 13:32:24 -08:00
Greyson Parrelli 776b0e23ae Add support for typing indicators. 2018-11-21 01:55:25 -08:00
Greyson Parrelli 2acab563d9 Support for sealed sender - Part 2 2018-10-30 08:48:08 -07:00
Moxie Marlinspike 5f31762220 Support for sealed sender - Part 1 2018-10-30 08:48:08 -07:00
Greyson Parrelli ae9c53bdf8 Ensure jobs have a Context during onAdded().
Fixes a crash.
2018-10-20 22:52:14 -07:00
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.
2018-10-17 13:58:47 -07:00
Greyson Parrelli 0d48f10806 Fix issue where a Job had null JobParameters. 2018-10-10 09:00:14 -07:00
Greyson Parrelli 1b736e9e04 Ensure notifications are processed after receiving GCM message.
It's unreliable to run these tasks on WorkManager, as there's no
scheduling guarantees.
2018-10-08 10:00:15 -07:00
Greyson Parrelli 07d7af6e75 Initialize WorkManager ourself.
This gives us more control over when it happens, as well as lets us set
things like the debug level. Also let's us get rid of the synchronized
block we had in Application#onCreate().
2018-10-04 09:09:04 -07:00
Greyson Parrelli 87e6aa48bb Schedule jobs with WorkManager.
Should help solve most of our pressing targetSdk=26 migration issues.
2018-10-01 12:12:50 -07:00
Greyson Parrelli dbd42c4af2 Add notification channel support.
Bucket our notifications into channels. Required to target API 26.
2018-08-13 18:38:53 -04:00
Greyson Parrelli a498176043 Switch logs to use new Log class. 2018-08-06 10:50:06 -04:00
Greyson Parrelli acb40c6133 Added new logger.
Added a new logger that persists logs for a longer duration to the
user's cache directory. Logs are encrypted. The new logs are sent
in addition to the user's logcat output.
2018-08-06 10:50:06 -04:00
floesche df9833472f Add z5 compact (E5823) to AEC blacklist
Following fixes for other models to reduce echo on callee side during Signal call. 

The problem has been reported for this model for example in #6241
2018-07-18 08:53:27 -07:00
Greyson Parrelli bf692e8da3 Throttle background contact syncs to once every 6 hours.
Unfortunately, there's apps out there that trigger contact changes
very frequently. Because we listen to the system for contact
changes to tell us when to sync, that could result in us sending
an abundance of contact syncs to linked desktop instances.

This throttles contact sync requests using the following methodology:

- By default, throttle contact syncs to 6 hrs while the app is
  backgrounded.
- If a sync is throttled in the background, we set a dirty flag and
  will execute the sync the next time the app is foregrounded.
- Syncs explicitly requested by desktop are never throttled.
2018-07-17 12:06:50 -07:00
b0m0x 2290549349 add Mi A1 to hardware AEC blacklist
See #7635
2018-07-02 17:45:55 -07:00
2-4601 f1d8fd8838 Add devices to hardware AEC blacklist
- Moto G4
- Nokia 5 (TA-1053)

Alleviates #7635
2018-06-22 10:59:53 -07:00
Greyson Parrelli 42f1baaf61 Imported JobManager as a source dependency.
We have to make some changes, and it's gotten to the point where
maintaining it as a separate library is more hassle than it's worth,
especially with Google releasing WorkManager as the preferred job
scheduling library.
2018-06-22 10:59:53 -07:00
Moxie Marlinspike 2a1ce859c4 Add Moto G (5S) Plus to hardware AEC blacklist
For #7635
2018-04-19 10:58:39 -07:00
Moxie Marlinspike 24e573e537 Support for full backup/restore to sdcard 2018-03-05 16:11:49 -08:00
Moxie Marlinspike 18aa202695 Really really delay SMS processing until sqlcipher migration completes
Blocking the SMS job on the screen lock isn't enough, since then
the job races against the migration.

Fixes #7390
2018-02-26 14:02:12 -08:00
Moxie Marlinspike 59092e2ec0 No need for an encrypted serializer any longer 2018-02-01 18:33:12 -08:00
Moxie Marlinspike a798f97aa3 Update to webrtc M64 2017-12-21 16:37:07 -08:00
Moxie Marlinspike 17dd681dc8 Run all AsyncTasks on thread pool executor
Should Fix #7002
2017-10-23 13:03:32 -07:00
Moxie Marlinspike e452862813 Catch unsatisfied link error on start if webrtc so isn't found
// FREEBIE
2017-07-21 16:29:03 -07:00
Moxie Marlinspike 72afb33c1b Add Moto G5 to hardware AEC blacklist
For #6241
// FREEBIE
2017-07-21 16:03:31 -07:00
Moxie Marlinspike 82b5b35d3b Eliminate MediaNetworkRequirement style attachment job handling
// FREEBIE
2017-07-21 15:59:27 -07:00
Moxie Marlinspike 2c4c0f1349 Archive sessions and generate new registration id on re-register
Fixes #6703
// FREEBIE
2017-07-05 13:13:53 -07:00
Moxie Marlinspike 1c8077a7fe Switch from a hardware AEC whitelist back to a blacklist
Disabling OpenSL ES seems to make the hardware AEC "work" on
devices where it was previously causing problems.

Using the WebRTC-based software AEC *without* OpenSL ES seems to
be causing new problems.

Fixes #6737
Related #6432
Related #6241
// FREEBIE
2017-06-19 09:22:07 -07:00
Moxie Marlinspike 3fd5e58bd5 Disable OpenSL ES by default
Fixes #6432
// FREEBIE
2017-05-09 11:03:32 -07:00
Moxie Marlinspike 2e8250f25e Add LG G3 to OpenSLES blacklist
// FREEBIE
2017-04-27 11:38:49 -07:00
Moxie Marlinspike 4d889a45e2 Blacklist Nexus 5 from OpenSL ES
Fixes #6432
// FREEBIE
2017-04-26 10:26:32 -07:00
Moxie Marlinspike 51f27631ef Switch from hardware AEC blacklist to whitelist
Related #6241
// FREEBIE
2017-04-12 15:12:13 -07:00
Simon b0b1cdef35 Add Redmi Note 4 to HARDWARE_AEC_BLACKLIST
See #6241
Closes #6516
// FRЕЕBIЕ
2017-04-10 14:31:45 -07:00
Moxie Marlinspike 6b7174bb35 Add OnePlus One to AEC blacklist
// FREEBIE
2017-04-10 09:29:46 -07:00
Paride Legovini c97fa0d3d1 Blacklist OnePlus X from hardware AEC
Closes #6465
// FREEBIE
2017-03-31 16:54:22 -07:00
Moxie Marlinspike 01d66087aa Blacklist Nexus 6 from hardware AEC
Remove all blacklisting from library

// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike e0e932df02 Add Samsung Galaxy S7 and Sony Xperia SP to AEC blacklist
Related #6241
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike 3ca653627d Add LG G3 to hardware AEC blacklist
Helps #6241
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike f4acaad407 Add Pixel, S5, Redmi Note 3, and Xiaomi Mi4 to AEC blacklist
Make these application-level changes

Helps #6241
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike 0d11b3dd26 Lets limit GCM refresh to every 6hrs, and only retry once
// FREEBIE
2017-03-17 10:40:34 -07:00
Moxie Marlinspike 94964474b2 So long redphone
// FREEBIE
2017-03-14 13:24:24 -07:00
Moxie Marlinspike 1e02d70052 Make webrtc calling default
// FREEBIE
2017-03-06 12:10:26 -08:00
Moxie Marlinspike b110c8a2cb Reregister GCM on every app start
Fixes #5531
// FREEBIE
2017-03-06 11:50:51 -08:00
Moxie Marlinspike 9b8719e2d5 Support for website distribution build with auto-updating APK
// FREEBIE
2017-02-27 23:53:36 -08:00
Moxie Marlinspike e25d31ceb6 Disable webrtc calling for Gingerbread users
Fixes #6220
// FREEBIE
2017-02-13 22:55:06 -08:00
Moxie Marlinspike ea0945d406 Beta support for webrtc video and voice calling
// FREEBIE
2017-02-01 13:55:52 -08:00
Moxie Marlinspike 94a29e375f Specify ConnectionSpecs for domain fronts
// FREEBIE
2017-01-11 15:37:51 -08:00
Moxie Marlinspike d599c058c6 No choice but to multiDex
// FREEBIE
2017-01-08 09:58:01 -08:00
Moxie Marlinspike bb5dcb7131 Start increasing frequency of signed prekey rotation
// FREEBIE
2017-01-06 09:19:58 -08:00
Moxie Marlinspike ae40715526 Support for expanded domain fronting strategies
// FREEBIE
2016-12-29 20:54:05 -08:00
Moxie Marlinspike 541718fd11 Support for censorship circumvention in Egypt and UAE
// FREEBIE
2016-12-20 09:55:52 -08:00
Moxie Marlinspike d7e4928f22 Support for disappearing messages
// FREEBIE
2016-08-28 17:03:23 -07:00
Moxie Marlinspike 7b589c4300 TextSecure is now SignalService
// FREEBIE
2016-03-24 14:05:56 -07:00
Moxie Marlinspike 8c8cd41359 Be more persistent about completing the spk job
// FREEBIE
2016-03-11 17:07:22 -08:00
Moxie Marlinspike 0b20e99cd2 Refresh attributes to signal voice support on update.
// FREEBIE
2015-09-30 18:24:40 -07:00
Jake McGinty 80ce83ef9d Media download controls
Closes #3991
// FREEBIE
2015-09-03 11:40:55 -07:00
Moxie Marlinspike b8039af905 Remove LeakCanary
Fixes #3473
// FREEBIE
2015-06-25 11:44:03 -07:00
Jake McGinty b4634f30e6 add dev buildType
Closes #3411
// FREEBIE
2015-06-24 18:30:55 -07:00
Moxie Marlinspike ed5b3f8679 Break out libtextsecure
// FREEBIE

Closes #2542
2015-03-02 08:25:19 -08:00
Moxie Marlinspike 00d7b5c284 Better UX handling on identity key mismatches.
1) Migrate from GSON to Jackson everywhere.

2) Add support for storing identity key conflicts on message rows.

3) Add limited support for surfacing identity key conflicts in UI.
2015-02-27 12:26:09 -08:00
Moxie Marlinspike aa26785c00 Reinclude SC provider for consistency.
// FREEBIE

Fixes #2461
2015-02-12 10:30:45 -08:00
Jake McGinty 810abe0275 material actionbar and fab
// FREEBIE
2015-01-21 19:01:23 -10:00
Moxie Marlinspike ea9a5decac Update gradle-witness and actually use spongycastle.
// FREEBIE
2014-11-20 16:46:35 -08:00
Moxie Marlinspike 35821d444e Move responsibility for Context injection out of JavaSerializer.
// FREEBIE
2014-11-16 17:23:33 -08:00
Moxie Marlinspike 5b08791086 Fix regression with providers being registered.
// FREEBIE
2014-11-14 15:44:49 -08:00
Moxie Marlinspike 0d06d50a65 Let's have JobManager only deal with checked exceptions.
Also, switch to Builder for JobManager construction.
2014-11-12 15:29:58 -08:00
Moxie Marlinspike 9a6f65988f Add support for dependency injection, and accompanying tests. 2014-11-12 15:29:58 -08:00
Moxie Marlinspike a3f1d9cdfd Beginning of libtextsecure refactor.
1) Break out appropriate components.

2) Switch the incoming pipeline from SendReceiveService to
   the JobManager.
2014-11-12 15:21:32 -08:00
Moxie Marlinspike b308996885 Switch to using our own JobManager.
// FREEBIE
2014-10-20 19:13:06 -07:00
Moxie Marlinspike 36ec1d84a1 Implement delivery receipts.
1) Support a "receipt" push message type.

2) Identify messages by timestamp.

3) Introduce a JobManager to handle the queue for network
   dependent jobs.
2014-10-20 19:02:42 -07:00