2000 Commits

Author SHA1 Message Date
Moxie Marlinspike
65124fd1f2 Redesign conversation and conversation preferences layouts
Remove avatars from conversation items unless in a group chat.

// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
009c01fd7e Move experience upgrade after passphrase and registration
// FREEBIE
2017-09-25 09:32:44 -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
74779adc34 Use correct open helper for old directory database
// FREEBIE
2017-09-19 11:03:18 -07:00
Moxie Marlinspike
260383ac21 Fix problem with direct share
Fixes #6968
// FREEBIE
2017-09-15 10:36:33 -07:00
Moxie Marlinspike
b6aedd330e Disable signal messaging if unregistered
Fixes #6963
// FREEBIE
2017-09-14 16:46:12 -07:00
Moxie Marlinspike
5a0f671aa4 Fix not sending group info request messages
Fixes #6962
// FREEBIE
2017-09-13 17:19:59 -07:00
Moxie Marlinspike
b7109e9ebb Fix for NPE if MMS notification has no transaction ID
// FREEBIE
2017-09-13 16:38:02 -07:00
Moxie Marlinspike
93395c3ff4 Include own profile key in normal contact sync
// FREEBIE
2017-09-12 22:49:30 -07:00
Moxie Marlinspike
40d7826fb9 Fix <= KitKat bug that prompts for MMS configuration
Fixes #6954
2017-09-11 13:04:20 -07:00
Moxie Marlinspike
962944a974 Add some annotations
// FREEBIE
2017-09-10 11:21:51 -07:00
Moxie Marlinspike
08948fe05a Don't create groups for 1:1 MMS conversations
Fixes #6947
// FREEBIE
2017-09-10 11:13:53 -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
f335a65d32 Stop Thread.interrupt() from being called
// FREEBIE
2017-09-08 11:48:44 -07:00
Moxie Marlinspike
79a88f378b Avoid NPE if capture file isn't available
// FREEBIE
2017-09-08 11:38:07 -07:00
Moxie Marlinspike
afed60f870 Handle recipient modification callbacks on main thread
// FREEBIE
2017-09-08 11:36:09 -07:00
Moxie Marlinspike
989ea4042c MMS group includes the sender
Fixes #6942
// FREEBIE
2017-09-08 11:19:57 -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
032eaa4389 Fix crash on conversation list search
Fixes #6936
// FREEBIE
2017-09-07 13:52:58 -07:00
Moxie Marlinspike
962fb60ffb Don't synchronize MMS groups to sibling devices
Fixes #6934
// FREEBIE
2017-09-07 11:12:57 -07:00
Moxie Marlinspike
6455c66a0b Fix bug that prevented selecting insecure SMS
Fixes #6929

// FREEBIE
2017-09-06 17:54:32 -07:00
Moxie Marlinspike
2890490ab4 Support cameras that don't return data intent
Fixes #6926

// FREEBIE
2017-09-06 16:16:01 -07:00
Moxie Marlinspike
bcff186b10 Add self to MMS groups when migrating
Fixes #6925
// FREEBIE
2017-09-06 16:08:20 -07:00
Moxie Marlinspike
967c374213 Display error when camera doesn't return image
Partial #6926
// FREEBIE
2017-09-06 16:03:08 -07:00
Moxie Marlinspike
e172b84603 Fix crash on displaying unknown contact header
Fixes #6924

// FREEBIE
2017-09-06 15:49:10 -07:00
Moxie Marlinspike
bdb67725c5 Add additional debug information for mysterious stack trace
Related #6923

// FREEBIE
2017-09-06 13:56:09 -07:00
Moxie Marlinspike
29b561fe41 Fix group conversation items glitching to use conversation recipient
// FREEBIE
2017-09-06 10:31:48 -07:00
Moxie Marlinspike
19be527370 Fix recursive experience upgrade activity problem
// FREEBIE
2017-09-06 00:29:49 -07:00
Moxie Marlinspike
efc4a5ab9d Fix problem with prefetched recipient details
Don't use a cached recipient if we have a prefetched recipient
detail object and the cached recipient is still in progress
and without a name

