Commit Graph

279 Commits

Author SHA1 Message Date
Moxie Marlinspike
24e573e537 Support for full backup/restore to sdcard 2018-03-05 16:11:49 -08:00
Moxie Marlinspike
6239508b39 Clean file names for belt and suspenders 2018-03-05 16:11:49 -08:00
Moxie Marlinspike
028c6edd8a Manually calculate attachment offsets
The CipherInputStream skip() method is pretty non-functional

Fixes #7438
2018-02-24 11:09:26 -08:00
Moxie Marlinspike
f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 2018-01-30 17:27:05 -08:00
Moxie Marlinspike
fe02b3f8d3 Catch exception from misconfigured MMSC
Fixes #7339
2018-01-16 11:32:51 -08:00
Moxie Marlinspike
64c8b4b2ef Support for selective permissions 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
6d88710a88 Update to libsignal-service 2.6.11
// FREEBIE
2017-11-01 15:56:31 -07:00
Moxie Marlinspike
e056bd1aa2 Update giphy connectivity strategy for glide
// FREEBIE
2017-11-01 15:51:38 -07:00
Moxie Marlinspike
b80408bcb4 Use Glide for all contact photo caching
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
10f224ede5 Update to glide 4.x
// 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
d0570ef7cb Fix media preview crash
Fixes #7050
// FREEBIE
2017-10-05 17:20:28 -07:00
Brian St. Pierre
6e6bfaa932 set MMS default characterset to utf-8.
Fixes #6374
Closes #6965
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
5cccea5846 Revert "Change default charset to UTF-8"
This reverts commit 86eb14b7bb.
2017-09-05 12:43:21 -07:00
Christian Bundy
86eb14b7bb Change default charset to UTF-8
This resolves #6374 where the character set is set to
`CharacterSets.MIMENAME_ANY_CHARSET` but the character set being
 used is _actually_ UTF-8.

Fixes #6374
Closes #6892
2017-09-04 14:58:25 -07:00
Moxie Marlinspike
77a216b705 Support for retrieving and storing profile information
Initial support for sharing profile keys

// 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
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
82b5b35d3b Eliminate MediaNetworkRequirement style attachment job handling
// FREEBIE
2017-07-21 15:59:27 -07:00
Moxie Marlinspike
4509077338 Lollipop MMS API doesn't seem to work reliably until L_MR1
Fixes #6663
Fixes #6668
// FREEBIE
2017-05-24 10:52:08 -07:00
Moxie Marlinspike
782bd6003b Actually fallback to manual MMS receiving when system fails
Should resolve #6668 for tmobile users on older lollipop phones
// FREEBIE
2017-05-23 18:23:47 -07:00
Moxie Marlinspike
b78c05e70b Keep track of when audio attachments are voice notes
// FREEBIE
2017-05-11 22:46:35 -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
Moxie Marlinspike
cb670d6783 Improve UI send latency
// FREEBIE
2017-04-26 10:27:30 -07:00
Moxie Marlinspike
9bf198bb81 Add media constraints for arbitrary file types
Fixes #6573
// FREEBIE
2017-04-24 15:53:22 -07:00
Moxie Marlinspike
8e7c7a9c54 Improve video thumbnail generation and handling on send side
For direct attach only

// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
ad4657df1f Fix video selection support with extra mime type
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
2b79e131a7 Support for sending arbitrary file types
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
2ce9eeabed Fix for broken attachments
Fixes #6467
// FREEBIE
2017-04-02 09:29:26 -07:00
Moxie Marlinspike
ad0f2830c8 Raise max gif limit to 25MB
// FREEBIE
2017-03-30 16:12:55 -07:00
Moxie Marlinspike
f67eb5f9f3 Support for receiving arbitrary attachment types
// FREEBIE
2017-03-29 18:17:34 -07:00
Moxie Marlinspike
79e925051a Support for attachment digests
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
235a8472d9 Remove dedicated MMS download controls
// FREEBIE
2017-01-20 15:26:17 -08:00
Moxie Marlinspike
3d6cbdd775 ViewStub for entire AttachmentManager
// FREEBIE
2017-01-19 11:47:02 -08:00
Moxie Marlinspike
4ad989cc38 Fix rounded corners bitmap double free
Fixes #4732
// FREEBIE
2017-01-08 13:06:11 -08:00
Moxie Marlinspike
d2be49af42 Support for tiling image view and large image viewing
Fixes #5949
Fixes #5574
Fixes #4380
// FREEBIE
2017-01-02 17:17:48 -08:00
Moxie Marlinspike
791cc4b4f8 Use downsampled GIFs for MMS messages
Fixes #5958
// FREEBIE
2016-12-14 11:58:47 -08:00
Moxie Marlinspike
a4c17e5325 Support for generating video thumbnails
// FREEBIE
2016-12-12 17:38:05 -08:00
Moxie Marlinspike
1b44bdcd3c Support for stickers and scribbles
// FREEBIE
2016-12-12 17:37:00 -08:00
Moxie Marlinspike
b54a271a75 Bump up push media max edge to 2048 and max size to 4MB
Fixes #672
// FREEBIE
2016-10-25 12:43:48 -07:00
Moxie Marlinspike
69d0242574 Giphy integration
// FREEBIE
2016-10-18 10:28:42 -07:00
Moxie Marlinspike
d7e4928f22 Support for disappearing messages
// FREEBIE
2016-08-28 17:03:23 -07:00
Moxie Marlinspike
7b589c4300 TextSecure is now SignalService
// FREEBIE
2016-03-24 14:05:56 -07:00
Moxie Marlinspike
dd986dbc4b Fall back to lollipop MMS API if PDU response isn't success
Fixes #4131
// FREEBIE
2016-03-14 12:52:15 -07:00
Geonu Kang
a2f478570a Add MIME type to PersistentBlobProvider
Fixes #4536
Closes #4689
2016-02-24 10:51:58 -08:00
Moxie Marlinspike
f1cec5a2ca Don't pass null contact uri into glide
Fixes #5216
// FREEBIE
2016-02-12 11:19:11 -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
Moxie Marlinspike
4a261bcf68 Check result of bitmap size operation for failure
Fixes #5046
// FREEBIE
2016-01-30 15:22:55 -08:00
Moxie Marlinspike
873a0ab249 Only attempt MMS "direct connect" on Sprint MCCMNCs.
Fixes #5134
// FREEBIE
2016-01-30 14:16:50 -08:00
Moxie Marlinspike
759f9d8016 Support for location drafts
Fixes #4979
// FREEBIE
2016-01-04 13:02:22 -08:00
agrajaghh
d61e5094de remove newlines in text-only group messages
Closes #4963
//FREEBIE
2015-12-27 12:37:39 -08:00
Moxie Marlinspike
bcf95e50aa Support for location messages
Start with encoding as a simple image thumbnail for compatibility
with MMS and iOS

// FREEBIE
2015-12-24 07:47:25 -08:00
McLoo
e79ee7803f Enable preview for image drafts
Closes #4863
2015-12-11 23:17:24 -08:00
Jake McGinty
7625ba919e prevent overwriting external capture URIs
Closes #4719
fixes #4538
// FREEBIE
2015-12-10 18:53:40 -08:00
Geonu Kang
8269047c88 Update attachment content type when updating attachment data
Fixes #4687
Closes #4688
2015-12-02 09:45:57 -08:00
Moxie Marlinspike
adcb29616a Keep track of attachmentmanager garbage
Fixes #4764
// FREEBIE
2015-11-30 11:16:30 -08:00
Jake McGinty
946c43940b add equals/hashCode to glide models
Closes #4737
// FREEBIE
2015-11-27 15:20:24 -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
Jake McGinty
02c37e815c enable media forwarding
fixes #1362
closes #4589
// FREEBIE
2015-11-19 11:27:13 -08:00
Jake McGinty
bcd08956bd clear drafts immediately upon sending or new intent
fixes #3843
closes #3850
Closes #4571

// FREEBIE
2015-11-19 10:59:10 -08:00
Jake McGinty
ae379cd3dd fix external gif sharing
fixes #4539
Closes #4556
// FREEBIE
2015-11-16 11:28:03 -08:00
Jake McGinty
00a18f58a7 catch MMS NPE for time being
Fixes #4379
Closes #4401
// FREEBIE
2015-11-05 11:11:28 -08:00
Jake McGinty
59f2446a2b unjankify incoming media sharing
Closes #4374
Fixes #3989
// FREEBIE
2015-11-04 17:56:21 -08:00
Sam Lanning
79cb6166d5 Consolodate Base64 Classes
both org.thoughtcrime.redphone.util and
org.thoughtcrime.securesms.util have a Base64 util class,
however, other than whitespace changes, and the securesms
one having a couple of extra methods, they are the same.

This commit removes org.thoughtcrime.redphone.util.Base64 and
anything referencing it now uses
org.thoughtcrime.securesms.util.Base64

Closes #4294
2015-11-04 17:56:19 -08: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
Moxie Marlinspike
d2f44f6584 Join attachments instead of running an asynchronous query.
No more SlideDeck futures, just SlideDecks.

