Commit Graph

594 Commits

Author SHA1 Message Date
Greyson Parrelli
ccfcfa71df Enable the sending of long messages. 2019-03-22 12:28:41 -07:00
Greyson Parrelli
8caaf057e8 Remove unnecessary pre-19 code branches.
Now that our minSdk is 19, we can remove a lot of old code paths that
only ran pre-19.
2019-03-21 11:19:06 -07:00
Moxie Marlinspike
a52c295a38 Simplify access to SecureRandom
This shouldn't matter at all, but it's more "correct," and shows
my age less.
2019-03-21 11:19:06 -07:00
Greyson Parrelli
975a121c55 Show a warning for users on API < 19.
We'll be updating minSdk to 19 in 4.37. This lets these users continue
to use the app, but they'll be warned with a persistent banner saying
that they can't receive updates.
2019-03-18 15:09:56 -07:00
Alan Evans
2c28fa6a57 Make GIF search layout option sticky.
Fixes #7843
2019-03-12 11:41:54 -03:00
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
55699e27bc Added ability to receive long messages.
Send support is in here too. We'll enable it in a future release after
enough people have updated.
2019-03-01 14:15:08 -08:00
Greyson Parrelli
bf28e109d3 Update registration UI. 2019-03-01 14:15:01 -08:00
Greyson Parrelli
7fd6f5b3ff Fix search highlight in multi-whitespace bodies.
The way the highlight was done could get screwed up if you had multiple
whitespaces in a row. This particularly came up with messages with
multiple newlines.
2019-03-01 13:44:32 -08:00
Greyson Parrelli
a6564f8f84 FCM improvements. 2019-02-15 14:21:23 -08:00
Greyson Parrelli
2cfa431cad Supply a reason for CDS error reporting. 2019-02-14 20:19:07 -08:00
Greyson Parrelli
a3768c7d74 Fix StickyHeader measuring.
It didn't re-measure when pulling an item from the cache, screwing stuff
up after a phone rotation. Had a workaround for it for specific screens,
but this fixes the problem at the source.

Fixes #8583
2019-02-14 20:19:06 -08:00
Greyson Parrelli
c9a0a66f18 Migrate backup passphrase to be keystore-encrypted when available. 2019-02-14 20:19:06 -08:00
Greyson Parrelli
9f04c28bfd Implemented conversation search.
You can now search for messages within a specific conversation.
2019-02-14 20:19:01 -08:00
Greyson Parrelli
cfff10622a Move conversation classes to their own package. 2019-02-14 14:29:12 -08:00
Greyson Parrelli
b769c7d9b6 Properly batch contact inserts.
Fixes #8580
2019-02-14 14:29:12 -08:00
Greyson Parrelli
3683e6a9e2 Revert "Apply contact updates in batches of 50."
This reverts commit 5d9d6ac12b.
2019-02-06 00:54:03 -08:00
Greyson Parrelli
5d9d6ac12b Apply contact updates in batches of 50.
If batch sizes are too large, we'll get a Binder exception.

Fixes #8580
2019-02-01 12:47:34 -08:00
Greyson Parrelli
d482c60a98 Switch from GCM to FCM. 2019-01-30 16:10:47 -08:00
Greyson Parrelli
c76081d99c Added support for link previews. 2019-01-30 16:10:43 -08:00
Greyson Parrelli
e6b4249cf3 Deprecate usage of the signaling key. 2019-01-17 15:37:53 -08:00
Greyson Parrelli
4952b4470d Fix bug related to gallery selection state.
TreeSets are annoying. contains() is calculated with the comparator,
which can lead to some weird bugs. Made sure the comparator didn't think
two items with the same date were identical.

Also fixed stableId generation to avoid any potential weirdness there.
2019-01-14 15:40:38 -08:00
Greyson Parrelli
6fa7eca60b Implement new media send flow.
Update our media send flow to allow users to send multiple images/videos
at once. This change includes:

- New in-app media picker flow.
- Ability to caption images and videos.
- Image editing tools are made more prominent in the flow.
- Some fixes to the image editing tools.
2019-01-14 11:25:06 -08:00
Greyson Parrelli
40f9b32a75 Fix tap-to-upgrade on website releases.
Tested on Android 9.0, 7.0, and 5.1.

Fixes #7936
2019-01-13 19:08:33 -08:00
Greyson Parrelli
bfdad2f47c Updated logging. 2018-12-06 12:43:45 -08:00
Greyson Parrelli
776b0e23ae Add support for typing indicators. 2018-11-21 01:55:25 -08: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
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
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.
2018-10-15 10:37:30 -07:00
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.
2018-10-08 10:00:15 -07:00
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.
2018-10-02 09:16:37 -07:00
Greyson Parrelli
6359961a82 Ensure numbers are properly formatted before giving them to contact discovery service.
We were sending "Unknown" addresses, which would cause the service to
choke.
2018-10-01 12:12:12 -07:00
Greyson Parrelli
12d9d7741b Clean up batch saving.
- Post a better string for when batch saving completes successfully
- Exit multi-select after saving
2018-09-27 10:35:56 -07:00
Greyson Parrelli
a0ab252bc9 Add preliminary contact discovery service support. 2018-09-27 10:35:56 -07:00
Greyson Parrelli
08ace15f95 Implemented new camera capture flow.
A new, fullscreen camera capture flow that easily allows you to capture
and edit a photo before sending it. Replaces the current half-screen
camera button.
2018-09-27 10:35:56 -07:00
Greyson Parrelli
bcebf58b76 Added a new Stopwatch class to easily log timings. 2018-09-27 10:35:56 -07:00
Greyson Parrelli
45c4eafbd7 Add the ability to block groups.
This also fixes the situation where we block group-leave messages,
preventing blocked contacts from leaving groups.

Fixes #7970

Also, this forced us to upgrade libsignal-service, which fixes the
websocket timeout issues. Thanks to @dpapavas!

Fixes #6644
2018-09-18 15:26:50 -07:00
Greyson Parrelli
741b775d3e Ensure external camera blob is deleted. 2018-09-17 20:29:21 -07:00
Greyson Parrelli
e840dc6687 Move notification preferences back in-app for O+.
Fixes #8147
2018-08-31 11:10:54 -07:00
Greyson Parrelli
5d91a94252 Fix shortcut images being too large.
We were hitting the transaction limit size. This change scales down
shortcut icons to be at most 300x300, which comes out to ~360kb, which
should be safely under the limit of 1mb.

Fixes #8139
2018-08-25 10:40:58 -07:00
Greyson Parrelli
e9b85a10a6 Add per-contact notification channels.
Fixes #8119
Fixes #8121
Fixes #8122
2018-08-17 15:51:01 -07:00
Greyson Parrelli
2acbea014b Fix videos losing their extension after forwarding.
Special thanks to @signalien

Fixes #7783
2018-08-13 18:38:59 -04:00
Greyson Parrelli
5cdf5499d0 Clean up shortcut code. 2018-08-13 18:38:59 -04: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
Greyson Parrelli
acb40c6133 Added new logger.
Added a new logger that persists logs for a longer duration to the
user's cache directory. Logs are encrypted. The new logs are sent
in addition to the user's logcat output.
2018-08-06 10:50:06 -04:00
Greyson Parrelli
c8571d7bc7 Use correct timestamp for footer collapse.
Fixes #8071
2018-08-06 10:34:02 -04:00
Greyson Parrelli
c5014f9471 Fix quote crash when we decode an image of 0 length.
Fixes #7983
2018-08-02 15:57:30 -04:00
art1fa
faea8fd2ec Apply message bubble paddings to both top and bottom
Batch selecting messages now feels better. Fixes #8035.
2018-07-27 16:15:37 -04:00
Greyson Parrelli
67190774cc Jump to the oldest unread message after loading a draft. 2018-07-25 13:10:35 -04:00
Greyson Parrelli
8f551c8b32 Fix various redesign issues with Android 4.x.
In particular, there were many issues with drawing corners.
Unfortunately, there's no pretty way to get masking working on every
Android version, so we have to switch back to using custom backgrounds
and then using multiple masking methods depending on Android version.