// FREEBIE
2017-09-06 00:11:11 -07:00
Moxie Marlinspike
7197d513a3 Add target for 'who can see this' profile link
// FREEBIE
2017-09-05 12:52:50 -07:00
Moxie Marlinspike
5cccea5846 Revert "Change default charset to UTF-8"
This reverts commit 86eb14b7bbad2be6e23f36478b4f3d6a43d55dd7.
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
2add02c62f Add splash screen for setting profiles
// FREEBIE
2017-09-03 19:45:43 -07:00
Moxie Marlinspike
3e3ae5f865 Adjust profile key sharing based on sync messages
// FREEBIE
2017-08-28 17:57:07 -07:00
jdaminato94
6945ecf81d Keep screen on when viewing a video
Fixes #6642
Closes #6837

// FREEBIE
2017-08-28 10:45:32 -07:00
Markus Brenneis
66062f200a Work around SmsMessage.calculateLength NPE on broken ROMs
//FREEBIE
2017-08-28 10:43:14 -07:00
marcoscezar
37a5622525 Display appropriate registration error msg w/ bad verification code
Fixes #6551
2017-08-28 10:38:35 -07:00
Moxie Marlinspike
d0cd2621ca Only process messages if a body is present
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
51c1e4485f Support for profile key syncing to sibling devices
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
beed9d8034 Add length limit feedback when setting profile name
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
638a9576f8 Add censorship circumvention endpoints for CDN
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
6bfe05323e Update recipient preference style
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
64ad9ec9dd Add group profile sharing logic
// FREEBIE
2017-08-28 10:30:50 -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
6af836735b Remove unnecessary logging
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
1252b3ca00 Don't display unknown sender footer for group messages
// 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
5942e93a33 Share profile key when initiating a conversation
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
c11f2eddf5 Display user profile information in settings activity
Allow for editing

// 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
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
1893047a78 Profile creation activity
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
da94fd5f9e Join group information into conversation list query
// 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
a02f223a96 Join recipient preferences into thread query for faster lookup
// 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
mcloo
60eaade6b0 Fix plaintext export XML name escaping
Fixes #6830
Closes #6861
2017-08-22 15:22:03 -07:00
Benedikt Constantin Radtke
54396a3a9c Fix group info request responses
GroupRecords have a list of Addresses, not Strings.

Fixes #6881
Closes #6882
2017-08-22 15:19:39 -07:00
Moxie Marlinspike
a80fe178ea Canonicalize addresses during import from system SMS database
// FREEBIE
2017-08-10 12:30:13 -07:00
Moxie Marlinspike
422b4c345b Catch IllegalArgumentException thrown internally on some devices
// FREEBIE
2017-08-10 12:17:05 -07:00
Moxie Marlinspike
47901e4198 Disallow alpha chars in country code field
// FREEBIe
2017-08-07 12:40:40 -07:00
Moxie Marlinspike
25a30d63a5 A blocked contact doesn't necessarily have to be a number
// FREEBIE
2017-08-07 12:27:34 -07:00
Moxie Marlinspike
c5a7d320f7 Don't query contacts DB if we have nothing to query
// FREEBIE
2017-08-04 09:28:20 -07:00
Moxie Marlinspike
8de9261081 MMS addresses can be email addresses
Fixes #6853
// FREEBIE
2017-08-04 09:22:58 -07:00
Moxie Marlinspike
cb4303ac23 Handle migration case where recipient_ids is completely empty
No idea how a DB is in that state, but apparently it's possible

Fixes #6850
// FREEBIE
2017-08-03 09:32:56 -07:00
Moxie Marlinspike
9a78615991 Switch regexp matcher to find() in order to handle alpha addresses
Any address with an alpha character anywhere in it should be used
as-is.

Fixes #6849

// FREEBIE
2017-08-03 09:24:08 -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
4838fade6c Fix typo
// FREEBIE
2017-08-02 11:15:58 -07:00
Moxie Marlinspike
1e934f6146 Escape addresess in thread and recipient pref migrations
For clients that have not yet migrated

