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.
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.
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
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
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#6271Fixes#6248Fixes#6238Fixes#6184Fixes#6169
// FREEBIE
When video is enabled, speakerphone is now enabled unless
there's a wired headset. If speakerphone is enabled and
a wired headset gets plugged in, speakerphone is disabled.
If video is enabled and a wired headset is removed, speakerphone
is enabled.
Fixes#6153
// FREEBIE