Also, I had to remove attr references in drawables. They crash on 4.x.
2018-07-18 16:53:36 -07:00
Greyson Parrelli
bf692e8da3 Throttle background contact syncs to once every 6 hours.
Unfortunately, there's apps out there that trigger contact changes
very frequently. Because we listen to the system for contact
changes to tell us when to sync, that could result in us sending
an abundance of contact syncs to linked desktop instances.

This throttles contact sync requests using the following methodology:

- By default, throttle contact syncs to 6 hrs while the app is
  backgrounded.
- If a sync is throttled in the background, we set a dirty flag and
  will execute the sync the next time the app is foregrounded.
- Syncs explicitly requested by desktop are never throttled.
2018-07-17 12:06:50 -07:00
Greyson Parrelli
8579c30909 Styling improvements and code cleanup. 2018-07-17 12:06:42 -07:00
Greyson Parrelli
24b062d8dd Improve the look of message bubbles. 2018-07-17 09:53:52 -07:00
Greyson Parrelli
18756aedf6 Remove the ability to save backups to the external SD card.
The directory we were previously saving backups to on the external SD
card is actually deleted upon app uninstall and/or clearing the app's
data. There's also no reliable way to write to the root of an external
SD card (that isn't comically inconvenient), so for now it's safer if we
just move back to getting the regular 'ol standard external storage
directory (which is likely internal storage, despite its name).

Fixes #7845
2018-06-29 14:10:45 -07:00
Greyson Parrelli
ea4ac9db30 Fixed issue where self-sends didn't auto download.
1) There was an issue where we wouldn't auto-download group syncs.
2) There was another issue where we didn't show the download controls
   for messages you sent yourself.

Fixed #7920
2018-06-22 10:37:07 -07:00
Greyson Parrelli
2c17b54ef9 Show a banner in the event of a service outage.
We will now determine if there has been a service outage and render a
banner at the top of the conversation list if we detect that there has
been one.
2018-06-18 14:32:45 -07:00
Greyson Parrelli
df2c5d38b0 Don't notify new users if there is a pending SQLCipher migration.
If a user is upgrading to use the SQLCipher database (which happened
back in 4.16, so this only applies to relatively dormant users who are
just getting back into the app) and received a new "user X joind signal"
message, then it could screw up the migration. So we're just dropping
these notifications that happen in this narrow window.
2018-06-18 14:32:45 -07:00
Greyson Parrelli
626e6930a5 Fix search header rendering after rotation.
The sticky header cache was keeping views across rotations, causing them
to render incorrectly afterwards. I added a method to invalidate the
header layouts after rotation.

Fixes #7890.
2018-06-14 10:50:21 -07:00
Greyson Parrelli
44f5cc9070 Annotate methods in AttachmentUtil as @WorkerThread. 2018-06-11 11:08:25 -07:00
Greyson Parrelli
30be732ae8 Don't auto-download attachments from unknown contacts. 2018-06-11 10:47:27 -07:00
Moxie Marlinspike
70c2a863cc Correctly store backup
Fixes #7831
2018-05-24 09:57:16 -07:00
Greyson Parrelli
e189fff856 Fixed some cursor-related bugs in Search. 2018-05-23 08:32:46 -04:00
Greyson Parrelli
0449647cf9 Implemented full-text search.
You can now use the search bar on the conversation list to find
conversations, messages, and contacts.
2018-05-21 16:36:59 -04:00
Greyson Parrelli
ca260a92e3 Convert vCard attachments to Shared Contacts.
When you share a vCard from an external app (like the Contacts app) into
Signal, we'll now convert it to a pretty Shared Contact message and
allow you to choose which fields of the contact you wish to send.
2018-05-21 15:45:22 -04:00
Greyson Parrelli
54dbffaf30 Added ability to share contacts.
The "contact" option in the attachments tray now brings you through an
optimized contact sharing flow, allowing you to select specific fields
to share. The contact is then presented as a special message type,
allowing you to interact with the card to add the contact to your system
contacts, invite them to signal, initiate a signal message, etc.
2018-05-21 15:45:22 -04:00
Moxie Marlinspike
6c1a1fb9ad Use cache directory on removable storage for backups if present
Fixes #7692
2018-05-21 15:45:22 -04:00
Greyson Parrelli
6fbbc9d078 Render emoji's properly in quote bubbles.
Unfortunately, the change wasn't as simple as just switching to use our
EmojiTextView. That view only supported single-line text. I added
support for multi-line text.

