Commit Graph

1003 Commits

Author SHA1 Message Date
Moxie Marlinspike
dc903e49af Fix image cache bugs.
1) Index SlideDeckListener cache by MMS (id, timestamp) tuple.

2) Index parts by (id, content_id) tuples.

Fixes #840
Closes #3183
// FREEBIE
2015-05-20 13:38:24 -07:00
Moxie Marlinspike
082985276f Fix for media thumbnails flickering on model updates.
Only update ImageView contents when they have changed.

Fixes #1004
Fixes #2663
Closes #3184

// FREEBIE
2015-05-20 13:07:39 -07:00
Moxie Marlinspike
636b11abea Refactor ContactSelectionListAdapter and associated views.
Fixes #3181
Closes #3197

// FREEBIE
2015-05-20 12:52:43 -07:00
agrajaghh
3e890e11d9 add SwitchCompat to preferences
Closes #3137
2015-05-20 12:46:36 -07:00
Jake McGinty
fa39c23d44 ReceiveKeyActivity -> ReceiveKeyDialog
Closes #3158
// FREEBIE
2015-05-20 12:39:59 -07:00
Jake McGinty
fab2296927 turn RegistrationProblemsActivity into a dialog
// FREEBIE
2015-05-20 12:39:25 -07:00
Jake McGinty
0ee46bbe5f new emoji category layout
Fixes #2962
Fixes #2954
Fixes #2941
// FREEBIE
2015-05-19 14:01:22 -07:00
Moxie Marlinspike
4c89b242be Eliminate progess dialog during group members lookup.
It's just a flicker of confusion.

// FREEBIE
2015-05-18 15:48:43 -07:00
Jake McGinty
cf420de65f fix recent emoji pane
1) Make recent list properly update and invalidate.
2) Show most-recently-used first.
3) Refactoring

Closes #3171
// FREEBIE
2015-05-15 17:15:47 -07:00
Moxie Marlinspike
5ec9197912 Switch to CENTER_CROP for AvatarImageView
Fixes #3174
// FREEBIE
2015-05-15 17:14:20 -07:00
Moxie Marlinspike
4f78309e51 Fix for deadlock if MessageNotifier called from UI thread.
Fixes #3173

// FREEBIE
2015-05-15 08:27:38 -07:00
Jake McGinty
8011b308c2 invalidateSelf() on the main thread
Closes #3170
// FREEBIE
2015-05-15 07:20:46 -07:00
Jake McGinty
ab8593d5f3 invalidate emoji when load completes
Closes #3169
// FREEBIE
2015-05-14 16:39:15 -07:00
Jake McGinty
54db79bfdd fix AppCompatEditText Transformation issues
Closes #3168
// FREEBIE
2015-05-14 16:14:16 -07:00
Jake McGinty
c7d2ed4f7d Fix 2.3.x fragment LayoutParams issue.
Closes #3167

// FREEBIE
2015-05-14 14:59:26 -07:00
Rhodey Orbits
d0f26f3e97 switch default led color to blue
Fixes #3115
Closes #3116

// FREEBIE
2015-05-14 14:23:35 -07:00
Rhodey Orbits
b6e241b0dc finish ConversationActivity on delete of empty thread
Fixes #3086
Closes #3124

// FREEBIE
2015-05-14 14:08:05 -07:00
Jake McGinty
75edb8c12c missing import
// FREEBIE
2015-05-14 13:59:48 -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
Rhodey Orbits
ee73883214 remove 'Media message:' prefix from MMS notification notification
Fixes #2928
Closes #3152

// FREEBIE
2015-05-14 10:23:32 -07:00
Jake McGinty
488767550e make ComposeText extend AppCompatEditText
Fixes #3134
Closes #3160

// FREEBIE
2015-05-14 10:08:20 -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
40ca2575da For # too. 2015-05-09 09:10:36 -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
Moxie Marlinspike
e62528d3e2 Fix for lollipop notifications not rendering generated avatars.
// FREEBIE

Fixes #3120
Closes #3122
2015-05-07 16:34:17 -07:00
Jake McGinty
2d8de5291e Remove broken custom dialog theme
Closes #3121

// FREEBIE
2015-05-07 13:38:06 -07:00
Jake McGinty
4011208db3 prevent strange appcompat stack overflow
inspiration: http://stackoverflow.com/a/14167949

Fixes #3118
Closes #3119
// FREEBIE
2015-05-07 11:53:24 -07:00
Moxie Marlinspike
4ad9d6b5cc Fix for drawable modification on background thread.
// FREEBIE
2015-05-07 11:34:07 -07:00
Christoph Haefner
417a4b86b6 Added QuickContact onclick in GroupMembersDialog
Fixes #2837
Closes #3033
2015-05-07 10:47:41 -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
Jake McGinty
8332342d75 verify glide isn't loading into destroyed activity
Fixes #3110
Closes #3114

