Commit Graph

184 Commits

Author SHA1 Message Date
Mikunj
55ea9869a8 Hook up http cache to LokiDotNetAPI. 2019-11-15 09:33:30 +11:00
Mikunj
d1289ec7bd Refactoring. 2019-11-14 12:00:46 +11:00
Mikunj
4072f506b5 Oops. 2019-10-30 15:53:23 +11:00
Mikunj
359363184a More cleanup. 2019-10-30 10:13:19 +11:00
Mikunj
efad14fcdc Message syncing. 2019-10-25 14:08:30 +11:00
Mikunj
94a9303d7a Fix multi-device ui 2019-10-24 13:35:14 +11:00
Mikunj
1c1685ae9d Fix multidevice.
Fix authorisation grant not being sent.
2019-10-24 10:30:53 +11:00
Niels Andriesse
cbad885586 Add missing display name update & message fetch 2019-10-15 16:06:38 +11:00
Niels Andriesse
65f95839d9 Fix build 2019-10-15 13:51:18 +11:00
Niels Andriesse
a8c4fa22a3 Partially fix build 2019-10-15 13:39:17 +11:00
Mikunj
4657b79179 UI improvements. 2019-10-11 15:38:15 +11:00
Mikunj
13d42f542c Added public chat manager.
Replace hard coded public chat server with dynamic one.
2019-10-11 09:36:52 +11:00
Niels Andriesse
c8a90ced19 Add missing event 2019-10-07 16:22:13 +11:00
Niels Andriesse
742d9bfa46 Partially implement feedback 2019-10-07 16:15:06 +11:00
Niels Andriesse
19ec4db687 Update for core changes 2019-10-07 15:30:20 +11:00
Mikunj
72059328b3 Show toast if message sending failed.
Added resetting
2019-10-02 13:15:25 +10:00
Mikunj
dde4ee6e36 Merge branch 'dev' into multi-device-integration 2019-09-30 12:21:04 +10:00
Mikunj
0b49d7ae0d Fix crashing during start. 2019-09-25 15:08:01 +10:00
Mikunj Varsani
d51c62ecaf Moved LokiMultiDeviceDatabase into LokiAPIDatabase. 2019-09-24 13:33:42 +10:00
Mikunj
901d627d32 Linked storage api and database. 2019-09-23 11:28:17 +10:00
Niels Andriesse
c1c374407f Improve performance 2019-09-19 15:00:52 +10:00
Niels Andriesse
8a16fd2a97 Only record crashes in release mode 2019-09-18 13:56:50 +10:00
Niels Andriesse
88dbeddb04 Set LokiGroupChatAPI.isDebugMode as needed 2019-09-18 11:38:08 +10:00
Niels Andriesse
52b55652c8 Clean 2019-09-12 09:59:15 +10:00
Mikunj
aa560b60a9 Stop pollers once leaving group chats. 2019-09-11 09:29:29 +10:00
Niels Andriesse
83742a0fc2 Set up Crashlytics 2019-09-06 14:00:36 +10:00
Niels Andriesse
e346a45d99 Set up Mixpanel 2019-09-04 16:44:19 +10:00
Niels Andriesse
85373e7643 Implement RSS feeds 2019-08-28 14:19:08 +10:00
Niels Andriesse
f6c1a3ef9c Update for core changes 2019-08-28 12:09:05 +10:00
Niels Andriesse
88403024eb Clean 2019-08-21 14:53:14 +10:00
Niels Andriesse
a3cb8eb969 Re-enable group chats 2019-08-19 10:37:17 +10:00
Niels Andriesse
21fc47d7bf Prepare for release 2019-08-09 14:00:54 +10:00
Niels Andriesse
eb9537f1c1 Make group chats a bit more future proof 2019-08-09 12:00:01 +10:00
Niels Andriesse
1822e87f7c Merge Signal 4.41.0 2019-08-07 16:48:54 +10:00
Niels Andriesse
9e4b70058c Actively poll public chat group if the app is in the foreground 2019-08-06 16:18:24 +10:00
Niels Andriesse
93b7472e25 WIP 2019-08-05 16:32:05 +10:00
Niels Andriesse
787b74ad1f Set up public chat as needed 2019-08-05 13:26:30 +10:00
Niels Andriesse
0ef0140b0d Update package 2019-07-24 12:30:23 +10:00
Niels Andriesse
1d2e8072a0 Fix build 2019-07-22 11:27:24 +10:00
Niels Andriesse
d6cf9b573e Use Signal's job framework for background polling 2019-07-22 11:22:42 +10:00
Niels Andriesse
daa1248e6c Debug session handling 2019-07-02 11:47:28 +10:00
Niels Andriesse
ca370211f8 Resolve TODO 2019-06-28 16:08:27 +10:00
Niels Andriesse
e7f7c3cdb2 Hook up message receiver 2019-06-25 13:51:24 +10:00
Niels Andriesse
26ba7fb387 Update for core changes 2019-06-19 14:47:42 +10:00
Niels Andriesse
ab68ae2e58 Group Loki logic together in ApplicationContext 2019-06-18 13:23:58 +10:00
Mikunj
6928bfa2ae Added long polling 2019-06-18 12:49:21 +10:00
Niels Andriesse
c8cc22e8fe WIP 2019-06-07 15:21:25 +10:00
Greyson Parrelli
2a644437fb Add sticker support.
No sticker packs are available for use yet, but we now have the
latent ability to send and receive.
2019-05-30 01:08:01 -04:00
Greyson Parrelli
7b4299d5da Bring back conscrypt, improve provider initialization ordering. 2019-05-02 14:32:48 -07:00
Greyson Parrelli
ecea6abeb6 Temporary revert (again) to fix an avatar retrieval issue.
This reverts commit 77524ae1f2.
2019-05-01 08:25:14 -07:00
Greyson Parrelli
77524ae1f2 Revert "Temporary revert to fix an avatar retrieval issue."
This reverts commit 267bc32e23.
2019-04-30 12:51:58 -07:00
Francois Blackburn
d2ece1c1f2 Add MI 5 to hardware AEC blacklist 2019-04-30 12:51:57 -07:00
Arnt Gulbrandsen
8bdc257963 Avoid hardware echo cancellation for Fairphone FP2
The issue has as been confirmed by me with the stock ROM as of November
2018, and other users have complained for almost 18 months, see
https://forum.fairphone.com/t/fnord/28849 and
https://bugtracker.fairphone.com/project/fairphone-fairphone-os-android-6/issue/77
2019-04-30 12:51:57 -07:00
Greyson Parrelli
4a3c173adb Migrated to new JobManager. 2019-04-15 10:56:26 -04:00
Greyson Parrelli
11a2ed0743 Increase reliability of locally logging crashes.
Exception logging tends to be race-y, so now we block and wait
for all logs to be written before continuing with the crash.
2019-04-10 12:53:55 -04:00
Greyson Parrelli
267bc32e23 Temporary revert to fix an avatar retrieval issue.
This reverts commit 8aa185070b.
2019-04-03 16:32:52 -04:00
Alan Evans
a7aa980e58 New dynamic locale system.
- Fixes #7619
2019-03-26 17:08:05 -03:00
Moxie Marlinspike
8aa185070b Update libsignalservice to 2.13.0
- Eliminate the explicit spongycastle dependency. All access to
  primitives is done through the JCE interfaces now, which allows
  us to use a secure native-backed provider like conscrypt.

- Use conscrypt for our default security provider. This gives us
  fast TLS 1.2 and 1.3 support on all devices, even before they
  had platform support (like 4.4).

- Update minSdk to 18. Unfortunately the JCE interfaces for GCM
  primitives are JDK 7+ (!) only, which became supported by Android
  at 18.
2019-03-21 11:19:06 -07:00
Greyson Parrelli
a122bb4899 Created new BlobProvider.
One unified place to create blobs for different lifespans.
2019-03-10 15:18:39 -07:00
Greyson Parrelli
1c23603c25 Add the Redmi Note 5 to the hardware AEC blacklist. 2019-02-14 20:19:07 -08:00
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