Commit Graph

3837 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.
6 years ago
Greyson Parrelli 7a6d863ff7 Bump version to 4.29.2 6 years ago
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.
6 years ago
Greyson Parrelli 1a5c1a4b42 Bump version to 4.29.1 6 years ago
Greyson Parrelli e41ed92f49 Updated language translations. 6 years ago
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.
6 years ago
Greyson Parrelli 92773b1a12 Update delivery icon tint in conversation list. 6 years ago
Greyson Parrelli 7cadb0d35a Properly set the document download icon tint. 6 years ago
Greyson Parrelli e1f572e1f4 Update GCM foreground notification icon.
Using the default Signal icon can confuse people into thinking they're
message notifications.
6 years ago
Greyson Parrelli ead323c1af Don't unnecessarily stack GCM message processing.
If we already have two active processing GCM messages, there's no
benefit to a third. In fact, enqueuing additional ones will likely only
end up showing the foreground notification unnecessariliy.
6 years ago
Greyson Parrelli 20c059280c Refactor OrderEnforcer. 6 years ago
Greyson Parrelli 50eb8f2322 Bump version to 4.29.0 6 years ago
Greyson Parrelli 15f418f2cc Updated language translations. 6 years ago
Greyson Parrelli b133546ca6 Bump targetSdkVersion to 26. 6 years ago
Greyson Parrelli 5219d79e27 Remove unnecessary start of KeyCachingService. 6 years ago
Greyson Parrelli 89f97f57cb Update our boot receiver to schedule a message pull.
Previously we were starting a background service, which isn't allowed
for targetSdk 26. This will do the same thing but at a time decided by
the system.
6 years ago
Greyson Parrelli 4c63428b71 Ensure GenericForegroundService is started with startForegroundService.
If we don't, we run the risk of the app crashing if the service is
started in the background.
6 years ago
Greyson Parrelli 704715de8f Fix message details delivery status icon tint (again). 6 years ago
Greyson Parrelli 0d48f10806 Fix issue where a Job had null JobParameters. 6 years ago
Greyson Parrelli 275ca9e3ba Remove the ability to set a color for a group.
No longer applicable given that we're adding back per-person colors in
groups.
6 years ago
Greyson Parrelli 710fa4a6f0 Switch the conversation color back to incoming messages. 6 years ago
Greyson Parrelli b1d653a230 Bump version to 4.28.1 6 years ago
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.
6 years ago
Greyson Parrelli 1c197ad93d Reset attachment transfer state if auto-download requirements are not met. 6 years ago
Greyson Parrelli a1ba5003d3 Fix some dark theme color consistency issues.
Fixes #8253
6 years ago
Greyson Parrelli f26c6f890f Fix non-contact icon in recipient preferences being too small.
Relates to #8252
6 years ago
Greyson Parrelli eb11d5ceda Make avatar color in toolbar match conversation color.
Relates to #8252
6 years ago
Greyson Parrelli 43ebcfdee5 Added more contrast to shared contact button color in dark theme.
Relates to #8252
6 years ago
Greyson Parrelli d9272c3b33 Fix message details delivery status icon tint.
Fixes #8251
6 years ago
Greyson Parrelli 1d7f7b6c38 Do not auto-assign Steel as a color for contacts/groups.
Should be reserved for non-contacts, but selectable in the color picker.

Fixes #8247
6 years ago
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().
6 years ago
Greyson Parrelli 4da1af9a7b Use the correct save icon in the ScribbleHud. 6 years ago
Greyson Parrelli 0840175d6f Remove shutter sound on camera capture.
This sound isn't supposed to play when you have notification sound off,
but apparently some Huawei phones will play it anyway. Until we can
figure out a better way to handle it, we're just removing it.
6 years ago
Greyson Parrelli b6e40ea812 Bump version to 4.28.0 6 years ago
Greyson Parrelli c81bc22943 Fix avatar location in a group conversation. 6 years ago
Greyson Parrelli 547b7a3c6f Migrate legacy color palette.
We don't store non-user-selected colors in the database. That means that
when we update the palette, we still have to hash based off of the legacy
palette when generating a color if we want to migrate to a
similar-looking color.

Unfortunately, because the new palette is smaller, some colors are
"overloaded", meaning that when we hash based off of the legacy palette,
some colors will be more/less common than others. To fix this, we simply
persist all current colors in the database, then switch our hashing list
to what we really want.
6 years ago
Greyson Parrelli 5eec3c9541 Add hairline border to avatars. 6 years ago
Greyson Parrelli f725dd5a7e Show profile avatar in toolbar. 6 years ago
Greyson Parrelli a3cba66450 Update fallback avatars. 6 years ago
Greyson Parrelli bab92fca7b Move unread indicator to be above the avatar. 6 years ago
Greyson Parrelli c37c1dffd4 Allow setting the color for a group. 6 years ago
Greyson Parrelli 127505af0b Implement new color palette. 6 years ago
Greyson Parrelli cfd20d23e8 Fix double onClick() notifications in preferences.
Fixes #8241
6 years ago
Greyson Parrelli e4b56d4e40 Show foreground notification for jobs when network is restricted.
Occasionally a job may be run when the app is in a network-restricted
mode, like a form of doze. When this happens, jobs can timeout due to
lack of network access, causing a cascade of job delays. This is
particularly bad in the case of message retrieval.

To prevent this, if a job that normally requires network detects that no
network is available when running, then we start a foreground
notification.
6 years ago
Greyson Parrelli c86c2c51bb Bump version to 4.27.3 6 years ago
Greyson Parrelli 5a623810cb Broaden exception handling around Camera#startPreview().
Some devices will randomly throw RuntimeExceptions here due to hardware
issues. We were already doing broader catch statement in CameraView, so
I moved it here as well.
6 years ago
Greyson Parrelli 444e01deae Improve key presence checking in SafeData.
This isn't a perfect check either, but it should be safer and more
consistent than using static "invalid values".
6 years ago
Greyson Parrelli d25ebdc818 Fix indentation in preference fragments.
Unfortunately, while there does exist an XML property to disable the
indentation, it's bugged for category headings, so we have to do this
silly thing where we strip the padding in the adapter. Hopefully they'll
fix the bug and we can move to use the sanctioned property.

See: https://issuetracker.google.com/issues/111662669

Fixes #8233
6 years ago
Greyson Parrelli 24e82abf80 Don't report contact discovery accuracy if it encountered an error.
Otherwise we're double-reporting. Also made the sanitize method more
accurate.
6 years ago
Greyson Parrelli cfa13867e5 Allow null for profileAvatar in RetrieveProfileAvatarJob. 6 years ago