139 Commits

Author SHA1 Message Date
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
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
2c405d1769 Delete raw contacts that are marked for deletion
Fixes #7628
2018-04-16 17:33:26 -07:00
Greyson Parrelli
18039bc3f4 Show groups when searching for contacts.
Currently, if you're searching for a contact to start a conversation
with or send a share to (via the Android sharing system), groups do not
appear. With this change, groups will now appear when searching, located
under their own  heading.

Fixes #7202.
Closes #7577
2018-03-31 02:14:02 -07:00
Moxie Marlinspike
f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 2018-01-30 17:27:05 -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
08c72ed874 Don't show group ID in recent contact selection list
Fixes #7201
2017-11-19 16:46:12 -08:00
Moxie Marlinspike
cf81815bf6 Add recent chats to top of share list 2017-11-16 15:21:46 -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
d40fea9423 Catch Glide exception when loading avatar image
Workaround for #7016
// FREEIBE
2017-10-10 09:18:00 -07:00
Moxie Marlinspike
12020a3f86 Fix vector drawable problems < Android 5.0
Fixes #7056
// FREEBIE
2017-10-08 17:42:45 -07:00
Moxie Marlinspike
ac282ccf70 Display contact color in background for generated avatars
Fixes #7028
// FREEBIE
2017-10-04 15:24:04 -07:00
Moxie Marlinspike
99b2149deb Fixed avatar icons not rendering in contact selection view
// FREEBIE
2017-10-04 14:47:29 -07:00
Moxie Marlinspike
b34eb08088 Fix look of default group photo in conversation preferences view
Fixes #7022
// FREEBIE
2017-10-03 14:01:02 -07:00
Moxie Marlinspike
962944a974 Add some annotations
// FREEBIE
2017-09-10 11:21:51 -07:00
Moxie Marlinspike
f335a65d32 Stop Thread.interrupt() from being called
// FREEBIE
2017-09-08 11:48:44 -07:00
Moxie Marlinspike
beed9d8034 Add length limit feedback when setting profile name
// 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
6924f0519e No need for a RecipientFactory any longer
// 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
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
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
AndHell
dc18f73594 update contact query
update query to remove duplicated numbers

Fixes #4191
Closes #6475
2017-05-07 19:18:26 -07:00
Moxie Marlinspike
b0b08a37db Rename "other" to "sms"
// FREEBIE
2017-05-07 18:59:18 -07:00
Mateo Hernandez
c389a9d3ce Support non-BMP chars (e.g. emojis) in avatars
Closes #6527
Fixes #6522
// FREEBIE
2017-04-16 10:35:08 -07: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
ea0945d406 Beta support for webrtc video and voice calling
// FREEBIE
2017-02-01 13:55:52 -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
Moxie Marlinspike
884d8b7f72 Store display name in Signal contacts
Fixes #5974
// FREEBIE
2017-01-05 12:42:28 -08:00
Moxie Marlinspike
69d0242574 Giphy integration
// FREEBIE
2016-10-18 10:28:42 -07:00
Moxie Marlinspike
32f5bd5336 Support for syncing contact colors and block lists
Closes #5638
// FREEBIE
2016-09-14 16:37:28 -07:00
Moxie Marlinspike
7b589c4300 TextSecure is now SignalService
// FREEBIE
2016-03-24 14:05:56 -07:00
haffenloher
4168092f5d Use high-res callcard for TransparentContactPhoto
Closes #5228

// FREEBIE
2016-03-18 12:54:35 -07: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
cba0ff7750 COLLATE LOCALIZED seems to imply COLLATE NOCASE
// FREEBIE
2016-01-30 16:08:18 -08:00
Moxie Marlinspike
1b97756b05 Use collate localized to sort contacts
Fixes #5144
// FREEBIE
2016-01-30 14:36:06 -08:00
haffenloher
1abf39685a Use larger version of ic_contact_picture in calls
Closes #4971
Fixes #4245
// FREEBIE
2016-01-27 11:59:10 -08:00
agrajaghh
4fa6680f83 RTL support
Closes #4916
Fixes #4714
2015-12-24 07:47:25 -08:00