Moxie Marlinspike
fbd3f3db3f
Update webrtc to M68
2018-07-24 17:06:43 -07:00
Greyson Parrelli
62c42a3513
Fix disappearing message corner case.
...
We never properly registered the ExpirationListener, meaning we were
relying on the wait-notify loop of ExpirationManager to delete things.
This normally works, but fails when your phone goes to sleep. So I
properly registered the receiver, and then added a failsafe to re-run
the ExpirationManager if we're about to render an expired message.
Fixes #7906
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
Greyson Parrelli
61b2da9c8a
Fix NPE during busy call.
2018-06-21 18:47:14 -07:00
Greyson Parrelli
ca8fecea9c
Clean up camera flipping, handle having missing cameras.
...
Did a refactor to better organize the camera flipping code. Also, I
wanted to make sure we handle the cases where the user doesn't have two
cameras (or no cameras, for that matter). In these cases, we just don't
show the appropriate buttons.
2018-05-21 15:45:22 -04:00
Niklas Hambüchen
f1c79eaebf
Add button to flip camera (front vs rear). Fixes #6279
2018-05-21 15:45:22 -04:00
Moxie Marlinspike
5006b36e2d
Show lock notification immediately after setting is toggled
...
Fixes #7659
Closes #7678
2018-05-21 15:45:22 -04:00
Henning Dodenhof
e0603abdd3
Use FileProvider for update file handling
...
Fixes #7654
Closes #7658
2018-04-19 13:30:21 -07:00
Moxie Marlinspike
8bec5a96f5
Make delivery receipts work correctly on CDMA networks
...
Fixes #7646
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
261296e41b
Don't crash direct share service if avatar photo is missing
...
Fixes #7541
2018-03-19 13:17:57 -07:00
Sam Lanning
69f180a5ec
Fix some potential integer overflows for expiration time
...
In a number of locations in the code, there were conversions of message
expiration times from seconds to milliseconds, and then assigned to `long`
contexts. However these conversions were being done as integer multiplication
rather than long multiplication, meaning that there was a potential for
overflows.
Specifically, the maximum value that could be represented before overflowing
was (2^31 / 1000 / 60 / 60 / 24) days = 24.8 days (< 1 month). Luckily the
current allowed timeouts are all less than that value, but this fix would
remove the artificial restriction, effectively allowing values of 1000x greater
(68 years), at least for android.
Related #5775
Closes #7338
2018-03-07 09:55:24 -08:00
Moxie Marlinspike
d28dc670ea
Migrate to Android fingerprints and auth for Signal screen lock
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
24e573e537
Support for full backup/restore to sdcard
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
71c7ef5b5e
Support for custom call ringtone selection and per-chat ringtones
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
3633d805c8
More MasterSecret cleanup
2018-02-01 19:22:48 -08:00
Moxie Marlinspike
e6a069af6d
Remove unnecessary body model
2018-02-01 18:29:09 -08:00
Moxie Marlinspike
23aee53c7d
Add determinte progress and foreground service for sqlcipher migration
2018-02-01 16:01:24 -08:00
Moxie Marlinspike
f36b296e2e
Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore
2018-01-30 17:27:05 -08:00
Moxie Marlinspike
a798f97aa3
Update to webrtc M64
2017-12-21 16:37:07 -08:00
Moxie Marlinspike
6dcec7c2c5
Fix service calls that won't foreground
2017-12-20 11:27:57 -08:00
Moxie Marlinspike
9c77ffc2a4
The webrtc busy state could be idle, but system dialer connected
2017-12-19 10:57:34 -08:00
Moxie Marlinspike
4de14a5dc1
Only use startForegroundService for initial service construction
2017-12-15 09:45:00 -08:00
Moxie Marlinspike
acfc9d75e0
Use startForegroundService instead of startService on Android 8
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
c8104a91a4
Remove dead code
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
64c8b4b2ef
Support for selective permissions
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
f855e161d9
Ensure notifications for new users won't be generated first fetch
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
b80408bcb4
Use Glide for all contact photo caching
...
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
17dd681dc8
Run all AsyncTasks on thread pool executor
...
Should Fix #7002
2017-10-23 13:03:32 -07:00
Moxie Marlinspike
5a607918d2
Name message retrieval service thread
...
// FREEBIE
2017-10-08 11:34:24 -07:00
Moxie Marlinspike
cb9bc9659b
Support for read receipts
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
f3d943270c
Be more conservative with handlers and references
...
Expiring message timers could end up leaking references and
executing work even after their conversation item was no longer
visible
Maybe fixes #6898
// FREEBIE
2017-09-09 23:46:48 -07:00
Moxie Marlinspike
f17af19d09
Access all RecipientDatabase settings directly from Recipient
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
d1790dfe17
Rename RecipientPreferences -> RecipientSettings
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
8e6ca53023
Rename RecipientPreferencesDatabase -> RecipientDatabase
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
6924f0519e
No need for a RecipientFactory any longer
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
375207f073
Switch MMS groups to use the group database infrastructure
...
Eliminate the concept of 'Recipients' (plural). There is now just
a 'Recipient', which contains an Address that is either an individual
or a group ID.
MMS groups now exist as part of the group database, just like push
groups.
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
7f46e99f9c
Use SIM country code when registered number is unavailable
...
Convert directory operations to Addresses
Fixes #6845
// FREEBIE
2017-08-02 12:51:46 -07:00
Moxie Marlinspike
737810475e
Remove the Canonical Address Database
...
This was a holdover from Signal's origins as a pure SMS app.
It causes problems, depends on undefined device specific behavior,
and should no longer be necessary now that we have all the
information we need to E164 all numbers.
// FREEBIE
2017-07-31 12:02:29 -07:00
Moxie Marlinspike
9dd508b6f5
Track pending incoming ice updates in addition to outgoing
...
// FREEBIE
2017-07-12 11:15:28 -07:00
Moxie Marlinspike
34443b059c
Revert "We can now send trickle ice candidates immediately"
...
Need to hold off on this for some iOS changes.
This reverts commit 338f8de787
.
2017-07-12 10:59:10 -07:00
Moxie Marlinspike
338f8de787
We can now send trickle ice candidates immediately
...
// FREEBIE
2017-07-05 14:06:31 -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
39b95ca4ed
Do more to keep MessageRetrievalService alive
...
Closes #6456
2017-07-03 11:36:31 -07:00
Moxie Marlinspike
f92d768be5
Correctly handle ice candidate for stale call
...
Fixes #6373
Fixes #6305
// FREEBIE
2017-06-13 09:21:42 -07:00
Moxie Marlinspike
76c28cfa7a
Add support for SN verification
...
// FREEBIE
2017-06-09 19:58:01 -07:00
Moxie Marlinspike
5672701a60
Add uncaught exception handler to message retrieval thread
...
Related #6644
// FREEBIE
2017-06-02 09:49:44 -07:00
Moxie Marlinspike
b50a3fa2b8
Actually handle busy signal correctly
...
// FREEBIE
2017-06-01 13:11:48 -07:00
Paride Legovini
99d229bb45
Don't connect to server if !isPushRegistered
...
Partial fix for #6620 .
Closes #6627
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
d507756821
Some identity key handling changes
...
1) Prefetch identity keys when possible
2) Always accept prefetched keys or keys from incoming messages
3) Block sending only if it's a recent change, or if always
block is enabled
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
cb670d6783
Improve UI send latency
...
// FREEBIE
2017-04-26 10:27:30 -07:00
Moxie Marlinspike
c69efbffd2
Don't enable speakerphone when video enabled if headset on
...
Fixes #6431
// FREEBIE
2017-03-24 11:11:48 -07:00
Moxie Marlinspike
94964474b2
So long redphone
...
// FREEBIE
2017-03-14 13:24:24 -07:00
Moxie Marlinspike
2f46c6ca1f
Don't redisplay notifications after they have been dismissed
...
Fixes #5751
Fixes #6218
// FREEBIE
2017-03-14 10:09:24 -07:00
Christian Ascheberg
97c3e8fa3f
Inform about timed out incoming calls
...
Closes #6344
// FREEBIE
2017-03-12 10:43:55 -07:00
Moxie Marlinspike
bdcfabf1ee
Silence incoming ringer when power button is pressed
...
// FREEBIE
2017-03-05 10:36:01 -08:00
Moxie Marlinspike
cd28cd172f
Refactor webrtc audio management
...
Attempts to:
1) Successfully play ringtone through speaker instead of earpiece
when possible.
2) Manage bluetooth headset connectivity as well as possible
3) Eliminate notification sounds while in-call when possible
4) Make sure audio is correctly setup when receiving calls
Fixes #6271
Fixes #6248
Fixes #6238
Fixes #6184
Fixes #6169
// FREEBIE
2017-03-05 10:35:55 -08:00
Moxie Marlinspike
3904c76261
Some additional debug logging
...
Related #6305
// FREEBIE
2017-02-28 17:06:05 -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
a37d2f568c
Update webrtc to M57
...
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
e92b51ed98
Run webrtc calls as foreground service
...
Should hopefully stop performance degredation when in background
Fixes #6249
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
1669731329
Support for using Signal without Play Services
...
This is now possible with beta calling, so non-GCM users are a
part of beta calling by default.
// FREEBIE
2017-02-20 12:00:03 -08:00
Moxie Marlinspike
eddb97013a
Disable proximity lock when local video is enabled
...
Fixes #6179
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
1b1470aae2
Upgrade to EventBus 3.X
...
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
d2eebbc55a
Little bit of extra SmsListener logging
...
Related #5253
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
f541e33356
Publish TURN-only ICE candidates in some situations
...
1) Incoming call is from a number not in user's address book
2) Turn-only preference is enabled for all incoming/outgoing calls
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
fb8440f886
Correctly manage busy state for (webrtc, redphone, pstn) tuple
...
Fixes #6156
// FREEBIE
2017-02-05 12:38:08 -08:00
Moxie Marlinspike
7d644ae9c6
Run local hangup events through view model
...
Fixes #6143
// FREEBIE
2017-02-02 18:53:45 -08:00
Moxie Marlinspike
9a93a8b28d
Better support for building webrtc call view off of model
...
Fixes #6144
// FREEBIE
2017-02-02 18:46:34 -08:00
Moxie Marlinspike
8dc6f2b15b
Mark egl resources as freed in webrtc terminate
...
Fixes #6138
// FREEBIE
2017-02-01 22:55:19 -08:00
Moxie Marlinspike
ea0945d406
Beta support for webrtc video and voice calling
...
// FREEBIE
2017-02-01 13:55:52 -08:00
Moxie Marlinspike
7b928476a2
Make sure recipients are fully resolved, limit size of results
...
// FREEBIE
2017-01-12 09:52:24 -08:00
Moxie Marlinspike
a125fcb8fa
Support for direct share targets
...
Fixes #4333
// FREEBIE
2017-01-11 19:54:58 -08:00
Moxie Marlinspike
ec5ac44cd3
Update okhttp and support for transmitting messages over websocket
...
// FREEBIE
2017-01-10 13:59:32 -08:00
Moxie Marlinspike
bb5dcb7131
Start increasing frequency of signed prekey rotation
...
// FREEBIE
2017-01-06 09:19:58 -08:00
Moxie Marlinspike
541718fd11
Support for censorship circumvention in Egypt and UAE
...
// FREEBIE
2016-12-20 09:55:52 -08:00
Moxie Marlinspike
6308e6491a
A slight foray into the modern era
...
// FREEBIE
2016-12-12 17:38:05 -08:00
Niklas Wenzel
0d493a3af9
Get the automated tests up and running again
...
* Fix the build.gradle file
* Use the correct VisibleForTesting class
* Fix the Android test setUp() logic
* Enable a test in DeliveryReceiptJobTest.java where the @Test anotation was missing
It should be noted that the tests in AttachmentDatabaseTest.java fail.
Fixes #3474
Closes #5882
2016-11-24 08:13:46 -08:00
Hans-Christoph Steiner
9a671783c9
respond to generic panic trigger Intent by locking
...
PanicKit provides a common framework for creating "panic button"
apps that can trigger actions in "panic responder" apps. In this
case, the response is to lock the app, if it has been configured
to do so.
As previously discussed in #5341
Closes #5550
//FREEBIE
2016-08-31 19:26:05 -07:00
Moxie Marlinspike
d7e4928f22
Support for disappearing messages
...
// FREEBIE
2016-08-28 17:03:23 -07:00
haffenloher
3c99d66ccd
Accept verification SMSes with missing colons
...
Apparently some Argentinian mobile providers strip the colons from
Signal's verification SMS messages.
Fixes #5363
Fixes #3490
Closes #5371
// FREEBIE
2016-03-24 14:28:48 -07:00
Moxie Marlinspike
7b589c4300
TextSecure is now SignalService
...
// FREEBIE
2016-03-24 14:05:56 -07:00
Christian Ascheberg
ec922704f4
prepare to use Signal in verification SMS text
...
Closes #5352
// FREEBIE
2016-03-17 12:21:25 -07:00
Pascal Hartig
f0b832e287
Change lock icons
...
Closes #5325
// FREEBIE
2016-03-13 15:46:41 -07:00
haffenloher
bd1dc37bab
Clarify "SMS import complete" notification text
...
Fixes #5262
Closes #5274
// FREEBIE
2016-03-09 13:47:17 -08:00
haffenloher
25d7931358
Make system database import notification translatable
...
Also replace "TextSecure" with "Signal" in the notification text.
Closes #5256
// FREEBIE
2016-02-18 17:52:41 -08:00
Moxie Marlinspike
6da86e482d
Support for dual-sim SMS/MMS functionality
...
Allow source selection for sending SMS/MMS, and display the
SIM that received SMS/MMS.
Fixes #555
Closes #5199
// FREEBIE
2016-02-09 16:53:15 -08:00
Jake McGinty
cd085faecd
move instrumentation test to unit tests
...
Closes #4593
// FREEBIE
2015-11-19 11:06:34 -08:00
Moxie Marlinspike
8d4f3803df
Switch SMS listener to using dotall
...
// FREEBIE
2015-11-05 11:44:03 -08:00
rafael81
750e25388f
Update regular expression pattern for sms verification
...
Closes #4375
2015-11-05 09:52:03 -08:00
Moxie Marlinspike
8d82033855
Notify when contacts join Signal
...
Closes #4314
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
09e52834a6
Refactor "parts" to contain MMS/PDU madness to MMS code paths.
...
Closes #4248
// FREEBIE
2015-10-15 11:11:39 -07:00
Moxie Marlinspike
4044da849e
Replace all strings containing 'TextSecure' with 'Signal'
...
// FREEBIE
2015-09-30 14:30:10 -07:00
Moxie Marlinspike
7377e6c7da
Support for syncing and checking secure voice support.
...
// FREEBIE
2015-09-30 14:30:10 -07:00
Moxie Marlinspike
d83a3d71bc
Support for Signal calls.
...
Merge in RedPhone
// FREEBIE
2015-09-30 14:30:09 -07:00
Moxie Marlinspike
92593d459b
Remove the final vestiges of encrypted SMS
...
Fixes #4026
// FREEBIE
2015-09-24 14:12:09 -07:00
Sam Lanning
99adbe5784
Made some inner classes static (For Efficiency)
...
(and made one explicitly private)
Closes #3932
// FREEBIE
2015-09-02 12:46:56 -07:00
zipperle
ff4929fcce
URL decode numbers in quick response.
...
Fixes #3518
Closes #3522
2015-07-16 11:15:56 -07:00
Moxie Marlinspike
d1940fe0f9
Support for populating contacts DB with TS account type.
...
// FREEBIE
2015-07-16 11:15:56 -07:00
Moxie Marlinspike
8d9ae731ef
Only use MasterSecret for local message encryption.
...
Not for the axolotl store.
// FREEBIE
2015-07-16 11:15:56 -07:00
Moxie Marlinspike
dc60c011a6
Support "quick response" when TextSecure is unlocked.
...
Fixes #299
Closes #3456
// FREEBIE
2015-06-24 18:30:55 -07:00