Fixes #7704.
2018-04-24 12:18:33 -07:00
Greyson Parrelli
cbe394025d Fix reply-to colors in dark mode to increase contrast.
Fixes #7705
2018-04-20 17:35:48 -07:00
Moxie Marlinspike
d567534609 replies 2018-04-16 17:33:26 -07:00
Moxie Marlinspike
d8a6fcf979 Retain latest 2 instead of latest 5 backups
Fixes #7650
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
2c405d1769 Delete raw contacts that are marked for deletion
Fixes #7628
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
3f3d7f549b Make an attempt to store/retrieve backups from removable storage
Fixes #7521
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
0b0853a223 Clear cache on update 2018-04-12 17:19:18 -07:00
Greyson Parrelli
ea374735e1 Render images in a conversation true-to-size.
Previously, we were always rendering images as squares. Instead of doing
that, we now render them as close to true-to-size as possible (within
reasonable min/max width/height boundaries).
2018-03-31 02:14:02 -07:00
Moxie Marlinspike
9f8b4cf892 Populate incoming attachments with width and height from message 2018-03-31 02:14:02 -07:00
Moxie Marlinspike
3c30db7edf No longer generate image thumbnails manually
Delete manually calculated image thumbnails
2018-03-31 02:14:02 -07:00
Greyson Parrelli
7e1e666172 Strip EXIF metadata from all JPEG images.
Strip all EXIF metadata from all JPEGs by re-encoding the JPEG. This
will keep all of the necessary visual effects of the tags (by encoding
them directly in the image data) while stripped the EXIF tags
themselves.
2018-03-31 02:14:02 -07:00
Greyson Parrelli
10e5b24cfd Allow batch deletion of media.
It is now possible to batch-delete media in the "media overview" screen.
You can long press to enter multi-select mode. Then a delete button
appears on the menu bar. After pressing delete, you will get a
confirmation, and if the user confirms, the items will delete while a
progres dialog shows.
2018-03-31 02:14:02 -07:00
Greyson Parrelli
f544b7d7b4 Reduce image stutter by using subsampling more often.
Fixes #7208.
2018-03-13 13:25:41 -07:00
Andy Staudacher
61a7062030 Remove obsolete workaround for DE/FI/SK shortcodes
libphonenumber supports these since December 2015 / January 2016.
Most of these changes went into libphonenumber-7.2.2 (Dec 15, 2015),
the last changes related to this into libphonenumber-7.2.4 (Jan 28, 2016).
This was about adding EU-wide helplines 116xxx (http://ec.europa.eu/digital-agenda/en/116-helplines).
See: https://github.com/googlei18n/libphonenumber/blob/master/java/release_notes.txt

Closes #6130
2018-03-07 09:59:43 -08:00
FeuRenard
0efda2df91 Make toast after saving attachment translatable
Closes #7374
2018-03-07 09:41:33 -08:00
FeuRenard
527e39eee8 Don't save white space drafts
Fixes #7308
Closes #7383
2018-03-07 09:33:57 -08:00
Moxie Marlinspike
110d33ddf8 Support for Registration Lock PINs 2018-03-05 16:13:56 -08:00
Moxie Marlinspike
d28dc670ea Migrate to Android fingerprints and auth for Signal screen lock 2018-03-05 16:11:49 -08:00
Moxie Marlinspike
24e573e537 Support for full backup/restore to sdcard 2018-03-05 16:11:49 -08:00
Moxie Marlinspike
9f3c04dfb5 Migrate prekeys into database 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
71c7ef5b5e Support for custom call ringtone selection and per-chat ringtones 2018-03-05 16:11:49 -08:00
Moxie Marlinspike
18aa202695 Really really delay SMS processing until sqlcipher migration completes
Blocking the SMS job on the screen lock isn't enough, since then
the job races against the migration.

Fixes #7390
2018-02-26 14:02:12 -08:00
Moxie Marlinspike
f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 2018-01-30 17:27:05 -08:00
Moxie Marlinspike
b307980d8c Perform a contact sync with every directory refresh 2018-01-04 11:56:55 -08:00
Moxie Marlinspike
8bba45f396 Add swipe gestures to media view
Fixes #2355
Closes #6632
2018-01-04 11:11:49 -08:00
Moxie Marlinspike
4acedd2a4b Fix notification ringtone problems
Default ringtone was often showing up as a call tone

Silent wasn't working correctly globally
2017-12-19 14:42:00 -08:00
Moxie Marlinspike
f315b1db80 Make save attachment task toast location instead of snackbar 2017-12-08 15:21:46 -08:00
Moxie Marlinspike
b58c87a56b Only notify when address is in contacts 2017-12-07 11:53:17 -08:00
Moxie Marlinspike
06e0d7d72d Appease the linter 2017-12-05 11:52:03 -08:00
Moxie Marlinspike
3523952ef9 As of 'N' we can no longer offer external ringtone selection
1. Replace custom ringtone picker with system Intent, since we
   don't need it anymore. Fixes #7174

2. Make sure 'silent' ringtone selection is stored appropriately
   Fixes #7115 Closes #7141

3. Replace any existing file:// notification URIs with the system
   default Fixes #7234
2017-12-01 12:55:24 -08:00
Moxie Marlinspike
4cb2ac7b27 Use FileProvider for external camera capture Uri on L+
Fixes #7237
2017-12-01 11:06:37 -08:00
Moxie Marlinspike
acfc9d75e0 Use startForegroundService instead of startService on Android 8 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
7a5846a6d4 Move more system contact info into recipient database
1) Move contact URI, contact photo URI, and custom label
   into recipient database, so there are no longer any
   contact DB queries during Recipient object loading.

