2338 Commits

Author SHA1 Message Date
Greyson Parrelli
70eecb754e Address bugs in notification channel backup restore. 2018-09-07 17:49:15 -07:00
Greyson Parrelli
ad036b0d6a Fix backup restore issues from restoring newer Signal backups.
Fixes #8184
2018-09-07 16:08:45 -07:00
Greyson Parrelli
15b4517e35 Prevent restoring newer backups into older versions of Signal.
Relates to #8184
2018-09-07 15:54:38 -07:00
Greyson Parrelli
8d43fb850d Make group notifications use the latest sender's ringtone. 2018-09-04 18:10:47 -07:00
Greyson Parrelli
11d34512a0 Fix double notifications in O+. 2018-09-04 18:10:42 -07:00
Greyson Parrelli
73b18fc1dd Fix NotificationChannel backup import.
We were recreating the channels before the database upgrade. We
have to do it after.

Fixes #8174
2018-09-04 10:57:33 -07:00
Greyson Parrelli
d9ba6962c7 Fixed NPE during channel update. 2018-09-03 17:48:55 -07:00
Greyson Parrelli
3da1a3e270 Restore notification channels after backup. 2018-08-31 12:00:46 -07:00
Greyson Parrelli
e840dc6687 Move notification preferences back in-app for O+.
Fixes #8147
2018-08-31 11:10:54 -07:00
Greyson Parrelli
5d91a94252 Fix shortcut images being too large.
We were hitting the transaction limit size. This change scales down
shortcut icons to be at most 300x300, which comes out to ~360kb, which
should be safely under the limit of 1mb.

Fixes #8139
2018-08-25 10:40:58 -07:00
Greyson Parrelli
ab58eab9f4 Fix potential crash with recipient preferences. 2018-08-24 12:00:02 -07:00
Greyson Parrelli
cedab7f504 Fix migration of group names when creating Notification Channels. 2018-08-22 14:19:37 -07:00
Greyson Parrelli
ca2efcac8a Added safeguards during NotificationChannel creation.
We were getting an IllegalArgumentException during channel creation on
some Samsung phones. Stack trace didn't give me much more than that, so
just adding in some additional safeguards that make sense based on
reading AOSP.
2018-08-22 13:19:59 -07:00
Greyson Parrelli
f1efe2b589 Use correct in-thread message tone on O+.
We manually play the ringtone when in-thread notifications are enabled,
but we weren't using the sound specified by the channel in the system
settings. This fixes that problem by reading the NotificationChannel
setting.
2018-08-22 11:58:41 -07:00
Greyson Parrelli
e1f8e87327 Fix log submission OOM, improve log scrolling.
We were getting a TransactionTooLargeException when giving an
EditText a very large (1.5MB+) text block. This has been resolved
by switching to a RecyclerView to show the text line-by-line. As a
side-effect, this improves scroll performance on lower-end devices.

Also, I added a button to jump to the bottom of the log because I
really wanted one :)

Fixes #8124
2018-08-20 01:24:36 -07:00
Greyson Parrelli
88d94cad92 Substantially improve Scrubber performance.
Previously, we were making a new copy of the entire source string after
every scrubbed substitution. In the case of our new, larger log files,
this was very slow. It's been changed so we only ever create one new
copy.

In practice, on a Moto E (2014), scrubbing a 1.5MB log went from
>4000ms to ~100ms.
2018-08-19 23:19:08 -07:00
Greyson Parrelli
e9b85a10a6 Add per-contact notification channels.
Fixes #8119
Fixes #8121
Fixes #8122
2018-08-17 15:51:01 -07:00
Greyson Parrelli
c49b0348bd Add failsafe for invalid shortcuts.
Some launchers may create broken shortcuts, so we just want to have
a smooth fallback in that scenario.

Fixes #8109
2018-08-15 12:48:04 -07:00
Greyson Parrelli
3c6b8bcf9b Hide inline attachment button when attachment present. 2018-08-15 12:35:41 -07:00
Greyson Parrelli
a6473bc922 Link priority setting to message channel setting on Oreo+
When using notification channels, us setting priority actually has
no effect. So instead of having a non-functional setting, we've
routed the notification priority setting to go to the system
notification channel settings page for our Messages channel.
2018-08-15 12:11:10 -07:00
Greyson Parrelli
10a790df88 Fix notifications triggering too often. 2018-08-14 20:19:25 -07:00
Greyson Parrelli
eabaead700 Revert "Fingerprint unlock UX improvements"
This reverts commit 8441ac4091fff3c6f6ae984d9b76c4b45b10c36b.

Fixes #8106
2018-08-14 13:04:33 -07:00
Greyson Parrelli
d581525a61 Fix Log secret reading.
Accidentally typed '>' instead of '>='.

Fixes #8107
2018-08-14 15:09:24 -04:00
Greyson Parrelli
d79564021f Remove extra space below notification text.
Special thanks to @dwong

