Commit Graph

61 Commits

Author SHA1 Message Date
Greyson Parrelli
abae419853 Flatten multiline text snippets in search results.
If a search result snippet spans two lines, we only show the first line.
For the purpose of display, we first remove all newlines in order to
make the full snippet visible.
2018-05-23 14:32:46 -04:00
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
Moxie Marlinspike
f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 2018-01-30 17:27:05 -08:00
Moxie Marlinspike
909c0c544c Make sure thread preview text is to left of unread indicator 2017-11-15 15:49:45 -08:00
Moxie Marlinspike
534dec282f Brighten light theme
1) Brighten background color

2) Add unread indicator in conversation list

3) Eliminate some conversation list overdraw
2017-11-14 10:50:17 -08:00
Christian Ascheberg
fdd070c1dd Do not show sent checkmark for verification status changes
Fixes #6743
Closes #7041
// FREEBIE
2017-11-01 15:56:46 -07:00
Moxie Marlinspike
b80408bcb4 Use Glide for all contact photo caching
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
cb9bc9659b Support for read receipts
// FREEBIE
2017-10-01 22:36:52 -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
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
FeuRenard
ec1a0547d6 Don't show sent checkmark for outgoing calls
Fixes #6502
Closes #6667
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
d9b42c4369 Support for a "new messages" divider in conversations
// FREEBIE
2017-02-19 12:29:33 -08:00
agrajaghh
f9c9068ca8 fix crash on gingerbread
Closes #4962
//FREEBIE
2015-12-25 14:39:11 -08:00
haffenloher
6ad2c4bb29 Stop inbox snippet from overflowing the thumbnail
Also ensure the thumbnails are placed correctly in the archive view.

Closes #4954
// FREEBIE
2015-12-24 07:48:19 -08:00
agrajaghh
4fa6680f83 RTL support
Closes #4916
Fixes #4714
2015-12-24 07:47:25 -08:00
Moxie Marlinspike
adda7622f4 Mark messages read when swipe archiving
// FREEBIE
2015-12-03 12:36:47 -08:00
haffenloher
7c95adc7e6 Add delivery status icons to the conversation list
Closes #4710
2015-12-03 11:28:04 -08:00
Moxie Marlinspike
cdb122d3d1 Reposition thumbnail when in archived view
Fixes #4744
// FREEBIE
2015-11-30 10:36:56 -08:00
Moxie Marlinspike
2ab0029d49 Support for archive actions
Fixes #1141
Closes #4698
// FREEBIE
2015-11-27 12:45:23 -08:00
Jake McGinty
0c75e652eb bring back the ripple when clicking on preview
Closes #4506
// FREEBIE
2015-11-12 15:20:17 -08:00
Moxie Marlinspike
34b80f91ee Propagate clicks on conversation list thumbnails.
Closes #4292
// FREEBIE
2015-10-24 10:33:20 -07:00
Moxie Marlinspike
5111fe2e95 Display thumbnail previews for images in conversation list.
Closes #4262
// FREEBIE
2015-10-22 10:45:04 -07:00
Jake McGinty
99d3374d35 migrate conversation list to RecyclerView
fixes #2488
fixes #2333
// FREEBIE
2015-09-24 14:12:09 -07:00
Jake McGinty
ae17b4b24a bright background for unread messages
Closes #3909
// FREEBIE
2015-08-07 17:15:50 -07:00
Jake McGinty
20a1507f7a colorize ripples
Closes #3515
// FREEBIE
2015-07-02 15:12:16 -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
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
Jake McGinty
bd2e984963 reduce GPU overdraw
Closes #3305
// FREEBIE
2015-06-03 11:14:03 -07:00
Jake McGinty
bf133c65c3 refactor emoji code into package
1) EmojiTextView and EmojiEditText are used instead of
   using code to emojify text.

2) Emoji categories' code points are specified in XML

3) EmojiDrawer itself is a fragment, and its pages are
   also fragments, allowing for better memory
   management.

Fixes #2938
Fixes #2936
Closes #3153

// FREEBIE
2015-05-14 13:54:11 -07:00
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
2015-05-07 10:36:54 -07:00
Rhodey Orbits
d8521637bb use Locale from DynamicLanguage for displaying dates
1) fixed DateUtils to use SimpleDateFormat for everything because it respects Locale
2) added getCurrentLocale() method to DynamicLanguage
3) allow PassphraseRequiredActionBarActivity.initFragment() to accept a Locale
4) updated classes that depend on DateUtils to pass down Locale from DynamicLanguage