2) Use a SoftHashMap so that any referenced Recipient objects
   can't get kicked out of the cache.

3) Don't load Recipient objects through the provider during sync.
   This was a super expensive thing to do, and blew up the cache.

4) Only apply changes to Recipient objects during sync if they
   are in the cache. Otherwise, there should be no outstanding
   references, and the changes are fine going exclusively to
   the DB.
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
64c8b4b2ef Support for selective permissions 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
f855e161d9 Ensure notifications for new users won't be generated first fetch 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
66e1be1aeb Don't invalidate entire recipient cache when contact data changes 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
e37c06c563 Show dialog if another device registered with same number 2017-11-15 16:29:00 -08:00
Moxie Marlinspike
21ddc1dbba Fix profile crash
Fixes #7192
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
90ff0e58b0 Update registration flow 2017-11-14 10:50:17 -08:00
Moxie Marlinspike
ad6ae10a41 Fix scaling issue when loading emoji sprites
Fixes #5973
// FREEBIE
2017-11-06 08:11:36 -08: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
Veeti Paananen
eb456ef2b0 Fix implicit locale string formatting bugs
Depending on the phone language the default format may use Arabic
numerals, etc. when not desired.

Bug: fixes #7006
Closes #7040
2017-10-04 11:36:43 -07:00
Moxie Marlinspike
ba849bce2c Add support for incognito keyboard preference
Closes #6985
// FREEBIE
2017-10-03 18:57:23 -07:00
Moxie Marlinspike
c09d2951b1 Fix preference compat crash
Fixes #7018
// FREEBIE
2017-10-03 10:43:06 -07:00
Moxie Marlinspike
d0e781ccb4 Sync read receipt configuration to sibling devices
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
e5e0bc2333 Reorganize preference widgets
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
cb9bc9659b Support for read receipts
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
a39d9bf132 Fix for RTL layout detection crash on < API 17
Fixes #6987
// FREEBIE
2017-09-25 09:05:41 -07:00
Moxie Marlinspike
f3d943270c Be more conservative with handlers and references
Expiring message timers could end up leaking references and
executing work even after their conversation item was no longer
visible

