21 Commits

Author SHA1 Message Date
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
e5a2cea6b0 Fix voice note seeking issue.
On some devices, pausing+resuming (or seeking) would restart playback
from the beginning, but show a progress bar further up. This seems to
have been caused by same race condition-y thing where we were seeking
multiple times in rapid succession. Now we'll only play once, and things
seem to be fine now.

Also removed usage of some deprecated methods.

Fixes #8432
2018-12-11 13:05:36 -08:00
Greyson Parrelli
3f25fb7d5f Handle voice note media playback with ExoPlayer.
There are several (popular) phone models out there that have bugs in
their MediaPlayer implementation that cause them to be unable to play
voice notes. By moving to ExoPlayer, an application-level media player,
we should avoid most of these headaches and stardardize playback.

Fixes #7748
2018-11-19 11:36:08 -08:00
Greyson Parrelli
43068e0613 Reduce usage of Log.w() 2018-08-06 10:50:06 -04:00
Greyson Parrelli
a498176043 Switch logs to use new Log class. 2018-08-06 10:50:06 -04:00
Moxie Marlinspike
f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 2018-01-30 17:27:05 -08:00
FeuRenard
512c6dc581 Keep screen off after end of audio playback
Fixes #6654
Closes #6669
// FREEBIE
2017-07-05 18:31:14 -07:00
Moxie Marlinspike
e96bf2bdc7 Allow share intents for arbitrary file types
Fixes #6608
// FREEBIE
2017-05-10 15:21:52 -07:00
Moxie Marlinspike
51d6144591 Significant MMS changes
1) Remove all our PDU code and switch to the PDU code from the
   klinker library

2) Switch to using the system Lollipop MMS library by default,
   and falling back to our own custom library if that fails.

3) Format SMIL differently, using code from klinker instead of
   what we've pieced together.

4) Pull per-carrier MMS media constraints from the XML config
   files in the klinker library, instead of hardcoding it at 280kb.

Hopefully this is an improvement, but given that MMS is involved,
it will probably make things worse instead.
2017-05-08 18:14:55 -07:00
FeuRenard
07c8db824e Disable screen during earpiece voice note playback
Fixes #6437
Closes #6445
// FREEBIE
2017-03-31 09:13:00 -07:00
Moxie Marlinspike
93e7a626bf Make voice note playback proximity aware
1) Play audio through earpiece if placed to ear

2) Stop playing audio if removed from ear

Fixes #6195
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike
69b102bfe3 Support for playing video in-app
// FREEBIE

Closes #5892
2016-11-27 19:38:59 -08:00
Moxie Marlinspike
7b589c4300 TextSecure is now SignalService
// FREEBIE
2016-03-24 14:05:56 -07:00
Geonu Kang
a2f478570a Add MIME type to PersistentBlobProvider
Fixes #4536
Closes #4689
2016-02-24 10:51:58 -08:00
Moxie Marlinspike
fc5777e904 Manually encode voice messages to AAC with ADTS headers
Should resolve issues with platforms that don't support AMR (!).

Fixes #4640
Fixes #4652
Fixes #4647
// FREEBIE
2015-11-23 11:42:02 -08:00
Moxie Marlinspike
bfe4ad6c34 Voice notes
Closes #4610
Closes #3563
// FREEBIE
2015-11-19 17:37:48 -08:00
Moxie Marlinspike
7817c7697e Fix for audio attachment server NPE
Fixes #4615
// FREEBIE
2015-11-19 15:59:24 -08:00
Moxie Marlinspike
fb9ba8cb8d Tint audio controls to be visible in dark theme
Fixes #4353
Closes #4466
// FREEBIE
2015-11-12 15:20:16 -08:00
Moxie Marlinspike
d70f0f1216 Stop audio when leaving conversation.
Fixes #4290
// FREEBIE
2015-10-23 17:00:51 -07:00
Moxie Marlinspike
2ce16297ff Fix start/stop audio race condition.
Fixes #4289
// FREEBIE
2015-10-23 16:54:58 -07:00
Moxie Marlinspike
15c6f18750 Support for an audio view to allow in-app playback of audio.
Closes #4270
// FREEBIE
2015-10-22 10:32:45 -07:00