// FREEBIE
2015-10-22 10:31:22 -07:00
Moxie Marlinspike
5fd9874ab6 Support for group update messages from paired devices.
Fixes #3566
// FREEBIE
2015-10-15 17:10:54 -07: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
77d73fa572 Correctly display call actions in thread list
Fixes #4170
// FREEBIE
2015-10-01 17:27:22 -07:00
char32
7ff8c99055 Add the verizon MSISDN x-vzw-mdn header to MMS requests.
Closes #4148
Fixes #3150
2015-10-01 12:14:47 -07:00
Jake McGinty
92b2da0286 download control details
Closes #4063
// FREEBIE
2015-09-17 12:51:57 -07:00
Jake McGinty
415a61a09b TransferControlView
Closes #4044
// FREEBIE
2015-09-17 12:22:01 -07:00
Jake McGinty
551274f167 Large attachment support
Closes #4019
// FREEBIE
2015-09-17 12:20:25 -07:00
Jake McGinty
0e06e2de97 fix queuing of pending parts that had data already
fixes #4061
Closes #4073
// FREEBIE
2015-09-14 18:06:03 -07:00
Jake McGinty
80ce83ef9d Media download controls
Closes #3991
// FREEBIE
2015-09-03 11:40:55 -07:00
Jake McGinty
0c9d9e8dcf use glide for encoding and resizing outgoing media
Closes #3915
// FREEBIE
2015-09-02 12:34:28 -07:00
Jake McGinty
1641fd91cf let ThumbnailView handle remove button placement
Closes #3849
// FREEBIE
2015-09-02 12:23:24 -07:00
Moxie Marlinspike
82b74e8ce7 Fix NPE on media message with no media.
Fixes #3921
// FREEBIE
2015-08-10 09:33:57 -07:00
Jake McGinty
a84dcf6a8e assert gif size constraints before OOMEs
fixes #3778
closes #3833
// FREEBIE
2015-07-29 16:17:27 -07:00
agrajaghh
e2e5aa32a8 fix icon for "Take Photo" in the attachment dialog and
also change "Take Photo" to "Camera"

fixes #3819
closes #3820

// FREEBIE
2015-07-29 16:17:27 -07:00
Jake McGinty
24e14cbc73 fix gif NPE
// FREEBIE
2015-07-29 16:17:26 -07:00
Jake McGinty
a2d63d117b fix rounded corners memory thrash
// FREEBIE
2015-07-29 16:17:26 -07:00
Jake McGinty
f13ad54ba1 ditch RoundedImageView, make animated gifs work
// FREEBIE
2015-07-29 16:17:26 -07:00
Jake McGinty
1a7ab6346f re-enable direct capture
Closes #3664
// 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
Jake McGinty
a44a4bc759 disable direct cap
Closes #3612
// FREEBIE
2015-07-11 12:38:39 -07:00
Jake McGinty
54a37cc658 refactor direct capture
Closes #3516
// FREEBIE
2015-07-08 16:02:39 -07:00
Calvin Hu
c4a37e38ab Add camera preview to message composition 2015-07-08 16:01:57 -07:00
Jake McGinty
c2e5f4e80a Add transfer indicators for attachments
Closes #3498
// FREEBIE
2015-07-01 15:38:55 -07:00
Moxie Marlinspike
3c41f27298 Support for multi-device contact sync.
// FREEBIE
2015-06-24 18:30:55 -07:00
Moxie Marlinspike
67d8fa26a7 Pretty up the attachment drawer a little.
1) Rounded corners on the image.

2) A circle X on top of the image, rather than a remove button.

3) Quick 200ms fade on clear.

Closes #3439
// FREEBIE
2015-06-18 10:03:10 -07:00
Jake McGinty
3f6aae633e reduce max image size on low-mem devices
Closes #3343
// FREEBIE
2015-06-09 08:24:14 -07:00
Jake McGinty
3a07809545 fix jpeg compression max limit issues
1) Increase max image size when sending via push
2) Decrease max image dimen when sending via MMS

Fixes #3070
Closes #3287
// FREEBIE
2015-06-03 11:18:35 -07:00
Moxie Marlinspike
9c2f14dade Introduce unique part ID column for better cache accuracy.
Closes #3226
// FREEBIE
2015-05-21 12:17:42 -07:00
Moxie Marlinspike
2cfc714b64 Support for receiving incoming sync messages.
Closes #3188
// FREEBIE
2015-05-21 09:55:42 -07:00
Moxie Marlinspike
fe4e2fcadb Support for direct photo capture from app.
Make the send button toggle to an attach button when the
compose text and attachments are emmpty.

Part of #520
Closes #3186

// FREEBIE
2015-05-20 13:53:00 -07:00
Moxie Marlinspike
dc903e49af Fix image cache bugs.
1) Index SlideDeckListener cache by MMS (id, timestamp) tuple.

2) Index parts by (id, content_id) tuples.

Fixes #840
Closes #3183
// FREEBIE
2015-05-20 13:38:24 -07:00
Moxie Marlinspike
082985276f Fix for media thumbnails flickering on model updates.
Only update ImageView contents when they have changed.

Fixes #1004
Fixes #2663
Closes #3184

// FREEBIE
2015-05-20 13:07:39 -07:00
Jake McGinty
ab82ff0b69 use IPv6 routing API then fallback to Lollipop
1) Utilize the hidden API requestRouteToHostAddress that takes an
   InetAddress (IPv6-capable) instead of a forced IPv4 integer-
   encoded address. Will fallback to the IPv4 one if reflection
   fails for whatever reason.

2) If on Lollipop and our manual MMS code doesn't work, will try
   to use the Lollipop API and give it 60 seconds instead of 30,
   since I did run into the timeout not being long enough in
   certain conditions and I'm thinking maybe it just wasn't long
   enough for some carriers.

Closes #3105
// FREEBIE
2015-05-04 18:29:30 -07:00