// FREEBIE
2015-05-07 09:46:33 -07:00
Rhodey Orbits
cdd7a1042a consider search query when selecting all threads
Fixes #2996
Closes #3112

// FREEBIE
2015-05-05 12:48:28 -07:00
Jake McGinty
72f3f79016 support repeating keyevents for emoji backspace
Fixes #2945
Closes #2988

// FREEBIE
2015-05-05 10:14:35 -07:00
Jake McGinty
ab82ff0b69 use IPv6 routing API then fallback to Lollipop
1) Utilize the hidden API requestRouteToHostAddress that takes an
   InetAddress (IPv6-capable) instead of a forced IPv4 integer-
   encoded address. Will fallback to the IPv4 one if reflection
   fails for whatever reason.

2) If on Lollipop and our manual MMS code doesn't work, will try
   to use the Lollipop API and give it 60 seconds instead of 30,
   since I did run into the timeout not being long enough in
   certain conditions and I'm thinking maybe it just wasn't long
   enough for some carriers.

Closes #3105
// FREEBIE
2015-05-04 18:29:30 -07:00
Jake McGinty
b37c81ddf1 Upgrade to AppCompat v22.1
1) update material-dialogs to fix build
2) change to AppCompat autocomplete and fix visual bug in GB

Closes #3089
// FREEBIE
2015-04-30 16:51:16 -07:00
Rhodey Orbits
8f002bd68d fix handling of sms:, smsto:, mms:, mmsto: URIs
1) add VIEW action and BROWSABLE category to SmsSendtoActivity intent filter
2) created class Rfc5724Uri for processing RFC5724 SMS URIs
3) added a set of tests for new Rfc5724Uri class
4) updated SmsSendtoActivity to use Rfc5742Uri for processing VIEW intents

Fixes #2578
Closes #3030

// FREEBIE
2015-04-30 11:54:38 -07:00
Jake McGinty
26c4d746d2 make part and mms insertion a single transaction
fixes #3051
closes #3059
// FREEBIE
2015-04-28 00:16:37 -05:00
Moxie Marlinspike
d0008b57b5 Fix for NPE on null PDUs
// FREEBIE
2015-04-24 17:33:17 -07:00
Jake McGinty
b3707021b1 maintain one ContactsDatabase instance per Loader
Fixes #3004
Closes #3041
Closes #3034

// FREEBIE
2015-04-23 14:28:39 -07:00
Moxie Marlinspike
7b3bd2fbf7 Replace rather than insert into push db on duplicate incoming.
Combined with the switch to server acked messages, this will
prevent the race condition that occurred when an incoming message
showed up at exactly the moment the app updated.

It'd be great if we could just do REPLACE INTO, but it's too
late to add a UNIQUE() constraint. =(

Fixes #2287
Closes #3029

// FREEBIE
2015-04-23 12:08:19 -07:00
Jake McGinty
a330f6f689 Prevent NPE when thumbnail click not set
Fixes #3042
Fixes #3044
Closes #3046
// FREEBIE
2015-04-23 11:59:36 -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
Christoph Haefner
424a463b21 Add notification functionality to Android Wear devices.
This should allow for Android Wear device- and Pebble-users to
easily mark an incoming message as read via the smartwatch.

http://developer.getpebble.com/blog/2014/12/19/Leverage-Android-Actionable-Notifications/

Closes #3010
2015-04-23 10:25:22 -07:00
Rhodey Orbits
790c6980fe improved challenge sms verification in SmsListener
some carriers prepend or append arbitrary text to sms messages
enroute, SmsListener failed to handle the append case.

Fixes #2919
Closes #3032
// FREEBIE
2015-04-23 10:17:08 -07:00
Moxie Marlinspike
95a94eeebf Create our own dialog when GooglePlayServicesUtil can't.
Fixes #2505
Closes #3005

// FREEBIE
2015-04-22 13:49:14 -07:00
agrajaghh
bcd9aa84d6 show message timestamp in the notification
Fixes #2632

Closes #2635
2015-04-22 11:44:48 -07:00
Rhodey Orbits
c6a4877391 Fix recent emoji sort order
The recent emoji tab was sorting emoji as last in last out instead
of last in first out. Also, if an emoji was already in the recent
emoji cache its order would not be updated on reinsert.

Fixes #2967
Closes #2946

// FREEBIE
2015-04-22 11:40:37 -07:00
Jake McGinty
f42d100f15 Use Glide for loading part thumbnails
Closes #2885

// FREEBIE
2015-04-21 14:27:51 -07:00
Rhodey Orbits
9ba19df2af Eliminate ghost thread when all messages deleted in a thread.
Fixes #2262
Closes #2842

// FREEBIE
2015-04-16 16:43:58 -07:00
Rhodey Orbits
dbc28746c0 allow scroll on message details view of long messages
Fixes #2686
Closes #2771
// FREEBIE
2015-04-16 15:04:19 -07:00
Moxie Marlinspike
efcdb7eb66 Add GroupId to PushNotificationReceivedJob
Pending message requests should probably be made sequentially.

// FREEBIE
2015-04-16 12:22:05 -07:00
Moxie Marlinspike
7ba75c3291 Use REST interface instead of WebSockets on GCM events.
Closes #2994

// FREEBIE
2015-04-16 11:50:40 -07:00
agrajaghh
8de695585d remove unused EncryptedSmsCharacterCalculator
Closes #3000

//FREEBIE
2015-04-16 08:42:00 -07:00
Carey Metcalfe
7724964a36 Correct the notification repeat interval
Switch to 2min from 10sec.

Closes #3002
2015-04-16 08:39:40 -07:00
Jake McGinty
64fc83326f bump sdk to 22, update notifications
Notification updates include:

1) Setting theme colors
2) Using high-res contact photos
3) Updating the notification icon to latest