Fixes #2684
Closes #2725
// FREEBIE
2015-04-23 13:56:31 -05:00
Moxie Marlinspike
00d7b5c284 Better UX handling on identity key mismatches.
1) Migrate from GSON to Jackson everywhere.

2) Add support for storing identity key conflicts on message rows.

3) Add limited support for surfacing identity key conflicts in UI.
2015-02-27 12:26:09 -08:00
Jake McGinty
0fd52ad1fe more succinct relative dates
// FREEBIE
2015-02-06 13:00:21 -08:00
Jake McGinty
65c262acef increase unread visibility in conv list
// FREEBIE
2015-02-05 18:41:54 -08:00
Jake McGinty
810abe0275 material actionbar and fab
// FREEBIE
2015-01-21 19:01:23 -10:00
Jake McGinty
62816ee51a rounded ImageView instead of Bitmap, crop-select
// FREEBIE
2015-01-21 17:39:54 -10:00
Jake McGinty
b05967f2c9 Show drafts in conversation list snippets
// FREEBIE
2014-12-11 18:27:54 -08:00
Jake McGinty
530ad7bc86 new emoji drawer
// FREEBIE
Closes #1746
2014-07-26 13:35:03 -07:00
Lukas Barth
7c9282f306 Cache circle cropped photos on Recipient. 2014-06-11 12:33:57 -07:00
Jake McGinty
0cdc6fd87d embrace the darkness, don't open quickcontact for groups
// FREEBIE
2014-02-19 15:01:10 -08:00
Jake McGinty
0688dd0c2c repurpose ImageDivet for avatar, minor lint, fix bitmap decoding
// FREEBIE
2014-02-19 00:01:37 -08:00
Jake McGinty
25324a45b3 Show something for unnamed groups, allow us to have different default photos for groups vs. individuals 2014-02-17 21:42:30 -08:00
Moxie Marlinspike
067799be06 Display group actions and correctly handle group delivery. 2014-02-14 15:59:57 -08:00
Jake McGinty
28c1c5006b icon, contact list and conversation redesign 2014-01-09 19:06:41 -10:00
Moxie Marlinspike
71e161c792 Switched to new emoji lookup pattern, added rendering support. 2013-06-28 16:56:30 -07:00
Moxie Marlinspike
288b416988 Fix NPEs 2013-06-25 13:20:29 -07:00
Moxie Marlinspike
5263ac1f1a Theme Support
1) Broke out the UI elements of the major Activites into stylable
   attributes.

2) Created a 'light' and 'dark' theme for the newly stylable attrs.

3) Touched up some of the UI spacing.

4) Implemented dynamic theme switching support.
2013-06-21 12:14:40 -07:00
Moxie Marlinspike
95eb62190a Remove checkboxes from the multi-select UI 2013-05-23 18:37:04 -07:00
Moxie Marlinspike
dd0aecc811 First cut at group messaging refactor. 2013-05-06 08:40:55 -07:00
Moxie Marlinspike
83e260436b Major storage layer refactoring to set the stage for clean GCM.
1) We now try to hand out cursors at a minimum.  There has always been
   a fairly clean insertion layer that handles encrypting message bodies,
   but the process of decrypting message bodies has always been less than
   ideal.  Here we introduce a "Reader" interface that will decrypt message
   bodies when appropriate and return objects that encapsulate record state.

   No more MessageDisplayHelper.  The MmsSmsDatabase interface is also more
   sane.

2) We finally rid ourselves of the technical debt associated with TextSecure's
   initial usage of the default SMS DB.  In that world, we weren't able to use
   anything other than the default "Inbox, Outbox, Sent" types to describe a
   message, and had to overload the message content itself with a set of
   local "prefixes" to describe what it was (encrypted, asymetric encrypted,
   remote encrypted, a key exchange, procssed key exchange), and so on.

   This includes a major schema update that transforms the "type" field into
   a bitmask that describes everything that used to be encoded in a prefix,
   and prefixes have been completely eliminated from the system.

   No more Prefix.java

3) Refactoring of the MultipartMessageHandler code.  It's less of a mess, and
   hopefully more clear as to what's going on.

The next step is to remove what we can from SmsTransportDetails and genericize
that interface for a GCM equivalent.
2013-05-06 08:40:55 -07:00