Greyson Parrelli
e7c00a3066
Fix issue where we may oversend SMS messages.
...
Because SMS sending is split over two jobs, there's no max retry limit
respected if we find out about the failure in SmsSentJob -- it's
requeued as a new job with a fresh attempt counter.
This commit carries a retry count between the two jobs. It also verifies
that we have service before attempting to send a message at all.
Relates to #8268
2018-11-13 15:07:33 -08:00
Greyson Parrelli
446585ad68
Fix emoji variation selector on older devices.
...
Weird platform-specific bug was preventing the display of the
PopupWindow.
2018-11-13 11:19:29 -08:00
Greyson Parrelli
4ebca9ddde
Register RotateSenderCertificateListener in the manifest.
2018-11-13 10:35:02 -08:00
Greyson Parrelli
4c6655bd9a
Bump version to 4.30.3
2018-11-09 12:37:27 -08:00
Greyson Parrelli
cbc7288242
Updated language translations.
2018-11-09 12:37:27 -08:00
Greyson Parrelli
78627ecb08
Updated libsignal-service-java to 2.12.1
2018-11-09 12:37:24 -08:00
Greyson Parrelli
bf9582c97e
Only set UNRESTRICTED mode if recipients have a non-null verifier.
...
Otherwise we could send UD messages to people with non-UD linked
devices.
2018-11-06 09:58:45 -08:00
Greyson Parrelli
1ab3d57378
Fix some places where we were using the Android Logger.
...
We pretty much always want to be using our own logger.
2018-11-06 09:22:25 -08:00
Greyson Parrelli
b36d196873
Bump version to 4.30.2
2018-10-31 14:22:58 -07:00
Greyson Parrelli
e31029da89
Update recipient's sealed sender status in more places.
2018-10-31 11:18:35 -07:00
Yassine El Khadiri
787bcf7752
Fix backup MAC checking.
...
if(MessageDigest.isEqual(ourMac, theirMac) was always returning false
since ourMac was of length 32 and theirMac was of length 10.
2018-10-31 11:17:29 -07:00
Greyson Parrelli
8c3d50c6dc
Ignore messages without content.
2018-10-31 08:26:45 -07:00
Greyson Parrelli
532431b0ad
Guard against notifying for errors on non-existent SMS threads.
...
All of the other send jobs do this already, just didn't do it here.
2018-10-31 08:19:33 -07:00
Greyson Parrelli
cfeee25488
Use correct link for Sealed Sender blog post.
...
Fixes #8324
2018-10-30 14:12:34 -07:00
Moxie Marlinspike
608b7ef89a
Bump version to 4.30.1
2018-10-30 09:21:31 -07:00
Moxie Marlinspike
4063ef39a4
Update release config
2018-10-30 09:20:54 -07:00
Greyson Parrelli
eeb2e2e3af
Bump version to 4.30.0
2018-10-30 09:07:57 -07:00
Greyson Parrelli
2573900c30
Updated language translations.
2018-10-30 09:07:57 -07: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
b7b9554364
Prevent multiple instances of the same job running concurrently.
...
There are rare corner cases where a Job could be preempted by the
JobScheduler and then be rescheduled before the preempted job finished
running. This could create weird race conditions with bad consequences.
To fix this, we create a fun locking system that prevents two jobs with
the same UUID from running at the same time.
2018-10-30 08:48:07 -07:00
Greyson Parrelli
f15fb904bf
Fix desktop double notification bug.
...
There were situations where we were posting two notifications for messages
when you had an 'active desktop'. This removes that.
2018-10-30 08:48:07 -07:00
Greyson Parrelli
86e4221182
Use a unique notification icon for backups.
2018-10-27 23:34:18 -07:00
Greyson Parrelli
dfe8b25dd7
Use a unique notification icon for the persistent background connection.
2018-10-27 23:32:28 -07:00
Greyson Parrelli
53050b3845
Fix issue with group avatar display.
...
Some legacy code was making the contact photo visible when it shouldn't
be.
2018-10-27 23:12:25 -07:00
Greyson Parrelli
6ce278114f
Ensure profile photo in ConversationList is accurate.
...
Fixes #8270
2018-10-26 11:05:14 -07:00
Greyson Parrelli
48ff9673b9
Allow the selection of fitzpatrick emoji.
2018-10-26 11:05:10 -07:00
Greyson Parrelli
1999d09901
Updated emoji set.
...
Includes display support for more genders, and more notably, skin tones.
These are not currently selectable in the UI, but they will be rendered
properly when other clients send them.
2018-10-24 17:11:17 -07:00
Greyson Parrelli
f93a79ae37
Bump version to 4.29.7
2018-10-24 17:05:23 -07:00
Greyson Parrelli
fac56be499
Fix the build by listing google repo first.
...
Apparently jcenter() is lame and it broke our build. Listing the google
repo first fixes everything.
2018-10-24 16:57:19 -07:00
Greyson Parrelli
638012f3d0
Bump version to 4.29.6
2018-10-24 10:58:42 -07:00
Greyson Parrelli
bf452dfa92
Slightly shorten time before we show a foreground notification for pushes.
...
There's some ANRs, not many, that are likely caused by us riding the
5-second ANR timeout a little too closely. Giving us a little buffer to
see if that helps.
2018-10-24 10:58:06 -07:00
Greyson Parrelli
2b14c98eb0
Do not call bluetooth state listener after service is destroyed.
2018-10-24 10:43:08 -07:00
Greyson Parrelli
f164ac90db
Disallow punctuation in icon initials.
2018-10-24 09:57:48 -07:00
Greyson Parrelli
14abbb1bbb
Bump version to 4.29.5
2018-10-22 13:04:19 -07:00
Greyson Parrelli
91db26437d
Fix camera scaling issues on some phones.
...
Some phones, notably the Pixel 3, had some problems with scaling after
taking photos. This fixes it by using the takePicture API instead of
pulling the bitmap from the TextureView.
Fixes #8292
2018-10-22 01:12:05 -07:00
Greyson Parrelli
76054a9e33
Ignore events after BluetoothStateManager is destroyed.
...
Fixes crash.
2018-10-21 13:03:28 -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
0dd7b39bb1
Fix recipient prefrence display problem on Android P.
...
Android P's new ringtone selector is a whole new activity that can cause
RecipientPreferenceActivity to go through the full onCreate() flow after
the ringtone selection. This could cause a race between setting the
preference and reading the preference from the notification channel.
Just threw them on a serial executor to guarantee ordering.
2018-10-20 22:42:35 -07:00
Greyson Parrelli
4a0ea0c51c
Handle contexts more consistently in RecipientPreferences.
...
Fixes a crash that was happening on the Pixel 3.
2018-10-20 22:22:07 -07:00
Greyson Parrelli
668e8dee5d
Catch more camera exceptions.
...
Some devices will simply fail to open the camera with a runtime
exception. In this case, all we can do is catch it and report the error.
2018-10-19 15:57:34 -07:00
Greyson Parrelli
8ec3cf6a43
Bump version to 4.29.4
2018-10-18 09:52:47 -07:00
Greyson Parrelli
a287408a7a
Only start the screen lock timeout when the app is backgrounded.
2018-10-18 09:40:32 -07:00
Greyson Parrelli
78124ef224
Bump version to 4.29.3
2018-10-17 14:01:44 -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
7a6d863ff7
Bump version to 4.29.2
2018-10-16 22:55:35 -07:00
Greyson Parrelli
feb9e1d513
Post startService() in onPause() as a possible fix to an Android P bug.
...
We already did it for onResume(), and while it fixed the crash there,
the crash just moved to onPause(). Let's see if the same magic works.
2018-10-16 22:54:29 -07:00
Greyson Parrelli
1a5c1a4b42
Bump version to 4.29.1
2018-10-16 11:53:48 -07:00
Greyson Parrelli
e41ed92f49
Updated language translations.
2018-10-16 11:53:08 -07:00
Greyson Parrelli
7e485b8095
Post startService() in onResume() as a possible fix to an Android P bug.
...
Got confirmation that the crash we're seeing is a bug, and this might be
a possible workaround.
2018-10-16 11:47:58 -07:00