Commit Graph

43 Commits (a02f223a96eb3dc947f6305b26b927ebc46f44ed)

Author SHA1 Message Date
Moxie Marlinspike a02f223a96 Join recipient preferences into thread query for faster lookup
// FREEBIE
8 years ago
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
8 years ago
Moxie Marlinspike c5a7d320f7 Don't query contacts DB if we have nothing to query
// FREEBIE
8 years ago
Moxie Marlinspike 5f9a3b7930 Only lookup contact address by number if address is a phone number
// FREEBIE
8 years ago
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
8 years ago
Audric Ackermann 165fae5734 Display contact custom label instead of phone number
Fixes #6211
8 years ago
Moxie Marlinspike 21a0fe3a48 Don't return unresolved asynchronous recipients for non-async callers
Fixes #6082
// FREEBIE
8 years ago
Moxie Marlinspike dadc8d0183 Refactor "unnamed" group logic
// FREEBIE
8 years ago
Christian Ascheberg 49a539a985 prevent contact number NPE
Closes #5460
Fixes #5454
//FREEBIE
9 years ago
Moxie Marlinspike 7b589c4300 TextSecure is now SignalService
// FREEBIE
9 years ago
Moxie Marlinspike a086a2471c Fix crash when creating group with no avatar icon
Fixes #4320
// FREEBIE
10 years ago
Moxie Marlinspike bbf33f88e0 Support for static RecipientDetails for certain shortcodes.
Closes #3813
// FREEBIE
10 years ago
Moxie Marlinspike f7e34a707d Don't blow away entire recipient cache on clear event.
Switch to marking recipients as "dirty" instead.

// FREEBIE
10 years ago
Moxie Marlinspike ce2f66ad17 Refactor colorization to support dark theme.
// FREEBIE
10 years ago
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
10 years ago
Moxie Marlinspike fb9f16ad29 Colorize conversations.
// FREEBIE
10 years ago
Moxie Marlinspike 64df85f3ee Refactor contact photo logic to not reuse drawables.
// FREEBIE
10 years ago
Moxie Marlinspike 9fc02c8ce1 Recipient lookup should happen as caller specifices.
..rather than always synchronously.

Fixes #3447
// FREEBIE
10 years ago
Moxie Marlinspike 40af2a81db Support for per-recipient muting, blocking, and ringtones.
Fixes #757
Fixes #354
Fixes #222
Closes #1815
Closes #3378

// FREEBIE
10 years ago
Moxie Marlinspike 833fcd10ab Fix for when a stored contact's name field is empty.
Display # instead of + in the avatar.

Closes #3141
// FREEBIE
10 years ago
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
10 years ago
Moxie Marlinspike 41cad291f9 Display a generated avatar icon rather than a single default.
If the contact doesn't have an image, render a color-coded
background and the first letter of the contact's name.

1) Don't display anything during recipient resolution.

2) Display a # icon in material gray for recipients with no name.

3) Display a material group icon in material gray for groups with
   no avatar icon set.

Closes #3104

// FREEBIE
10 years ago
Jake McGinty 62816ee51a rounded ImageView instead of Bitmap, crop-select
// FREEBIE
10 years ago
Moxie Marlinspike 0d102f76cc Move ListenableFutureTask up to parent. 11 years ago
Jake McGinty ff2ac8a66e refactor ListenableFutureTask and make saves async
// FREEBIE
11 years ago
Jake McGinty f6e04d0f89 use latest android number as recipient number
Fixes #791
// FREEBIE
11 years ago
Lukas Barth 2d9cd8eb52 Fixing race condition and other mistakes. Fixes #1603.
// FREEBIE
11 years ago
Lukas Barth 7c9282f306 Cache circle cropped photos on Recipient. 11 years ago
Jake McGinty ca6d8a8a0d refactor and improve contact selection
* unify single and multi contact selection activities
* follow android listview design recommendations more closely
* add contact photos to selection
* change indicator for push to be more obvious
* cache circle-cropped bitmaps
* dedupe numbers when contact has multiple of same phone number

// FREEBIE
11 years ago
Moxie Marlinspike a2fe8a9d5c Make default group avatar icon actually work. 11 years ago
Moxie Marlinspike a6e1d56cde Refactor group messaging protocol.
// FREEBIE
11 years ago
Jake McGinty 7beab36c6a updates to conversation menu, and updating of group info
// FREEBIE
11 years ago
Jake McGinty 25324a45b3 Show something for unnamed groups, allow us to have different default photos for groups vs. individuals 11 years ago
Moxie Marlinspike 0ace469d74 Support for multi-device.
1) In addition to the Recipient interface, there is now
   RecipientDevice.  A Recipient can have multiple corresponding
   RecipientDevices.  All addressing is done to a Recipient, but
   crypto sessions and transport delivery are done to
   RecipientDevice.

2) The Push transport handles the discovery and session setup
   of additional Recipient devices.

3) Some internal rejiggering of Groups.
11 years ago
Moxie Marlinspike 49daa45dca wip 11 years ago
Moxie Marlinspike 5e6d39beea Move classes into library 12 years ago
Moxie Marlinspike 2204584d8f Improve locking and performance on asynchronous contact loading. 13 years ago
Moxie Marlinspike 61d4192798 Refactor ContactPhotoFactory to handle changing local contact URIs. 13 years ago
Moxie Marlinspike 9b45e6068b Better asynchronous loading for Recipient information.
1) Switch back from AsyncTasks to an Executor and Futures.

2) Make the Executor operate LIFO.

3) Make the Executor thread a BACKGROUND_PRIORITY thread.
13 years ago
Moxie Marlinspike 9939830551 Refactor recipient access.
1) Refactor recipient class to support asynchronous loading operations.

2) Refactor recipient factory to simplify recipient access.

3) Consoliate everything into one recipient provider that is capable of
doing async lookups and intelligent caching.
13 years ago
Moxie Marlinspike f685cb550b Collapse NewRecipientProvider into RecipientProvider 13 years ago
Moxie Marlinspike c6ae07ee5c Turn avatar images in conversations into QuickContactBadge equivalents.
This requires a few changes to Recipient in order to make sure we
have a Contact URI at click time.  While we're at it, let's git rid
of the OldRecipientProvider, which was for pre-2.0 contact stuff
(no longer supported, woohoo!).
13 years ago
Moxie Marlinspike bbea3fe1b1 Initial Project Import 14 years ago