Closes #2935
Fixes #2923
Fixes #2732
Fixes #2548

// FREEBIE
2015-04-16 08:38:31 -07:00
Moxie Marlinspike
262c1e47ad Fix NPE when outgoing media message is deleted.
// FREEBIE
2015-04-14 10:01:33 -07:00
Jake McGinty
6d2b87d385 don't change cursor if adapter is null
Fixes #2970
Closes #2977

// FREEBIE
2015-04-13 14:13:17 -07:00
Jake McGinty
a28408b29f enforce NonNull on incoming MMS content location
Fixes #2959
Closes #2975

// FREEBIE
2015-04-13 13:47:27 -07:00
Jake McGinty
4a9028aedd only set non-null bitmaps for notifications
Fixes #2960
Closes #2979

// FREEBIE
2015-04-13 13:45:46 -07:00
Jake McGinty
7aaedf500f fix off-thread UI interactions in ConversationItem
Fixes #2966
Closes #2973

// FREEBIE
2015-04-13 10:35:30 -07:00
Moxie Marlinspike
1c90b59bb8 Don't attempt send failure notifications for deleted messages.
Fixes #2963

// FREEBIE
2015-04-13 08:57:20 -07:00
Moxie Marlinspike
b9541a65b0 Fix list partitioning helper.
Fixes #2934

// FREEBIE
2015-04-12 10:07:30 -07:00
Jake McGinty
77e846d24e Fix cursor leak when resolving contact photos
Closes #2933

// FREEBIE
2015-04-10 10:07:22 -07:00
Adrian Chifor
58664fcddb Call changeMasterSecretPassphrase in AsyncTask
Fixes #2768
Closes #2893
2015-04-09 12:41:52 -07:00
Rhodey Orbits
857135aab1 Fix media thumbnail view operation.
An extreme edge case wasn't happening on the UI thread.

Fixes #2800
Closes #2801

// FREEBIE
2015-04-09 12:28:45 -07:00
Jake McGinty
1cc581aed8 Migrate conversation list to RecyclerView
Closes #2890

// FREEBIE
2015-04-09 12:21:50 -07:00
Rhodey Orbits
f5724795cf Update thread timestamp on draft creation.
Fixes #1055
Closes #2909

// FREEBIE
2015-04-09 11:29:37 -07:00
Jake McGinty
e4e24f7ae5 Enforce media constraints on group messages
Fixes #2913
Closes #2917

// FREEBIE
2015-04-09 11:21:16 -07:00
Jake McGinty
1f9a0fab3c Fix sendComplete UI updates on destroyed views
Fixes #2915
Closes #2924

// FREEBIE
2015-04-09 11:19:16 -07:00
Jake McGinty
01020c1c09 Fix missing MasterSecret in PartProvider
Fixes #2706
Closes #2910

// FREEBIE
2015-04-06 15:05:54 -07:00
Rhodey Orbits
efb4f388a5 set list adapter to null when appropriate
set list adapter to null when (recipients or threadId == null) to
prevent old messages from being displayed when forwarding a
message to a recipient for which there is no existing
 conversation.

Fixes #2883
Closes #2884

// FREEBIE
2015-04-06 10:22:34 -07:00
Moxie Marlinspike
b77afa8903 Upgrade to libtextsecure 1.2.5
Fixes #2703

// FREEBIE
2015-04-05 15:44:56 -07:00
Jake McGinty
34fa05cccc Fix multi-thread intents launching a conversation
Fixes #2877
Closes #2880

// FREEBIE
2015-04-03 14:48:38 -07:00
Moxie Marlinspike
0efdada928 Prompt user to rate app
Closes #2841