// FREEBIE
2017-08-02 11:08:38 -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
24c48afd2e Fix typo in migration constraint resolution
Fixes #6846

// FREEBIE
2017-08-02 08:02:15 -07:00
Moxie Marlinspike
9a55632202 During migration, support recipient id of "-1"
Fixes #6843
// FREEBIE
2017-08-01 18:45:13 -07:00
Moxie Marlinspike
6ed549cfb2 If two recipient ids get canonicalized to the same thing, drop one
There's not a great way for me to know which of them is the "real"
entry, which means that I could be deleting the wrong one. In the
case of recipient "preferences," it's hopefully not a huge loss,
and there aren't any other great options.

Fixes #6838

// FREEBIE
2017-08-01 14:52:03 -07:00
Moxie Marlinspike
8a5c89244a Be more liberal with migration addresses.
Anything alpha is an address as-is.

// FREEBIE.
2017-08-01 14:46:38 -07:00
Moxie Marlinspike
a67d0b18ff Be more liberal with external address formatting
A string like "bonbon" should just be "bonbon". That is apparently
a valid SMS source address.

// FREEBIE
2017-08-01 14:04:51 -07:00
Moxie Marlinspike
abea2d0bdf Fix for MediaOverviewActivity NPE
// FREEBIE
2017-08-01 10:00:55 -07:00
Moxie Marlinspike
5f9a3b7930 Only lookup contact address by number if address is a phone number
// FREEBIE
2017-08-01 09:57:50 -07:00
Moxie Marlinspike
4229c21bdc Fix NPE on contact update request
Fixes #6840

// FREEBIE
2017-08-01 08:57:26 -07:00
Moxie Marlinspike
0ae60da68b Fix some bugs that would mis-label threads in migration
// FREEBIE
2017-07-31 14:04:47 -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
e452862813 Catch unsatisfied link error on start if webrtc so isn't found
// FREEBIE
2017-07-21 16:29:03 -07:00
Moxie Marlinspike
5be246ec8f Fix NPE for SMS pdus that could potentially be null
// FREEBIE
2017-07-21 16:11:55 -07:00
Moxie Marlinspike
72afb33c1b Add Moto G5 to hardware AEC blacklist
For #6241
// FREEBIE
2017-07-21 16:03:31 -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
AndHell
10de144b77 Trim message text to prohibit sending empty whitespace messages
Closes #6788
2017-07-12 18:15:49 -07:00
Moxie Marlinspike
c36db03a3a Prevent audio control click handler feedback loops
Fixes #6356
Fixes #6406
Fixes #6169

Closes #6800
// FREEBIE
2017-07-12 16:18:54 -07:00
Moxie Marlinspike
9dd508b6f5 Track pending incoming ice updates in addition to outgoing
// FREEBIE
2017-07-12 11:15:28 -07:00
Moxie Marlinspike
34443b059c Revert "We can now send trickle ice candidates immediately"
Need to hold off on this for some iOS changes.

This reverts commit 338f8de7874c31b862af7da1bea0a4cd8472e6af.
2017-07-12 10:59:10 -07:00
Moxie Marlinspike
526d510423 Start creating "persistent" blobs in cache directory
Helps #5515
// FREEBIE
2017-07-06 12:58:05 -07:00
Gavin Howard
381237a315 Make plaintext export more compatible with SMS Backup and Restore
This commit adds the contact name and the readable date (and time) to
the plaintext export of every message. That's because that is how SMS
Backup and Restore does it, so this commit makes Signal more compatible.

Closes #6452
// FREEBIE
2017-07-06 12:19:12 -07:00
FeuRenard
512c6dc581 Keep screen off after end of audio playback
Fixes #6654
Closes #6669
// FREEBIE
2017-07-05 18:31:14 -07:00
Christian Ascheberg
d0bb68e137 Fix group creation through group info request
Closes #6763
// FREEBIE
2017-07-05 14:19:55 -07:00
Christian Ascheberg
95d48bd3e9 Improve wording of joined contact notification
Fixes #6757
Closes #6764
// FREEBIE
2017-07-05 14:18:07 -07:00