Fixes #7905
2018-08-13 18:38:59 -04:00
Greyson Parrelli
2acbea014b Fix videos losing their extension after forwarding.
Special thanks to @signalien

Fixes #7783
2018-08-13 18:38:59 -04:00
Greyson Parrelli
2882ef6d9f Reset register button status after an error.
Fixes #8052
2018-08-13 18:38:59 -04:00
art1fa
8441ac4091 Fingerprint unlock UX improvements 2018-08-13 18:38:59 -04:00
Greyson Parrelli
20c896413b Stop linkifying addresses.
Address linkification on Android is pretty busted, and the docs
acknowledge it (see Linkify#MAP_ADDRESSES). Safest thing to do
at the moment is remove it. Looks like we may be able to get
better address linkification on API >= 28, but adding it will
be more involved.

Fixes #7730
2018-08-13 18:38:59 -04:00
Greyson Parrelli
13c72779af Visually note quotes for messages you don't have.
We will now show a small footer under quotes for messages that you
don't have locally.

Also fixes #7850
2018-08-13 18:38:59 -04:00
Greyson Parrelli
5cdf5499d0 Clean up shortcut code. 2018-08-13 18:38:59 -04:00
Leonard Ehrenfried
c3c44e324b Allow users to add conversation shortcuts to the home screen. 2018-08-13 18:38:59 -04:00
Greyson Parrelli
c7da83a702 Show attachment button while composing text.
Previously, we'd only show the attachment button when the user had
yet to enter any text. To add an attachment after text was entered,
you'd have to go to the three-dot menu. Now we just show a little
attach button in the text area.

I also took the opportunity to clean up other button paddings and
stuff in the compose area so things look better and react to text
sizes more predictably.
2018-08-13 18:38:59 -04:00
Greyson Parrelli
dbd42c4af2 Add notification channel support.
Bucket our notifications into channels. Required to target API 26.
2018-08-13 18:38:53 -04:00
Greyson Parrelli
d0db6aa509 Added more logging around message sending and attachment downloads. 2018-08-06 10:50:06 -04:00
Greyson Parrelli
43068e0613 Reduce usage of Log.w() 2018-08-06 10:50:06 -04:00
Greyson Parrelli
a498176043 Switch logs to use new Log class. 2018-08-06 10:50:06 -04:00
Greyson Parrelli
acb40c6133 Added new logger.
Added a new logger that persists logs for a longer duration to the
user's cache directory. Logs are encrypted. The new logs are sent
in addition to the user's logcat output.
2018-08-06 10:50:06 -04:00
Greyson Parrelli
b7d83c7a1f Make libpaste a source dependency. 2018-08-06 10:50:06 -04:00
Greyson Parrelli
c8571d7bc7 Use correct timestamp for footer collapse.
Fixes #8071
2018-08-06 10:34:02 -04:00
Greyson Parrelli
d42cecc32a Fix timer issue with sync messages from desktop.
Related to #8068
2018-08-03 14:08:16 -04:00
Greyson Parrelli
c5014f9471 Fix quote crash when we decode an image of 0 length.
Fixes #7983
2018-08-02 15:57:30 -04:00
Greyson Parrelli
6db3f249c6 Populate contact name when adding shared contact.
Fixes #8016
2018-08-02 15:16:51 -04:00
Greyson Parrelli
5a1ef31b49 Fix crash with moveToLastSeen() 2018-08-02 11:57:10 -04:00
art1fa
faea8fd2ec Apply message bubble paddings to both top and bottom
Batch selecting messages now feels better. Fixes #8035.
2018-07-27 16:15:37 -04:00
Greyson Parrelli
79830049c4 Fix emoji vertical positioning.
Fixes #8023
2018-07-27 16:01:52 -04:00
Greyson Parrelli
a3115c14ac Use proper target for Glide bitmap requests.
Fixes #8042
2018-07-27 09:12:54 -04:00
Greyson Parrelli
67190774cc Jump to the oldest unread message after loading a draft. 2018-07-25 13:10:35 -04:00
Greyson Parrelli
d5753bc306 Fix spacing issue between short clustered group chats.
For short messages in a cluster, the contact photo was sometimes taller
than the actual bubble, leading to extra weird space. So instead we use
a container to hold the width of the cell, and set the avatar to be GONE
instead of INVISIBLE.
2018-07-25 01:16:48 -04:00
Greyson Parrelli
e96a02ab35 Fix next/prev message detection with fastRecords.
The previous way we were getting the next/previous record didn't take into
consideration that some records aren't in the cursor -- some are in the
fastRecords map. We now use the proper position to get the next/previous
message.
2018-07-25 00:24:49 -04:00
Christian Ascheberg
0bb44f2034 Improve disappearing message time strings
Fixes #7501
2018-07-24 20:35:51 -04:00