Maybe fixes #6898

// FREEBIE
2017-09-09 23:46:48 -07:00
Moxie Marlinspike
5173921ce0 Fix bad MMS group creation logic
Fixes #6939
Fixes #6938

// FREEBIE
2017-09-07 20:41:34 -07:00
Moxie Marlinspike
2add02c62f Add splash screen for setting profiles
// FREEBIE
2017-09-03 19:45:43 -07:00
Markus Brenneis
66062f200a Work around SmsMessage.calculateLength NPE on broken ROMs
//FREEBIE
2017-08-28 10:43:14 -07:00
Moxie Marlinspike
f17af19d09 Access all RecipientDatabase settings directly from Recipient
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
d1790dfe17 Rename RecipientPreferences -> RecipientSettings
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
8e6ca53023 Rename RecipientPreferencesDatabase -> RecipientDatabase
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
6924f0519e No need for a RecipientFactory any longer
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
1b2f52209d Display unknown sender footer for unknown senders
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
df99deb480 Insert profile creation into registration flow, fix capture
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
e7c20499ec Display profile name in when appropriate
Display in conversation list, conversation actionbar, group
messages, and group members list when address is not in system
contacts

// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
1893047a78 Profile creation activity
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
159fdb317f Store system contacts display name in recipient preferences db
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
f61c52aace Consolidate user "capability" enums to a single value
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
5a5e47f2df Move "directory" information into RecipientPreferencesDatabase
// 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
7f46e99f9c Use SIM country code when registered number is unavailable
Convert directory operations to Addresses

Fixes #6845
// FREEBIE
2017-08-02 12:51:46 -07:00
Moxie Marlinspike
aacf50316d Escape addresses in thread, recipient pref, and group databases
Fixes #6847
// FREEBIE
2017-08-02 11:04:10 -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
0b39224d88 getMemoryClass -> getLargeMemoryClass
Fixes #6812

// FREEBIe
2017-07-21 16:01:32 -07:00
Moxie Marlinspike
82b5b35d3b Eliminate MediaNetworkRequirement style attachment job handling
// FREEBIE
2017-07-21 15:59:27 -07:00
Moxie Marlinspike
074e46b2d9 Enable verification syncing
// FREEBIE
2017-06-23 13:59:06 -07:00
Moxie Marlinspike
8208bbf3c0 Remove stale identity approval preference (no longer used)
Fixes #6745
// FREEBIE
2017-06-19 09:27:35 -07:00
Moxie Marlinspike
76c28cfa7a Add support for SN verification
// FREEBIE
2017-06-09 19:58:01 -07:00
Moxie Marlinspike
d507756821 Some identity key handling changes
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
2017-05-31 14:51:48 -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
Jonas Vautherin
dd3cef5ec2 Refactor storage management to have a centralized,
clearer way to get the Signal output directories

Closes #6476
// FREEBIE
2017-05-06 14:06:04 -07:00
Moxie Marlinspike
66d1d88686 Fix file push media constraint
// FREEBIE
2017-04-25 10:01:09 -07:00
Moxie Marlinspike
9bf198bb81 Add media constraints for arbitrary file types
Fixes #6573
// FREEBIE
2017-04-24 15:53:22 -07:00
Ahmed Ibrahim Khalil
c2796285d5 Fix copying links when scrolling in #6343
Closes #6565
// FREEBIE
2017-04-23 16:25:57 -07:00
Moxie Marlinspike
25c7459464 Add support for notification priority preference
Fixes #6315
// FREEBIE
2017-04-21 23:05:59 -07:00