// FREEBIE
2015-04-02 17:30:30 -07:00
Jake McGinty
0c7dba6d43 Pass MasterSecret into pref fragments
Fixes #2868
Closes #2870

// FREEBIE
2015-04-02 17:22:33 -07:00
Jake McGinty
c50658a4f5 Revert "Fix re-registering missing MasterSecret"
This reverts commit beceee846a.
2015-04-02 17:22:31 -07:00
Rhodey Orbits
87760a795d Add "new message to <number>" always.
Fixes #2660
Closes #2854

// FREEBIE
2015-04-02 14:32:25 -07:00
Rhodey Orbits
f4fe024e50 Correct default value of 'pref_key_ringtone'.
Fixes #2793
Closes #2831

// FREEBIE
2015-04-02 14:31:19 -07:00
Moxie Marlinspike
797b296f3a Break long filter thread id calls up into chunks of 900.
// FREEBIE

Fixes #2462
Closes #2860
2015-04-02 14:27:00 -07:00
Moxie Marlinspike
b8a231c40f Remove dynamicLanguage/dynamicTheme from VerifyIdentityActivity
This already happens in the parent.

Fixes #2853

// FREEBIE
2015-04-02 14:08:10 -07:00
Jake McGinty
5cb94f02b3 Fix failed SMIL generation when part name is null
Fixes #2851
Closes #2866

// FREEBIE
2015-04-02 13:43:44 -07:00
Rhodey Orbits
db7a657001 fix LoaderManager inefficiencies
Redundant calls in ConversationActivity and ConversationListActivity
was causing unnecessary view invalidations.

Closes #2592
2015-04-02 13:33:23 -07:00
Jake McGinty
ca2c8b961e Fix sharing text via ShareActivity intents
Fixes #2855
Closes #2865

// FREEBIE
2015-04-02 12:04:39 -07:00
Jake McGinty
796c5de5d5 Fix crash when username is null in mms auth
Fixes #2850
Closes #2863

// FREEBIE
2015-04-02 11:35:27 -07:00
Jake McGinty
beceee846a Fix re-registering missing MasterSecret
// FREEBIE

Closes #2861
2015-04-02 11:33:30 -07:00
Jake McGinty
6c59eb052e Prevent crash from strange SQLite error
Full fix may require packaging and using our own SQLite via JNI. Needs
further investigation.

Fixes #2506
Closes #2843

// FREEBIE
2015-04-01 10:23:05 -07:00
Jake McGinty
0ff99258ac move routing logic to all activities
Fixes #2239
Closes #27923

// FREEBIE
2015-04-01 10:23:05 -07:00
Jake McGinty
141ee6565d add @Nullable annotation to outoging mms api
Closes #2830

// FREEBIE
2015-04-01 10:23:05 -07:00
Jake McGinty
2f20bb89f3 use internal emoji pane for all android versions
1) Enter key by default (remove as option), still
   keeping "Enter key sends" option

2) New material assets for emoji and keyboard icons,
   inc a xxhdpi version finally

fixes #2300, fixes #2251, fixes #2183

Closes #2302

// FREEBIE
2015-04-01 10:20:31 -07:00
Jake McGinty
c04b675a1a Fix null-response NPE in outgoing MMS
Fixes #2839
Closes #2840

// FREEBIE
2015-03-31 10:53:20 -07:00
Moxie Marlinspike
e70298e624 Catch malformed NOTIFY-IND
Fixes #2508

// FREEBIE
2015-03-31 09:12:22 -07:00
Jake McGinty
491440094b Fix NPE when RetrieveConf is null
Fixes #2828
Closes #2829
// FREEBIE
2015-03-30 10:50:55 -07:00
Jake McGinty
349faf18fa Fix missing timestamp in SendReq
// FREEBIE
2015-03-27 15:02:01 -07:00
Jake McGinty
6a6f900b7d Fix NPE when 'from' missing in NotificationInd
Fixes #2806
// FREEBIE
2015-03-27 10:59:04 -07:00
Jake McGinty
17383ddfe0 fix NPE for incoming failed messages
Fixes #2807
// FREEBIE
2015-03-27 10:37:59 -07:00
Sam Whited
dbda758841 Add pref to change MMS user agent
Closes #2363

// FREEBIE
2015-03-26 15:48:53 -07:00
Jake McGinty
427c9a6b21 Use new MMS APIs in Lollipop onwards
Fixes #1937
Closes #2727
2015-03-26 11:05:41 -07:00
agrajaghh
6f600a80b8 fix merge conflict between #2743 and #2746
Closes #2789

//FREEBIE
2015-03-25 13:28:57 -07:00
agrajaghh
62181a3d7f migrate AlertDialog to material-dialogs
Closes #2743
2015-03-25 11:50:52 -07:00