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
99a26e2bcc
Don't invalidate entire recipient cache when contact data changes
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
7eb089c9de
Temporary fix for Signal contact displaying as SMS for N seconds
...
The whole recipient pipeline needs to be changed more subsantially,
particularly given the way directory discovery works with it. This
will temporarily solve the problem though.
2017-11-25 09:50:36 -08:00
Moxie Marlinspike
b80408bcb4
Use Glide for all contact photo caching
...
// FREEBIE
2017-10-11 17:47:12 -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
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
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
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
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
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
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
5f9a3b7930
Only lookup contact address by number if address is a phone number
...
// FREEBIE
2017-08-01 09:57: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
Audric Ackermann
165fae5734
Display contact custom label instead of phone number
...
Fixes #6211
2017-05-07 19:23:55 -07:00
Moxie Marlinspike
ea0945d406
Beta support for webrtc video and voice calling
...
// FREEBIE
2017-02-01 13:55:52 -08:00
Moxie Marlinspike
21a0fe3a48
Don't return unresolved asynchronous recipients for non-async callers
...
Fixes #6082
// FREEBIE
2017-01-22 21:57:23 -08:00
Moxie Marlinspike
dadc8d0183
Refactor "unnamed" group logic
...
// FREEBIE
2017-01-22 21:23:51 -08:00
Moxie Marlinspike
d7e4928f22
Support for disappearing messages
...
// FREEBIE
2016-08-28 17:03:23 -07:00
Christian Ascheberg
49a539a985
prevent contact number NPE
...
Closes #5460
Fixes #5454
//FREEBIE
2016-05-20 13:36:25 -07:00
Moxie Marlinspike
7b589c4300
TextSecure is now SignalService
...
// FREEBIE
2016-03-24 14:05:56 -07:00
Moxie Marlinspike
77fb2f520f
Add nullable annotation to Recipient contact URI
...
// FREEBIE
2016-02-12 12:47:05 -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
Jake McGinty
d05097a6fd
Refactor group logic (no visual changes)
...
Closes #4480
// FREEBIE
2015-11-12 15:20:16 -08:00
Moxie Marlinspike
a086a2471c
Fix crash when creating group with no avatar icon
...
Fixes #4320
// FREEBIE
2015-10-28 10:36:21 -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
0794380ca8
Listen for recipient changes in conversations and group updates.
...
Closes #4079
// FREEBIE
2015-09-17 12:22:35 -07:00
Moxie Marlinspike
bbf33f88e0
Support for static RecipientDetails for certain shortcodes.
...
Closes #3813
// FREEBIE
2015-07-29 16:17:27 -07:00
Moxie Marlinspike
f7e34a707d
Don't blow away entire recipient cache on clear event.
...
Switch to marking recipients as "dirty" instead.
// FREEBIE
2015-07-17 10:16:14 -07:00
Moxie Marlinspike
410ec57f80
Don't create a canonical id for every character typed.
...
// FREEBIE
2015-07-16 11:15:56 -07:00
Moxie Marlinspike
4ea40b30a2
Switch to enum and theme type for MaterialColor.
...
// FREEBIE
2015-07-01 12:24:38 -07:00
Moxie Marlinspike
ce2f66ad17
Refactor colorization to support dark theme.
...
// FREEBIE
2015-07-01 12:24:38 -07:00
Moxie Marlinspike
78289ded8f
Fully colorize conversations.
...
1. Switch from 300 to 500 colors.
2. Colorize incoming conversation bubbles.
3. Colorize recipeint preference activity toolbar.
4. Support inverted colors in avatars.
5. Make status bar icons tint according to secondary color.
// FREEBIE
2015-06-29 16:06:59 -07:00
Moxie Marlinspike
fb9f16ad29
Colorize conversations.
...
// FREEBIE
2015-06-27 19:43:18 -07:00
Moxie Marlinspike
64df85f3ee
Refactor contact photo logic to not reuse drawables.
...
// FREEBIE
2015-06-27 19:43:18 -07:00
Moxie Marlinspike
9fc02c8ce1
Recipient lookup should happen as caller specifices.
...
..rather than always synchronously.
Fixes #3447
// FREEBIE
2015-06-22 18:01:54 -07:00
Moxie Marlinspike
4feedab02c
Display generic 'group' avatar for MMS groups.
...
Fixes #3386
// FREEBIE
2015-06-18 10:03:10 -07:00
Moxie Marlinspike
ed0e1c07b9
Fix some memory leaks.
...
Fixes #3224
Closes #3228
// FREEBIE
2015-06-18 10:03:10 -07:00
Moxie Marlinspike
40af2a81db
Support for per-recipient muting, blocking, and ringtones.
...
Fixes #757
Fixes #354
Fixes #222
Closes #1815
Closes #3378
// FREEBIE
2015-06-11 11:09:02 -07:00
Moxie Marlinspike
437ffba4b1
Fix for NPE when Recipients is empty for thread.
...
// FREEBIE
2015-05-14 08:53:35 -07:00
Moxie Marlinspike
833fcd10ab
Fix for when a stored contact's name field is empty.
...
Display # instead of + in the avatar.
Closes #3141
// FREEBIE
2015-05-11 22:20:57 -07:00
Moxie Marlinspike
68234959c4
Fix for occasional generated avatar mis-sizing in conversation.
...
Drawables are (strangely) mutable objects. We reuse a single
drawable for each recipient, but some avatar views (the
conversation list -- 40dp) are larger than others (the
conversation -- 30dp).
This results in a situation where TextDrawable doesn't render
itself appropriately, because the bounds are modified by a larger
view.
Giving the Drawable an intrinsic width and height resolves this
conflict.
// FREEBIE
2015-05-08 15:08:44 -07:00