445 Commits

Author SHA1 Message Date
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
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
2b79e131a7 Support for sending arbitrary file types
// FREEBIE
2017-04-21 23:05:59 -07:00
Ahmed Ibrahim Khalil
c3164a8e84 Support copying links on long click.
Fixes #6343
Closes #6454
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
5f5db5ded7 Support for message body text size preference
// FREEBIE
2017-04-14 22:59:30 -07:00
Moxie Marlinspike
e5a287b4e5 Add preference for SMS invitation prompt
// FREEBIE
2017-04-14 20:51:22 -07:00
Moxie Marlinspike
0a4d1569fb Clean up file name some on save
Rusty Bird points out that we don't want the save action to create
files outside the parent or hidden files.

// FREEBIE
2017-04-10 09:14:59 -07:00
Moxie Marlinspike
b0bd6ad729 Fix for crash when opening group conversation
Fixes #6464
// FREEBIE
2017-03-31 16:52:50 -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
f67eb5f9f3 Support for receiving arbitrary attachment types
// FREEBIE
2017-03-29 18:17:34 -07:00
Moxie Marlinspike
0d11b3dd26 Lets limit GCM refresh to every 6hrs, and only retry once
// FREEBIE
2017-03-17 10:40:34 -07:00
Christian Ascheberg
3506f2db12 Improve group update descriptions
Closes #5416
// FREEBIE
2017-03-14 14:26:14 -07:00
Moxie Marlinspike
2f46c6ca1f Don't redisplay notifications after they have been dismissed
Fixes #5751
Fixes #6218
// FREEBIE
2017-03-14 10:09:24 -07:00
Moxie Marlinspike
9b8719e2d5 Support for website distribution build with auto-updating APK
// FREEBIE
2017-02-27 23:53:36 -08:00
Moxie Marlinspike
1669731329 Support for using Signal without Play Services
This is now possible with beta calling, so non-GCM users are a
part of beta calling by default.

// FREEBIE
2017-02-20 12:00:03 -08:00
Moxie Marlinspike
acca4a72d3 Improve default SMS subscription id intelligence
Fixes #5266
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
f541e33356 Publish TURN-only ICE candidates in some situations
1) Incoming call is from a number not in user's address book

2) Turn-only preference is enabled for all incoming/outgoing calls

// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
143fb1fe21 Make header decorations play well together
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
d9b42c4369 Support for a "new messages" divider in conversations
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
f3e47f7b60 Support for minimized controls during video call
// FREEBIE
2017-02-11 20:48:42 -08:00
Moxie Marlinspike
ea0945d406 Beta support for webrtc video and voice calling
// FREEBIE
2017-02-01 13:55:52 -08:00
Moxie Marlinspike
15a389c171 Don't calculate date header item for adapter header
Fixes #6098
// FREEBIE
2017-01-25 18:00:26 -08:00
Moxie Marlinspike
d46d3b72c8 Make the sticky date header only visible during scroll
// FREEBIE
2017-01-25 16:38:36 -08:00
Moxie Marlinspike
b575b4e6ae Fix for intermittent crash
// FREEBIE
2017-01-24 17:51:32 -08:00
Moxie Marlinspike
4c815db076 Support for sticky date headers
Closes #4696
// FREEBIE
2017-01-23 16:44:38 -08:00
Benedikt Constantin Radtke
4461ebf662 check if image decoding succeeded before using the result
Fixes #6061
Closes #6080
// FREEBIE
2017-01-22 22:05:27 -08:00
Moxie Marlinspike
7e51d61c79 Ignore duplicate signal messages
Fixes #5579

// FREEBIE
2017-01-22 14:47:02 -08:00
Moxie Marlinspike
235a8472d9 Remove dedicated MMS download controls
// FREEBIE
2017-01-20 15:26:17 -08:00
Moxie Marlinspike
e270e8d429 ViewStub for AudioView in ConversationItems
// FREEBIE
2017-01-20 09:11:40 -08:00
Moxie Marlinspike
508a666e76 ViewStub for ReminderView, lazy create AttachmentTypeSelector
// FREEBIE
2017-01-19 11:47:02 -08:00
Moxie Marlinspike
3d6cbdd775 ViewStub for entire AttachmentManager
// FREEBIE
2017-01-19 11:47:02 -08:00
Moxie Marlinspike
bb5dcb7131 Start increasing frequency of signed prekey rotation
// FREEBIE
2017-01-06 09:19:58 -08:00
Moxie Marlinspike
884d8b7f72 Store display name in Signal contacts
Fixes #5974
// FREEBIE
2017-01-05 12:42:28 -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
FeuRenard
cde92256a6 Convert file save toast string to plural
Closes #5961
// FREEBIE
2017-01-02 17:17:48 -08:00
Moxie Marlinspike
541718fd11 Support for censorship circumvention in Egypt and UAE
// FREEBIE
2016-12-20 09:55:52 -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
RiseT
43e1d452c7 Change DateUtils string 'Now' to 'Just now'
Changes the DateUtils string 'Now' to 'Just now' which is a better fit
imho.
Used for messages in the conversation view that e. g. just have been
received.

// FREEBIE

Closes #5761
2016-11-28 09:16:38 -08:00
Niklas Wenzel
0d493a3af9 Get the automated tests up and running again
* Fix the build.gradle file
* Use the correct VisibleForTesting class
* Fix the Android test setUp() logic
* Enable a test in DeliveryReceiptJobTest.java where the @Test anotation was missing

It should be noted that the tests in AttachmentDatabaseTest.java fail.

Fixes #3474
Closes #5882
2016-11-24 08:13:46 -08:00
Moxie Marlinspike
b55a7ff5c0 Add copy and compare safety numbers from clipboard actions
// FREEBIE
2016-11-14 19:50:29 -08:00
Moxie Marlinspike
c5bf84cf9c Make blocking SN changes the default for now
// FREEBIE
2016-11-14 13:36:48 -08:00
Moxie Marlinspike
0abe56171a Enable non-blocking safety number changes
// FREEBIE
2016-11-11 19:07:35 -08:00
haffenloher
23544fae8a Increase JPEG quality & slow down quality decrease
Related #672
Closes #5772

//FREEBIE
2016-10-25 12:23:21 -07:00
Moxie Marlinspike
69d0242574 Giphy integration
// FREEBIE
2016-10-18 10:28:42 -07:00
Moxie Marlinspike
549e45e2d6 Disable non-blocking identity changes for iOS compat
// FREEBIE
2016-10-05 10:27:32 -07:00
FeuRenard
d00441e20d Implement onStartLoading() in DeviceListLoader
Fixes #4641
Closes #5682
// FREEBIE
2016-09-25 14:58:27 -07:00
Moxie Marlinspike
848a25664b Make fingerprint changes optionally non-blocking
Also complete the rename from "identity" to "safety numbers."

// FREEBIE
2016-09-25 14:27:40 -07:00
Moxie Marlinspike
893f106189 Fix divide by zero error
Fixes #5674

// FREEBIE
2016-09-09 11:53:37 -07:00
FeuRenard
e4fccbe26e Calculate SMS characters respecting encoding
Fixes #1171
Closes #5448

// FREEBIE
2016-08-31 19:51:34 -07:00