Greyson Parrelli
bb90987e7c
Fix potential crash when retrieving SIM list.
2019-05-01 08:36:24 -07:00
Greyson Parrelli
ecea6abeb6
Temporary revert (again) to fix an avatar retrieval issue.
...
This reverts commit 77524ae1f24a1d356f3e2091270ffaed1e749ada.
2019-05-01 08:25:14 -07:00
Greyson Parrelli
1e564b6ad1
Fix exponential backoff retry limits.
2019-04-30 12:51:58 -07:00
Alan Evans
c77daa8226
Display carrier or number if any SIM descriptions clash.
...
Fixes #8725
2019-04-30 12:51:58 -07:00
Alan Evans
fa35814344
Disable transport disables all matching TransportOptions.
...
Fixes #8744
2019-04-30 12:51:58 -07:00
Alan Evans
48efcaa785
Do not list SIMs that are not ready.
...
Fixes #8426
2019-04-30 12:51:58 -07:00
Greyson Parrelli
f3f6cc87d9
Request a small chunk instead of HEAD for images of unknown size.
2019-04-30 12:51:58 -07:00
Greyson Parrelli
29cdb5290b
Make headers for giphy requests random sizes.
2019-04-30 12:51:58 -07:00
Greyson Parrelli
77524ae1f2
Revert "Temporary revert to fix an avatar retrieval issue."
...
This reverts commit 267bc32e23afe823b99e5b9be17806da32765aec.
2019-04-30 12:51:58 -07:00
Greyson Parrelli
30ba9d7e27
Improve CDN reliability.
2019-04-30 12:51:58 -07:00
Francois Blackburn
d2ece1c1f2
Add MI 5 to hardware AEC blacklist
2019-04-30 12:51:57 -07:00
Arnt Gulbrandsen
8bdc257963
Avoid hardware echo cancellation for Fairphone FP2
...
The issue has as been confirmed by me with the stock ROM as of November
2018, and other users have complained for almost 18 months, see
https://forum.fairphone.com/t/fnord/28849 and
https://bugtracker.fairphone.com/project/fairphone-fairphone-os-android-6/issue/77
2019-04-30 12:51:57 -07:00
Kevin Mark
88f9ec313f
Close SQL statement, preventing finalizer crashes
...
This will stop instances of the following from occuring in the logs
on SMS migration:
W/SQLiteCompiledSql: Releasing statement in a finalizer. Please ensure
that you explicitly call close() on your cursor: INSERT INTO sms
(address, person, date_sent, date, protocol, read, status, type,
reply_path_present,
net.sqlcipher.database.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
at net.sqlcipher.database.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:62)
at net.sqlcipher.database.SQLiteProgram.<init>(SQLiteProgram.java:109)
at net.sqlcipher.database.SQLiteStatement.<init>(SQLiteStatement.java:39)
at net.sqlcipher.database.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1647)
at org.thoughtcrime.securesms.database.SmsDatabase.createInsertStatement(SmsDatabase.java:767)
at org.thoughtcrime.securesms.database.SmsMigrator.migrateConversation(SmsMigrator.java:166)
at org.thoughtcrime.securesms.database.SmsMigrator.migrateDatabase(SmsMigrator.java:210)
at org.thoughtcrime.securesms.service.ApplicationMigrationService$ImportRunnable.run(ApplicationMigrationService.java:159)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
We aren't closing Statement objects before the finalizer on those
objects runs. When the GC runs, we'll get warnings like the above
which alert us to the fact that these objects are being automatically
closed for us in the finalizer, but that this is suboptimal behavior.
If we leave too many Statement (or Cursor) objects to be closed in
their finalizers, when the GC runs, it'll take longer than 10 seconds
to close them all and Android will kill the app. This 10 second limit
is hardcoded and we can only try to avoid it. A crash will look like:
java.util.concurrent.TimeoutException: net.sqlcipher.database.SQLiteCompiledSql.finalize() timed out after 10 seconds
at java.lang.Object.wait(Native Method)
at java.lang.Thread.parkFor$(Thread.java:1220)
at sun.misc.Unsafe.park(Unsafe.java:299)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:810)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:844)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1173)
at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:196)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:257)
at net.sqlcipher.database.SQLiteDatabase.lock(SQLiteDatabase.java:553)
at net.sqlcipher.database.SQLiteCompiledSql.releaseSqlStatement(SQLiteCompiledSql.java:106)
at net.sqlcipher.database.SQLiteCompiledSql.finalize(SQLiteCompiledSql.java:152)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
at java.lang.Thread.run(Thread.java:818)
I was able to replicate the above crash consistently on a
Samsung Galaxy S7 edge when importing well over 100k SMS messages.
But as soon as I attached a debugger the crash did not persist. I
assume this is because of some VM-level interactions between the two
and did not investigate further after fixing it.
I do not have access to the stack trace for issue #7953 but this
could potentially resolve it. The crash is identical to that in #7477
but this patch is for SMS migration not restoring from a backup. I
was not able to replicate the crash on restoring a >100k message
backup.
2019-04-30 12:51:57 -07:00
Michael Walker
8ad5126408
Add pinterest domain and asset domains for link preview support
2019-04-30 12:51:57 -07:00
Greyson Parrelli
1e27847015
Update link preview meta tag regex.
2019-04-30 12:51:57 -07:00
Greyson Parrelli
e67eca77ff
Prevent landscape text editing from taking over the screen.
...
It used to be that we let Android do the default behavior of
full-screening the EditText when in landscape, but honestly I
don't know who prefers that. So I've turned it off.
Fixes #8769
2019-04-30 12:51:52 -07:00
Greyson Parrelli
49cccc6927
Update job logging.
2019-04-28 11:44:17 -07:00
Greyson Parrelli
5977e9141d
Wrap transactions in try-finally.
2019-04-28 11:42:02 -07:00
Greyson Parrelli
c0982293bf
Fix bug where sticky SMS setting wasn't respected.
...
Fixes #8783
2019-04-28 11:34:56 -07:00
Greyson Parrelli
128da6db04
Fix crash in backup restore related to sqlite_sequence.
...
The new JobManager stuff created a table that had an
auto-incrementing ID, which was incorrectly being backed
up and restored, causing a crash. Now we skip it on both
import and export.
2019-04-16 10:10:02 -04:00
Greyson Parrelli
2701607810
Reduce the possible number of unique jobs to avoid crash.
...
Some devices have a limit of 100 unique JobScheduler jobs.
Previously we allowed up to 1,000. Given that we just need
_some_ job running, I lowered the limit to 75 to give us
some head room.
2019-04-16 09:52:12 -04:00
Greyson Parrelli
1c47812877
Fix crash when migrating read receipt jobs.
...
Fixes #8764
2019-04-15 15:45:16 -04:00
Greyson Parrelli
4a3c173adb
Migrated to new JobManager.
2019-04-15 10:56:26 -04:00
Greyson Parrelli
8cf3ba424a
Trim long text before displaying if necessary.
...
Fixes #8759
2019-04-15 10:13:35 -04:00
Alan Evans
9c40de5bf1
Save the SMS setting on a per-conversation basis.
2019-04-15 10:13:35 -04:00
Greyson Parrelli
11a2ed0743
Increase reliability of locally logging crashes.
...
Exception logging tends to be race-y, so now we block and wait
for all logs to be written before continuing with the crash.
2019-04-10 12:53:55 -04:00
Alan Evans
01a9931d92
Do not use background threads for download UI events.
2019-04-10 13:13:10 -03:00
Greyson Parrelli
38bcc6c293
Long text detail view now respects text size preference.
...
Fixes #8747
2019-04-09 09:40:32 -04:00
Greyson Parrelli
bceb9b4972
Fixed quotes not being cleared when forwarding.
...
Fixes #8748
Fixes #7935
2019-04-09 09:35:47 -04:00
Alan Evans
ecdc285378
Fix unresponsive button on image send with text in landscape.
...
Fixes #8575
Closes #8638
Co-authored-by: Jakub Gregorek <jg@inthemeadow.net>
2019-04-08 07:45:16 -03:00
Greyson Parrelli
9aed2343c1
Attempt to resolve connectivity problems for some users.
2019-04-04 18:10:41 -04:00
Greyson Parrelli
733d54e339
Linkify links in long message view.
...
Fixes #8735
2019-04-04 10:09:32 -04:00
Greyson Parrelli
267bc32e23
Temporary revert to fix an avatar retrieval issue.
...
This reverts commit 8aa185070bf16fae370e3c7cac17bbcc4d9f5852.
2019-04-03 16:32:52 -04:00
Alan Evans
621ac62c7e
Add red flashing voice note microphone.
2019-04-01 17:42:57 -03:00
Alan Evans
ce6d2d9c69
MMS image quality.
...
Fixes #8590
- Scale image larger within the dimensions.
- Apply a minimum dimension of 1024.
2019-03-28 15:14:06 -03:00
Alan Evans
e842f78457
Voice Note Locking.
...
Limit of 60 minutes, after which it's cancelled.
2019-03-28 15:04:38 -03:00
Alan Evans
cab3657ab0
ABI info for device.
2019-03-26 17:29:08 -03:00
Alan Evans
a7aa980e58
New dynamic locale system.
...
- Fixes #7619
2019-03-26 17:08:05 -03:00
Alan Evans
6a0a419f0c
Add self to MMS group.
...
- Fixes #7683
- Closes #8296
2019-03-26 17:07:04 -03:00
Greyson Parrelli
94e8303022
Remove dead code from ScribbleHud/Fragment.
2019-03-22 12:47:16 -07:00
Greyson Parrelli
ccfcfa71df
Enable the sending of long messages.
2019-03-22 12:28:41 -07:00
Greyson Parrelli
8caaf057e8
Remove unnecessary pre-19 code branches.
...
Now that our minSdk is 19, we can remove a lot of old code paths that
only ran pre-19.
2019-03-21 11:19:06 -07:00
Moxie Marlinspike
a52c295a38
Simplify access to SecureRandom
...
This shouldn't matter at all, but it's more "correct," and shows
my age less.
2019-03-21 11:19:06 -07:00
Moxie Marlinspike
8aa185070b
Update libsignalservice to 2.13.0
...
- Eliminate the explicit spongycastle dependency. All access to
primitives is done through the JCE interfaces now, which allows
us to use a secure native-backed provider like conscrypt.
- Use conscrypt for our default security provider. This gives us
fast TLS 1.2 and 1.3 support on all devices, even before they
had platform support (like 4.4).
- Update minSdk to 18. Unfortunately the JCE interfaces for GCM
primitives are JDK 7+ (!) only, which became supported by Android
at 18.
2019-03-21 11:19:06 -07:00
Greyson Parrelli
aa5e32f0ee
Add back the highlight and sticker tools.
2019-03-21 11:02:07 -07:00
Greyson Parrelli
8e86c7d81a
Fix media button visibility issue on older Android versions.
...
Turns out setVisibility doesn't work unless you call clearAnimation()
first on older Android versions. Isn't that grand?
2019-03-21 00:11:01 -07:00
Greyson Parrelli
148cfd1b53
Fix crash when single-selecting large media.
2019-03-20 23:01:32 -07:00
Greyson Parrelli
6e7fab40ac
Guard against OOB moves in media send flow.
2019-03-19 18:38:06 -07:00
Greyson Parrelli
8a7cac7c03
Switch gallery to permanent dark theme.
2019-03-19 18:38:06 -07:00
Greyson Parrelli
932e7b4af5
Fix button flicker when selecting single media item.
2019-03-19 18:38:02 -07:00
Greyson Parrelli
2f8a7fa296
Bounce the media select button when selecting media.
2019-03-19 15:42:08 -07:00
Greyson Parrelli
5e6f71cd32
Show selection order in multi-select.
2019-03-19 15:42:08 -07:00
Greyson Parrelli
ce0058864f
Make BlobProvider write to disk on a background thread.
...
Otherwise we hit some weird blocking issues with voice note recording.
2019-03-19 15:34:04 -07:00
Greyson Parrelli
c646316a97
Block typing indicators from blocked contacts.
2019-03-19 09:39:19 -07:00
Greyson Parrelli
5b534c8b1a
Update URL homograph rules.
2019-03-18 17:37:19 -07:00
Greyson Parrelli
975a121c55
Show a warning for users on API < 19.
...
We'll be updating minSdk to 19 in 4.37. This lets these users continue
to use the app, but they'll be warned with a persistent banner saying
that they can't receive updates.
2019-03-18 15:09:56 -07:00
Greyson Parrelli
64cf032181
Updated media send UI.
2019-03-18 15:09:56 -07:00
Alan Evans
286b64274c
Replace Avatar Cropper.
2019-03-18 15:09:50 -07:00
Alan Evans
0cb2404735
Lint error fixes.
...
* Old Gingerbread code removed.
* Add missing super call.
2019-03-18 11:14:18 -03:00
Greyson Parrelli
0a8bbf14a6
Merge camera into send flow.
2019-03-14 16:25:35 -07:00
Greyson Parrelli
eb1dd58a0b
Persistent media in multi-send.
2019-03-14 16:20:36 -07:00
Alan Evans
e0c11998c3
Make DisplayRecord take context as argument, so locale is more likely to be correct.
2019-03-13 18:28:16 -03:00
Alan Evans
de72eceecf
Update help URL to avoid redirect.
2019-03-13 18:19:33 -03:00
Alan Evans
2c28fa6a57
Make GIF search layout option sticky.
...
Fixes #7843
2019-03-12 11:41:54 -03:00
Alan Evans
f010a3ec0d
Consistent Recipient to add contact Intent export.
2019-03-12 11:29:59 -03:00
Alan Evans
e390fb4fc5
Fix ShareMessage toolbar back button.
2019-03-12 11:29:59 -03:00
Greyson Parrelli
a4ce77cbcc
Remove unused method.
2019-03-12 11:29:59 -03:00
Greyson Parrelli
18613e3b6f
Remove generic foreground service condition from Job.
...
I don't think it actually helps at all, meaning it just adds
complexity.
Fixes #8677
2019-03-12 11:29:59 -03:00
Greyson Parrelli
a122bb4899
Created new BlobProvider.
...
One unified place to create blobs for different lifespans.
2019-03-10 15:18:39 -07:00
Greyson Parrelli
1efb92b913
Fix issue where SMS were sometimes sent as MMS.
...
Fixes #8664
2019-03-06 08:12:00 -08:00
Greyson Parrelli
77e971cb9b
Fix bug where system emoji setting was ignored in message bubbles.
...
EmojiTextView. It is our gift. It is our curse.
2019-03-02 19:31:28 -08:00
Greyson Parrelli
003fa1b059
Make long text attachments contain the entire message.
...
Instead of just containing the 'overflow', long text attachments now
contain the entire body in full.
2019-03-02 19:31:22 -08:00
Greyson Parrelli
55699e27bc
Added ability to receive long messages.
...
Send support is in here too. We'll enable it in a future release after
enough people have updated.
2019-03-01 14:15:08 -08:00
Greyson Parrelli
bf28e109d3
Update registration UI.
2019-03-01 14:15:01 -08:00
Greyson Parrelli
fd862e575b
Fix situation where search nav could get stuck.
...
If you navigated to the ConversationActivity again via some action (like
a shared contact invite) while searching, we don't get the toolbar close
event, and therefore the search nav would stay open. Now we just reset
it on newIntent() to be safe.
2019-03-01 13:44:32 -08:00
Greyson Parrelli
7fd6f5b3ff
Fix search highlight in multi-whitespace bodies.
...
The way the highlight was done could get screwed up if you had multiple
whitespaces in a row. This particularly came up with messages with
multiple newlines.
2019-03-01 13:44:32 -08:00
Greyson Parrelli
42e94d8f92
Remove leftover half-height camera code.
2019-03-01 13:44:32 -08:00
Greyson Parrelli
b572fce658
Remove some unnecessary intermediate blob creation.
2019-03-01 13:44:32 -08:00
Greyson Parrelli
276e867f9a
Improved address resolution for ContentProxySelector.
...
We can use an unresolved address to avoid all the threading stuff in
that class.
2019-03-01 13:42:10 -08:00
Greyson Parrelli
b2d4608cdb
Improved handling for URLs that are composed of mixed character sets.
2019-02-24 10:00:44 -08:00
Greyson Parrelli
60c7fb0056
Fix possible NPE.
2019-02-20 17:20:12 -08:00
Greyson Parrelli
fa6da1902f
Fix button spinning after failed CAPTCHA.
2019-02-19 13:13:32 -08:00
Greyson Parrelli
33daa21ad9
Guard against devices not supporting mandatory ContentProvider columns.
...
The docs specify that this column is supposed to be present, but a
crash says it wasn't, so alas, here in goes the check.
2019-02-19 09:34:24 -08:00
Greyson Parrelli
5c0e1100ed
Fix possible NPE in conversation menu.
...
Would occur if someone had previously muted a conversation with
themselves.
2019-02-16 11:45:09 -08:00
Greyson Parrelli
b962751c96
Fix possible IllegalArgumentException during a database migration.
2019-02-15 19:33:16 -08:00
Greyson Parrelli
94e8553b73
Fix possible NPE during conversation load.
2019-02-15 19:24:23 -08:00
Greyson Parrelli
a2b6dbda14
Correctly sync Note to Self conversation color.
2019-02-15 14:21:27 -08:00
Greyson Parrelli
a6564f8f84
FCM improvements.
2019-02-15 14:21:23 -08:00
Greyson Parrelli
02b0800b22
Support requesting a CAPTCHA during registration.
2019-02-14 20:19:07 -08:00
Greyson Parrelli
2cfa431cad
Supply a reason for CDS error reporting.
2019-02-14 20:19:07 -08:00
Greyson Parrelli
fe4068afce
Don't preview links if your cursor is touching them.
2019-02-14 20:19:07 -08:00
Greyson Parrelli
1c23603c25
Add the Redmi Note 5 to the hardware AEC blacklist.
2019-02-14 20:19:07 -08:00
Greyson Parrelli
c2a86fcc74
Sync self-sends to desktop.
...
Updated UI to show self-conversations as "Note to Self".
2019-02-14 20:19:07 -08:00
Greyson Parrelli
d42c9b5dbc
Ensure the group shortstring in the action bar is up-to-date.
...
There were situations where adding/removing members from a group
would update the group member list, but the short string (the little
text listing the first couple members of the group) wouldn't be updated
until you left the screen and came back.
2019-02-14 20:19:06 -08:00
Greyson Parrelli
3b6429c163
Don't unnecessarily stop the ShareActivity in onPause.
...
1. Due to ShareActivity having noHistory=true, it will already be
ditched when you leave the activity.
2. We only need to truly finish() here if we've dropped the underlying
media.
Fixes #8591
2019-02-14 20:19:06 -08:00
Greyson Parrelli
6896f8ea15
Properly check attachment size during media send.
...
Prevent users from trying to send videos that exceed the size limit.
Also, this commit properly populates height/width on media shared into
the app.
Fixes #8573
2019-02-14 20:19:06 -08:00
Greyson Parrelli
a3768c7d74
Fix StickyHeader measuring.
...
It didn't re-measure when pulling an item from the cache, screwing stuff
up after a phone rotation. Had a workaround for it for specific screens,
but this fixes the problem at the source.
Fixes #8583
2019-02-14 20:19:06 -08:00
Greyson Parrelli
c9a0a66f18
Migrate backup passphrase to be keystore-encrypted when available.
2019-02-14 20:19:06 -08:00
Greyson Parrelli
db1ad39c6b
Fix issues with bundled notifications.
2019-02-14 20:19:06 -08:00
Greyson Parrelli
9f04c28bfd
Implemented conversation search.
...
You can now search for messages within a specific conversation.
2019-02-14 20:19:01 -08:00
Greyson Parrelli
cfff10622a
Move conversation classes to their own package.
2019-02-14 14:29:12 -08:00
Greyson Parrelli
b769c7d9b6
Properly batch contact inserts.
...
Fixes #8580
2019-02-14 14:29:12 -08:00
Greyson Parrelli
45ddb7e1ad
Revert "Fix notification badge display."
...
This reverts commit a0c1446e9ff283b6e77cceb79ee16ba4e3c089d9.
2019-02-07 16:17:17 -08:00
Greyson Parrelli
3683e6a9e2
Revert "Apply contact updates in batches of 50."
...
This reverts commit 5d9d6ac12bd002d7c9086e5e29676e3d864ed7fa.
2019-02-06 00:54:03 -08:00
Greyson Parrelli
c364345e1d
Add some additional FCM logging.
2019-02-06 00:53:52 -08:00
Greyson Parrelli
e884911b60
Update the link preview domain whitelist.
2019-02-04 09:05:40 -08:00
Greyson Parrelli
7b20fca1ac
Clearing the text field resets link preview cancellation.
2019-02-04 08:54:54 -08:00
Greyson Parrelli
be66db898c
Fix possible double-cancel in CallRequestController.
2019-02-02 10:09:38 -08:00
Greyson Parrelli
5d9d6ac12b
Apply contact updates in batches of 50.
...
If batch sizes are too large, we'll get a Binder exception.
Fixes #8580
2019-02-01 12:47:34 -08:00
Greyson Parrelli
c6d3bed8da
Hide emoji button in media flows when system emoji are enabled.
...
Fixes #8581
2019-02-01 09:17:07 -08:00
Greyson Parrelli
90a37852cc
Hide quoted attachments from All Media and media rails.
...
Fixes #8009
2019-01-30 16:34:10 -08:00
Greyson Parrelli
1763be2956
Hide call settings for groups.
2019-01-30 16:33:02 -08:00
Greyson Parrelli
9797c54a4d
Removed sonar ping from calls.
...
People rarely understood what it meant, and the information is available
on the screen if-needed ('dialing' vs 'ringing').
2019-01-30 16:10:47 -08:00
Greyson Parrelli
c5114e2cb3
Updated to WebRTC M71.
2019-01-30 16:10:47 -08:00
Greyson Parrelli
e3b22dabce
Harden notification channels.
...
There's odd corner cases where channels can be duplicated. This commit
adds some hard checks where we trim any dead channels, and unset any
notification channels from recipients whose notification channel isn't
present in the system settings.
2019-01-30 16:10:47 -08:00
Bas van Schaik
ba67796992
Fix invalid equals
in NotificationChannels.channelExists
...
`DEFAULT_CHANNEL_ID` is a String, but `channel` is a NotificationChannel. Equals will therefore always return `false`. I think my fix (using `getId()`) is what was intended.
2019-01-30 16:10:47 -08:00
Greyson Parrelli
d482c60a98
Switch from GCM to FCM.
2019-01-30 16:10:47 -08:00
Greyson Parrelli
c76081d99c
Added support for link previews.
2019-01-30 16:10:43 -08:00
Greyson Parrelli
bef9beff16
Updated Gradle to 5.1
2019-01-29 09:22:44 -08:00
Greyson Parrelli
25e82ff5e4
Fixed issue where we'd incorrectly show input shadow.
...
We might have also scrolled with typing indicators when we shouldn't of.
All came down to #isAtBottom() being calculated incorrectly.
2019-01-27 22:07:55 -08:00
Greyson Parrelli
a0c1446e9f
Fix notification badge display.
...
This reverts commit 2489ea0d5bd2313074942cfc9ec14b4bbeaad836.
2019-01-21 16:43:59 -08:00
Greyson Parrelli
1e534a2a10
Fix group avatars not sending.
...
Fixes #8547
2019-01-20 12:00:18 -08:00
Greyson Parrelli
e6b4249cf3
Deprecate usage of the signaling key.
2019-01-17 15:37:53 -08:00
Greyson Parrelli
d2be554e1b
Use orientation in media picker to determine width and height.
2019-01-17 12:33:41 -08:00
Greyson Parrelli
e7a807ab5b
Ensure body text is carried through to the media send screen.
...
We were only doing it if you entered through the media rail. Now we also
do it if you enter through the gallery.
2019-01-17 11:42:01 -08:00
Greyson Parrelli
a6f31c60bd
Show a toast when you've gone over the max media selection.
2019-01-16 14:31:59 -08:00
Greyson Parrelli
4643dea2ad
Filter out non-media from media send screen.
2019-01-16 13:32:39 -08:00
Greyson Parrelli
f70bf9c5bd
Default to 'All media' bucket for items from the rail.
...
This should give people a better multi-send experience when they want to
add more media.
2019-01-16 13:18:16 -08:00
Greyson Parrelli
b08f81a8dc
Fix bug where back stack can get stuck in the gallery.
2019-01-15 15:08:35 -08:00
Greyson Parrelli
535e00c6d0
Saving an album will now save every item.
...
Fixes a bug where saving would incorrectly only save the first image.
2019-01-15 14:56:27 -08:00
Greyson Parrelli
66dde4415d
Added an 'All media' folder in the gallery.
2019-01-15 13:38:06 -08:00
Greyson Parrelli
2209ff2272
Use AttachmentUploadJob in PushGroupSendJob.
2019-01-15 12:43:38 -08:00
Greyson Parrelli
1502b0ae3e
Add processing rules for partial US and BR phone numbers.
2019-01-15 11:57:42 -08:00
Greyson Parrelli
4952b4470d
Fix bug related to gallery selection state.
...
TreeSets are annoying. contains() is calculated with the comparator,
which can lead to some weird bugs. Made sure the comparator didn't think
two items with the same date were identical.
Also fixed stableId generation to avoid any potential weirdness there.
2019-01-14 15:40:38 -08:00
Greyson Parrelli
5450967d00
Ensure all Workers have a public WorkManager constructor.
2019-01-14 15:15:53 -08:00
Greyson Parrelli
8434813ad6
Updated libsignal-service-java to 2.12.5
2019-01-14 11:25:12 -08:00
Greyson Parrelli
dcae8a8a2f
Update WorkManager to beta01.
2019-01-14 11:25:12 -08:00
Greyson Parrelli
6fa7eca60b
Implement new media send flow.
...
Update our media send flow to allow users to send multiple images/videos
at once. This change includes:
- New in-app media picker flow.
- Ability to caption images and videos.
- Image editing tools are made more prominent in the flow.
- Some fixes to the image editing tools.
2019-01-14 11:25:06 -08:00
Greyson Parrelli
b553bb1cb0
Don't allow sending SMS unless we're the default.
2019-01-13 19:25:40 -08:00
Greyson Parrelli
3b67382f67
Remove call log permissions, use SMS Retriever API during registration.
...
This is to adhere to the Play Store policy updates.
See: https://play.google.com/about/privacy-security-deception/permissions/
2019-01-13 19:25:40 -08:00
Greyson Parrelli
19d5ba5c0e
Upload attachments in a separate job.
2019-01-13 19:25:40 -08:00
Greyson Parrelli
96c641c2a0
Add support for Job chains.
2019-01-13 19:25:40 -08:00
Greyson Parrelli
1a50910910
Update WorkManager to alpha12.
2019-01-13 19:25:40 -08:00
Greyson Parrelli
40f9b32a75
Fix tap-to-upgrade on website releases.
...
Tested on Android 9.0, 7.0, and 5.1.
Fixes #7936
2019-01-13 19:08:33 -08:00
Greyson Parrelli
7bda952ee5
Fix crash when DeviceName is shorter than 4 characters.
2019-01-13 07:26:16 -08:00
Greyson Parrelli
7c66c4a4f7
Updated logging.
2019-01-12 13:32:24 -08:00
Greyson Parrelli
c6f3a66cad
Support encrypted linked device names.
2019-01-12 13:32:24 -08:00
Greyson Parrelli
e5a2cea6b0
Fix voice note seeking issue.
...
On some devices, pausing+resuming (or seeking) would restart playback
from the beginning, but show a progress bar further up. This seems to
have been caused by same race condition-y thing where we were seeking
multiple times in rapid succession. Now we'll only play once, and things
seem to be fine now.
Also removed usage of some deprecated methods.
Fixes #8432
2018-12-11 13:05:36 -08:00
Greyson Parrelli
038238a333
Allow multiple attachments to download at once.
...
Not only will this be faster, but it serves as a mitigation
for the times when WorkManager gets 'stuck'.
Fixes #8427
2018-12-06 23:29:55 -08:00
Greyson Parrelli
bfdad2f47c
Updated logging.
2018-12-06 12:43:45 -08:00
Greyson Parrelli
2489ea0d5b
Revert "Fix notification badge display."
...
This reverts commit caf93b9203ff14332744d0208f550280f7fcc701.
2018-12-06 12:14:45 -08:00
Greyson Parrelli
caf93b9203
Fix notification badge display.
...
Fixes #7580
2018-12-03 15:32:13 -08:00
Greyson Parrelli
f0bfd7224f
Handle having a null sender certificate at send time.
...
Fixes #8425
2018-12-03 13:16:29 -08:00
Greyson Parrelli
4b88f7b845
Unsubscribe from typing observers when forwarding messages.
2018-12-01 10:39:48 -08:00
Greyson Parrelli
a81cc685b2
Fix crash where toolbar was updated off of the main thread.
2018-12-01 10:22:05 -08:00
Greyson Parrelli
d6abf89a7a
Filter out typing indicators from ourself.
2018-12-01 09:51:28 -08:00
Greyson Parrelli
dd55fe90bc
Fix typing experience upgrade version.
...
Because of the production hotfix, we need to up this version to be
higher than what is currently in prod.
2018-11-28 09:29:19 -08:00
Greyson Parrelli
5a53268534
Update typing indicator intro screen.
2018-11-27 17:45:58 -08:00
Greyson Parrelli
81055e61a6
Update WorkManager to 1.0.0-alpha11.
2018-11-27 12:35:41 -08:00
Greyson Parrelli
8a1a47e773
Fix MediaPreview NPE.
2018-11-27 09:32:56 -08:00
Greyson Parrelli
187d7b3e3a
Fix the caption database migration.
2018-11-26 11:50:55 -08:00
Greyson Parrelli
5d1fcdaded
Fix typing indicator animation.
...
The Android animators were getting out of sync when frames were dropped
(despite my best efforts), so now we just manually render each animation
frame as a function of time, so it never gets screwed up.
Fixes #8388
2018-11-26 09:33:31 -08:00
Greyson Parrelli
36b24d0a20
Rotate sender cert at send time if it's expired.
2018-11-26 07:52:59 -08:00
Greyson Parrelli
47a10a0288
Added support for multi-image receive.
2018-11-21 01:55:30 -08:00
Greyson Parrelli
e665252b86
Add more logging to GenericForegroundService.
2018-11-21 01:55:30 -08:00
Greyson Parrelli
a3411072ba
Remove MasterSecret job.
...
It's no longer necessary.
2018-11-21 01:55:30 -08:00
Greyson Parrelli
776b0e23ae
Add support for typing indicators.
2018-11-21 01:55:25 -08:00
Greyson Parrelli
3f25fb7d5f
Handle voice note media playback with ExoPlayer.
...
There are several (popular) phone models out there that have bugs in
their MediaPlayer implementation that cause them to be unable to play
voice notes. By moving to ExoPlayer, an application-level media player,
we should avoid most of these headaches and stardardize playback.
Fixes #7748
2018-11-19 11:36:08 -08:00
Greyson Parrelli
a2ea115650
Initialize jobs in the try block.
...
In the case where we add new fields to a Job's InputData, we want to
make sure that initialize() is called in the try block so that if it
fails, it simply fails the job (allowing the user to retry with the new
field) instead of crashing.
2018-11-17 09:56:52 -08:00
Greyson Parrelli
3716d69b0b
Dismiss emoji variation popup when keyboard is dismissed.
...
Fixes #8372
2018-11-15 10:17:07 -08:00
Greyson Parrelli
d93bfbf693
Prevent SendJobs from sending already-sent messages.
...
This is to guard against behavior WorkManager has where it may
re-enqueue a job that has already been completed (if, for instance, it
was preempted).
Fixes #8268
2018-11-14 16:20:55 -08:00
Greyson Parrelli
28081abe1c
Split the 'people' emoji spritesheet into multiple chunks.
...
The aim of this is to help performance by breaking up the single massive
spritesheet into smaller ones. This will limit the amount of data that
needs to be kept in memory to render emoji.
(Hopefully) Fixes #8357
2018-11-13 19:29:51 -08:00
Greyson Parrelli
e7c00a3066
Fix issue where we may oversend SMS messages.
...
Because SMS sending is split over two jobs, there's no max retry limit
respected if we find out about the failure in SmsSentJob -- it's
requeued as a new job with a fresh attempt counter.
This commit carries a retry count between the two jobs. It also verifies
that we have service before attempting to send a message at all.
Relates to #8268
2018-11-13 15:07:33 -08:00
Greyson Parrelli
446585ad68
Fix emoji variation selector on older devices.
...
Weird platform-specific bug was preventing the display of the
PopupWindow.
2018-11-13 11:19:29 -08:00
Greyson Parrelli
78627ecb08
Updated libsignal-service-java to 2.12.1
2018-11-09 12:37:24 -08:00
Greyson Parrelli
bf9582c97e
Only set UNRESTRICTED mode if recipients have a non-null verifier.
...
Otherwise we could send UD messages to people with non-UD linked
devices.
2018-11-06 09:58:45 -08:00
Greyson Parrelli
1ab3d57378
Fix some places where we were using the Android Logger.
...
We pretty much always want to be using our own logger.
2018-11-06 09:22:25 -08:00
Greyson Parrelli
e31029da89
Update recipient's sealed sender status in more places.
2018-10-31 11:18:35 -07:00
Yassine El Khadiri
787bcf7752
Fix backup MAC checking.
...
if(MessageDigest.isEqual(ourMac, theirMac) was always returning false
since ourMac was of length 32 and theirMac was of length 10.
2018-10-31 11:17:29 -07:00
Greyson Parrelli
8c3d50c6dc
Ignore messages without content.
2018-10-31 08:26:45 -07:00
Greyson Parrelli
532431b0ad
Guard against notifying for errors on non-existent SMS threads.
...
All of the other send jobs do this already, just didn't do it here.
2018-10-31 08:19:33 -07:00
Greyson Parrelli
cfeee25488
Use correct link for Sealed Sender blog post.
...
Fixes #8324
2018-10-30 14:12:34 -07:00
Greyson Parrelli
2acab563d9
Support for sealed sender - Part 2
2018-10-30 08:48:08 -07:00
Moxie Marlinspike
5f31762220
Support for sealed sender - Part 1
2018-10-30 08:48:08 -07:00
Greyson Parrelli
b7b9554364
Prevent multiple instances of the same job running concurrently.
...
There are rare corner cases where a Job could be preempted by the
JobScheduler and then be rescheduled before the preempted job finished
running. This could create weird race conditions with bad consequences.
To fix this, we create a fun locking system that prevents two jobs with
the same UUID from running at the same time.
2018-10-30 08:48:07 -07:00
Greyson Parrelli
f15fb904bf
Fix desktop double notification bug.
...
There were situations where we were posting two notifications for messages
when you had an 'active desktop'. This removes that.
2018-10-30 08:48:07 -07:00
Greyson Parrelli
86e4221182
Use a unique notification icon for backups.
2018-10-27 23:34:18 -07:00
Greyson Parrelli
dfe8b25dd7
Use a unique notification icon for the persistent background connection.
2018-10-27 23:32:28 -07:00
Greyson Parrelli
53050b3845
Fix issue with group avatar display.
...
Some legacy code was making the contact photo visible when it shouldn't
be.
2018-10-27 23:12:25 -07:00
Greyson Parrelli
6ce278114f
Ensure profile photo in ConversationList is accurate.
...
Fixes #8270
2018-10-26 11:05:14 -07:00
Greyson Parrelli
48ff9673b9
Allow the selection of fitzpatrick emoji.
2018-10-26 11:05:10 -07:00
Greyson Parrelli
1999d09901
Updated emoji set.
...
Includes display support for more genders, and more notably, skin tones.
These are not currently selectable in the UI, but they will be rendered
properly when other clients send them.
2018-10-24 17:11:17 -07:00
Greyson Parrelli
bf452dfa92
Slightly shorten time before we show a foreground notification for pushes.
...
There's some ANRs, not many, that are likely caused by us riding the
5-second ANR timeout a little too closely. Giving us a little buffer to
see if that helps.
2018-10-24 10:58:06 -07:00
Greyson Parrelli
2b14c98eb0
Do not call bluetooth state listener after service is destroyed.
2018-10-24 10:43:08 -07:00
Greyson Parrelli
f164ac90db
Disallow punctuation in icon initials.
2018-10-24 09:57:48 -07:00
Greyson Parrelli
91db26437d
Fix camera scaling issues on some phones.
...
Some phones, notably the Pixel 3, had some problems with scaling after
taking photos. This fixes it by using the takePicture API instead of
pulling the bitmap from the TextureView.
Fixes #8292
2018-10-22 01:12:05 -07:00
Greyson Parrelli
76054a9e33
Ignore events after BluetoothStateManager is destroyed.
...
Fixes crash.
2018-10-21 13:03:28 -07:00
Greyson Parrelli
ae9c53bdf8
Ensure jobs have a Context during onAdded().
...
Fixes a crash.
2018-10-20 22:52:14 -07:00
Greyson Parrelli
0dd7b39bb1
Fix recipient prefrence display problem on Android P.
...
Android P's new ringtone selector is a whole new activity that can cause
RecipientPreferenceActivity to go through the full onCreate() flow after
the ringtone selection. This could cause a race between setting the
preference and reading the preference from the notification channel.
Just threw them on a serial executor to guarantee ordering.
2018-10-20 22:42:35 -07:00
Greyson Parrelli
4a0ea0c51c
Handle contexts more consistently in RecipientPreferences.
...
Fixes a crash that was happening on the Pixel 3.
2018-10-20 22:22:07 -07:00
Greyson Parrelli
668e8dee5d
Catch more camera exceptions.
...
Some devices will simply fail to open the camera with a runtime
exception. In this case, all we can do is catch it and report the error.
2018-10-19 15:57:34 -07:00
Greyson Parrelli
a287408a7a
Only start the screen lock timeout when the app is backgrounded.
2018-10-18 09:40:32 -07:00
Greyson Parrelli
45e0bb281f
Turn MessageRetrievalService into IncomingMessageObserver.
...
Due to an Android P bug, we basically need to stop calling
startService() in onResume()/onPause(). That means I had to turn
MessageRetrieval service into a singlton instead of a service. I also
moved the offending KeyCachingService calls into static methods that
didn't have to start the service.
2018-10-17 13:58:47 -07:00
Greyson Parrelli
feb9e1d513
Post startService() in onPause() as a possible fix to an Android P bug.
...
We already did it for onResume(), and while it fixed the crash there,
the crash just moved to onPause(). Let's see if the same magic works.
2018-10-16 22:54:29 -07:00
Greyson Parrelli
7e485b8095
Post startService() in onResume() as a possible fix to an Android P bug.
...
Got confirmation that the crash we're seeing is a bug, and this might be
a possible workaround.
2018-10-16 11:47:58 -07:00
Greyson Parrelli
7cadb0d35a
Properly set the document download icon tint.
2018-10-16 10:58:19 -07:00
Greyson Parrelli
e1f572e1f4
Update GCM foreground notification icon.
...
Using the default Signal icon can confuse people into thinking they're
message notifications.
2018-10-15 16:56:24 -07:00
Greyson Parrelli
ead323c1af
Don't unnecessarily stack GCM message processing.
...
If we already have two active processing GCM messages, there's no
benefit to a third. In fact, enqueuing additional ones will likely only
end up showing the foreground notification unnecessariliy.
2018-10-15 10:37:30 -07:00
Greyson Parrelli
20c059280c
Refactor OrderEnforcer.
2018-10-12 09:30:01 -07:00
Greyson Parrelli
5219d79e27
Remove unnecessary start of KeyCachingService.
2018-10-11 09:55:46 -07:00
Greyson Parrelli
89f97f57cb
Update our boot receiver to schedule a message pull.
...
Previously we were starting a background service, which isn't allowed
for targetSdk 26. This will do the same thing but at a time decided by
the system.
2018-10-11 09:55:46 -07:00
Greyson Parrelli
4c63428b71
Ensure GenericForegroundService is started with startForegroundService.
...
If we don't, we run the risk of the app crashing if the service is
started in the background.
2018-10-11 09:55:46 -07:00
Greyson Parrelli
0d48f10806
Fix issue where a Job had null JobParameters.
2018-10-10 09:00:14 -07:00
Greyson Parrelli
275ca9e3ba
Remove the ability to set a color for a group.
...
No longer applicable given that we're adding back per-person colors in
groups.
2018-10-09 15:34:08 -07:00
Greyson Parrelli
710fa4a6f0
Switch the conversation color back to incoming messages.
2018-10-09 15:34:04 -07:00
Greyson Parrelli
1b736e9e04
Ensure notifications are processed after receiving GCM message.
...
It's unreliable to run these tasks on WorkManager, as there's no
scheduling guarantees.
2018-10-08 10:00:15 -07:00
Greyson Parrelli
1c197ad93d
Reset attachment transfer state if auto-download requirements are not met.
2018-10-07 14:21:33 -07:00
Greyson Parrelli
f26c6f890f
Fix non-contact icon in recipient preferences being too small.
...
Relates to #8252
2018-10-04 11:35:19 -07:00
Greyson Parrelli
eb11d5ceda
Make avatar color in toolbar match conversation color.
...
Relates to #8252
2018-10-04 11:27:12 -07:00
Greyson Parrelli
1d7f7b6c38
Do not auto-assign Steel as a color for contacts/groups.
...
Should be reserved for non-contacts, but selectable in the color picker.
Fixes #8247
2018-10-04 09:22:24 -07:00
Greyson Parrelli
07d7af6e75
Initialize WorkManager ourself.
...
This gives us more control over when it happens, as well as lets us set
things like the debug level. Also let's us get rid of the synchronized
block we had in Application#onCreate().
2018-10-04 09:09:04 -07:00
Greyson Parrelli
0840175d6f
Remove shutter sound on camera capture.
...
This sound isn't supposed to play when you have notification sound off,
but apparently some Huawei phones will play it anyway. Until we can
figure out a better way to handle it, we're just removing it.
2018-10-03 18:11:50 -07:00
Greyson Parrelli
547b7a3c6f
Migrate legacy color palette.
...
We don't store non-user-selected colors in the database. That means that
when we update the palette, we still have to hash based off of the legacy
palette when generating a color if we want to migrate to a
similar-looking color.
Unfortunately, because the new palette is smaller, some colors are
"overloaded", meaning that when we hash based off of the legacy palette,
some colors will be more/less common than others. To fix this, we simply
persist all current colors in the database, then switch our hashing list
to what we really want.
2018-10-03 14:25:17 -07:00
Greyson Parrelli
5eec3c9541
Add hairline border to avatars.
2018-10-03 14:24:00 -07:00
Greyson Parrelli
f725dd5a7e
Show profile avatar in toolbar.
2018-10-03 14:24:00 -07:00
Greyson Parrelli
a3cba66450
Update fallback avatars.
2018-10-03 14:24:00 -07:00
Greyson Parrelli
bab92fca7b
Move unread indicator to be above the avatar.
2018-10-03 14:23:59 -07:00
Greyson Parrelli
c37c1dffd4
Allow setting the color for a group.
2018-10-03 14:23:59 -07:00
Greyson Parrelli
127505af0b
Implement new color palette.
2018-10-03 14:23:59 -07:00
Greyson Parrelli
cfd20d23e8
Fix double onClick() notifications in preferences.
...
Fixes #8241
2018-10-03 11:31:07 -07:00
Greyson Parrelli
e4b56d4e40
Show foreground notification for jobs when network is restricted.
...
Occasionally a job may be run when the app is in a network-restricted
mode, like a form of doze. When this happens, jobs can timeout due to
lack of network access, causing a cascade of job delays. This is
particularly bad in the case of message retrieval.
To prevent this, if a job that normally requires network detects that no
network is available when running, then we start a foreground
notification.
2018-10-03 10:00:42 -07:00
Greyson Parrelli
5a623810cb
Broaden exception handling around Camera#startPreview().
...
Some devices will randomly throw RuntimeExceptions here due to hardware
issues. We were already doing broader catch statement in CameraView, so
I moved it here as well.
2018-10-02 12:47:07 -07:00
Greyson Parrelli
444e01deae
Improve key presence checking in SafeData.
...
This isn't a perfect check either, but it should be safer and more
consistent than using static "invalid values".
2018-10-02 12:31:12 -07:00
Greyson Parrelli
d25ebdc818
Fix indentation in preference fragments.
...
Unfortunately, while there does exist an XML property to disable the
indentation, it's bugged for category headings, so we have to do this
silly thing where we strip the padding in the adapter. Hopefully they'll
fix the bug and we can move to use the sanctioned property.
See: https://issuetracker.google.com/issues/111662669
Fixes #8233
2018-10-02 12:08:01 -07:00
Greyson Parrelli
24e82abf80
Don't report contact discovery accuracy if it encountered an error.
...
Otherwise we're double-reporting. Also made the sanitize method more
accurate.
2018-10-02 09:16:37 -07:00
Greyson Parrelli
cfa13867e5
Allow null for profileAvatar in RetrieveProfileAvatarJob.
2018-10-02 08:43:18 -07:00
Greyson Parrelli
34770a2333
Fixed Camera capture crash on API <= 19.
...
On older versions of Android, TextureView#getBitmap() needs to be called
on the main thread. On mid range phones, this is ~50ms. Normally that'd
be bad, but the UI isn't doing anything at that point anyway.
Fixes #8232
2018-10-01 23:53:33 -07:00
Greyson Parrelli
2c5fa155ae
Fix re-enabling tab switching in MediaOverview.
...
We were being inconsistent in how we were handling exiting multiselect,
and it wasn't behaving properly when you left by clicking the 'x'. Now
it's all handled centrally.
Fixes #8234
2018-10-01 23:38:07 -07:00
Greyson Parrelli
12afdad291
Log Job retryable exceptions.
2018-10-01 16:14:45 -07:00
Greyson Parrelli
2f530dc970
Remove CameraView usage of JobManager.
...
WorkManager flat-out can't handle anonymous implementations of Worker
classes due to it using reflection to instantiate them.
2018-10-01 12:12:50 -07:00
Greyson Parrelli
87e6aa48bb
Schedule jobs with WorkManager.
...
Should help solve most of our pressing targetSdk=26 migration issues.
2018-10-01 12:12:50 -07:00
Greyson Parrelli
d10a44f8eb
Suppress some noisy logs.
2018-10-01 12:12:50 -07:00
Greyson Parrelli
6359961a82
Ensure numbers are properly formatted before giving them to contact discovery service.
...
We were sending "Unknown" addresses, which would cause the service to
choke.
2018-10-01 12:12:12 -07:00
Greyson Parrelli
616912d85f
Prefer local state in dial click listener.
2018-09-27 11:45:56 -07:00
Greyson Parrelli
bd38b96095
Long-press timestamps in message details to copy.
2018-09-27 11:34:43 -07:00
Greyson Parrelli
12d9d7741b
Clean up batch saving.
...
- Post a better string for when batch saving completes successfully
- Exit multi-select after saving
2018-09-27 10:35:56 -07:00
FeuRenard
91a119393c
Allow batch saving in media overview
2018-09-27 10:35:56 -07:00
FeuRenard
c82afd8944
Allow selecting all media in overview
2018-09-27 10:35:56 -07:00
Greyson Parrelli
84c71fce16
Disable tab switching in media overview during multiselect.
...
Multiselect only applies to items in the "media" tab, so people
shouldn't be able to switch tabs during multiselect.
2018-09-27 10:35:56 -07:00
Greyson Parrelli
a0ab252bc9
Add preliminary contact discovery service support.
2018-09-27 10:35:56 -07:00
Greyson Parrelli
08ace15f95
Implemented new camera capture flow.
...
A new, fullscreen camera capture flow that easily allows you to capture
and edit a photo before sending it. Replaces the current half-screen
camera button.
2018-09-27 10:35:56 -07:00
Greyson Parrelli
e9a38bab1e
Turned SingleUseBlobProvider into MemoryBlobProvider.
...
Keep the single-use behavior, but allow the creation of multi-use memory
blobs that can be deleted when we're done with them. Will help out with
having URI's for temporary images during the camera capture flow.
2018-09-27 10:35:56 -07:00
Greyson Parrelli
e63773e5c8
Added OrderEnforcer class to schedule ordered tasks.
2018-09-27 10:35:56 -07:00
Greyson Parrelli
bcebf58b76
Added a new Stopwatch class to easily log timings.
2018-09-27 10:35:56 -07:00
Greyson Parrelli
6eb8693546
Don't block messages from unknown groups.
...
We were incorrectly considering unknown groups to have been "left".
2018-09-25 10:00:14 -07:00
Greyson Parrelli
11127c0d97
Clear external cache upon upgrade.
2018-09-19 16:41:51 -07:00
Greyson Parrelli
45c4eafbd7
Add the ability to block groups.
...
This also fixes the situation where we block group-leave messages,
preventing blocked contacts from leaving groups.
Fixes #7970
Also, this forced us to upgrade libsignal-service, which fixes the
websocket timeout issues. Thanks to @dpapavas!
Fixes #6644
2018-09-18 15:26:50 -07:00
Greyson Parrelli
741b775d3e
Ensure external camera blob is deleted.
2018-09-17 20:29:21 -07:00
Greyson Parrelli
e09c99102e
Clear Glide disk cache after image deletion.
2018-09-17 19:17:36 -07:00
Greyson Parrelli
1d4020ffc6
Disable forwarding for shared contacts.
...
Forwarding of shared contacts currently just creates an empty draft.
You can't preview a shared contact before you send, which would make the
forwarding flow inconsistent across media types. So it's easier to just
hide it for now.
Fixes #8195
2018-09-16 22:50:59 -07:00
Greyson Parrelli
5d11e321a8
Fix setting global notification sound to 'None'.
...
Fixes #8206
2018-09-16 22:29:55 -07:00
Greyson Parrelli
9dd3e50ebd
Don't set subscriptionId for quick-reply push messages.
...
This could cause us to think push messages were actually sent with
a SIM. We also now prevent rendering SIM info on push messages in
the conversation view.
Fixes #8176
2018-09-08 10:08:22 -07:00
Greyson Parrelli
440ad70d79
Allow submitting a debug log during registration.
2018-09-08 07:48:20 -07:00
Greyson Parrelli
a1b2887bf3
Fixed off-by-one crash when navigating to message from FTS.
...
Related to #8145
2018-09-08 07:48:20 -07:00
Greyson Parrelli
db9bfb4b2f
Update ExoPlayer to 2.8.4
2018-09-08 07:48:20 -07:00
Greyson Parrelli
c3bdc48ee3
Create placeholder ContentProviders for database observations.
...
Required for the API 26 migration.
See https://developer.android.com/about/versions/oreo/android-8.0-changes#ccn
2018-09-08 07:48:20 -07:00
Greyson Parrelli
7c5e1db6a2
Fix NPE in MultiDeviceContactUpdateJob.
...
Fixes #8180
2018-09-07 17:52:50 -07:00
Greyson Parrelli
82c0ea792a
Fix animation crash.
...
Shoutout to @bomba1990 for fixing this around the same time as me :)
Fixes #8182
2018-09-07 17:52:50 -07:00
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
Moxie Marlinspike
fbd3f3db3f
Update webrtc to M68
2018-07-24 17:06:43 -07:00
Greyson Parrelli
d82e91ca20
Fix message button in conversation settings.
...
Switching to use our convenience methods for start texts and calls.
Fixes #8026
2018-07-24 17:15:03 -04:00
Greyson Parrelli
c7fb1d79c4
Properly show group message header after a date divider.
2018-07-24 16:33:45 -04:00
Greyson Parrelli
0ced767ef2
Use person's name in call update text.
2018-07-24 16:33:05 -04:00
Greyson Parrelli
39b27a9d7a
Properly map hashed legacy colors to the new color palette.
...
Fixes #8021
2018-07-24 12:53:36 -04:00
Greyson Parrelli
6a1fd8b1c6
Increase difference between read/unread conversations in list.
...
Updating to match the design.
2018-07-24 12:34:21 -04:00
Greyson Parrelli
d8ddb142a9
Fixed bug in onMeasure() overflow safeguard.
...
Fixes #8008
2018-07-23 07:54:24 -07:00
Greyson Parrelli
214658b99e
Fix recording not resetting properly after a send on older API's.
...
Apparently onAnimationEnd is not a reliable event on some Android
versions, so I've moved to instead using a simple postDelayed() that is
the same length as the animation.
2018-07-20 19:02:19 -07:00
Greyson Parrelli
415fe3463d
Don't collapse outgoing footers for pending or failed messages.
2018-07-20 18:45:18 -07:00
Greyson Parrelli
6234e56e78
Allow outgoing messages to collapse footers.
2018-07-20 18:35:04 -07:00
Greyson Parrelli
f82b2c0d3f
Prevent author name from making media messages too wide.
...
The media size traditionally determines the bubble size, but the author
could make it wider, which would lead to rendering issues. In the case
of media attachments (images, videos, and shared contacts), we restrict
the width of the author name. When there's a number+profile name combo,
we split the space 50/50 between the two.
2018-07-20 18:24:52 -07:00
Greyson Parrelli
a4214300ec
Fix crash with conversations with "uknown contact" header.
...
We weren't accounting for ConversationAdapter header position when
getting the next and previous record in a conversation.
2018-07-20 17:50:54 -07:00
Greyson Parrelli
c9bb3dd469
Remove now-unnecessary thumbnail onMeasure().
2018-07-20 16:16:19 -07:00
Greyson Parrelli
aa25f39fe9
Fix footer icon tints.
2018-07-20 15:40:13 -07:00
Greyson Parrelli
860047c2d3
Remove CornerMaskingView.
2018-07-20 14:24:04 -07:00
Greyson Parrelli
d0eaee60e9
Add additional safeguards for picking an expiration timer frame.
...
Fixes #8010
2018-07-20 14:08:58 -07:00
Greyson Parrelli
d303a88803
Fix quote dismiss button not showing up.
...
Fixes #8006
2018-07-20 14:03:03 -07:00
Greyson Parrelli
8f551c8b32
Fix various redesign issues with Android 4.x.
...
In particular, there were many issues with drawing corners.
Unfortunately, there's no pretty way to get masking working on every
Android version, so we have to switch back to using custom backgrounds
and then using multiple masking methods depending on Android version.
Also, I had to remove attr references in drawables. They crash on 4.x.
2018-07-18 16:53:36 -07:00
Jonathan Fung
85d963047e
Adding a long press icon description for the Search icon
...
Fixes #7836
2018-07-18 09:04:42 -07:00
floesche
df9833472f
Add z5 compact (E5823) to AEC blacklist
...
Following fixes for other models to reduce echo on callee side during Signal call.
The problem has been reported for this model for example in #6241
2018-07-18 08:53:27 -07:00
Greyson Parrelli
bf692e8da3
Throttle background contact syncs to once every 6 hours.
...
Unfortunately, there's apps out there that trigger contact changes
very frequently. Because we listen to the system for contact
changes to tell us when to sync, that could result in us sending
an abundance of contact syncs to linked desktop instances.
This throttles contact sync requests using the following methodology:
- By default, throttle contact syncs to 6 hrs while the app is
backgrounded.
- If a sync is throttled in the background, we set a dirty flag and
will execute the sync the next time the app is foregrounded.
- Syncs explicitly requested by desktop are never throttled.
2018-07-17 12:06:50 -07:00
Greyson Parrelli
8579c30909
Styling improvements and code cleanup.
2018-07-17 12:06:42 -07:00
Greyson Parrelli
845fcf0864
Remove ability to set group conversation colors (for now).
2018-07-17 09:54:13 -07:00
Greyson Parrelli
24b062d8dd
Improve the look of message bubbles.
2018-07-17 09:53:52 -07:00
Greyson Parrelli
b02dda405c
Use NetworkBackoffRequirement for group messages.
2018-07-12 10:59:10 -07:00
Moxie Marlinspike
bc60cba2b8
Fix default SMS app intent >= N
...
Fixes #7964
2018-07-10 10:14:35 -07:00
Greyson Parrelli
84e2fcad54
Update UI of toggling shared contact photo.
2018-07-05 10:05:54 -07:00
Greyson Parrelli
6ce8516b93
Make contact photos optional when sharing contacts.
...
Previously, if you had a contact photo for a user, we'd always send it
Now you can choose whether or not it is sent.
2018-07-03 17:16:50 -07:00
Greyson Parrelli
67407ec667
Hard-code migration for full-text search.
2018-07-02 18:10:11 -07:00
b0m0x
2290549349
add Mi A1 to hardware AEC blacklist
...
See #7635
2018-07-02 17:45:55 -07:00
Greyson Parrelli
bf07048d7b
Use earlier read timestamp when syncing read status with desktop.
...
Previously, we'd always use the value desktop gave us. However, if we
have an earlier read time locally, we want to use that instead.
2018-07-02 17:39:10 -07:00
Greyson Parrelli
3134837d56
Remove plaintext backup import option.
...
We have our own secure backup solution built into the app now.
No need to support plaintext backups.
2018-07-02 17:11:13 -07:00
Greyson Parrelli
c7066c0796
Cast to MmsMessageRecord in ConversationFragment#handleForwardMessage.
...
Was causing a crash for MMS messages.
Fixes #7951
2018-07-02 08:56:11 -07:00
Greyson Parrelli
18756aedf6
Remove the ability to save backups to the external SD card.
...
The directory we were previously saving backups to on the external SD
card is actually deleted upon app uninstall and/or clearing the app's
data. There's also no reliable way to write to the root of an external
SD card (that isn't comically inconvenient), so for now it's safer if we
just move back to getting the regular 'ol standard external storage
directory (which is likely internal storage, despite its name).
Fixes #7845
2018-06-29 14:10:45 -07:00
Greyson Parrelli
290b184491
Enable shared contact sending.
2018-06-29 11:08:13 -07:00
Greyson Parrelli
0d386d3c14
Fix progress bar showing for self-sends.
...
For self-sends, we were never marking attachments as uploaded. I made is
so that happens now, but to prevent it for showing for already-sent
messages, we also don't show controls for self-send conversations.
2018-06-28 12:07:23 -07:00
Greyson Parrelli
fd6d947df3
Fix ClassCastException in ThreadDatabase.
...
I casted too deep. Forgot about NotificationMmsMessageRecord.
2018-06-27 09:43:02 -07:00
Greyson Parrelli
381547d668
Fix crash with formatting emails in recipient settings.
...
Fixes #7868
2018-06-22 13:24:36 -07:00
Greyson Parrelli
f72f75ee61
Show a link for privacy policy.
2018-06-22 13:09:43 -07:00
Greyson Parrelli
b39a7ac939
Add expiration time to group update requests.
2018-06-22 11:29:16 -07:00
Greyson Parrelli
b5d4cac90a
Send/receive expiration times for group updates.
...
This particularly helps with the bug where people who were newly added
to a group wouldn't receive an expiration timer until the first message
was sent.
2018-06-22 11:01:55 -07:00
Greyson Parrelli
dae655fd01
Fix conversation snippet for contact shares.
...
Previously, contact shares would be displayed as "Media Message". Now
it'll show the same as it does in a notification, namely
"{contact-emoji} {contact-name}".
2018-06-22 10:59:53 -07:00
Greyson Parrelli
933be54035
Update scheduling of ServiceOutageDetectionJob.
...
Previously, we were running this job in PushSendJob#onCanceled().
However, with the new retry logic, this won't happen for 24 hours.
Instead, we now schedule the job in PushSendJob#onRetry().
2018-06-22 10:59:53 -07:00
2-4601
f1d8fd8838
Add devices to hardware AEC blacklist
...
- Moto G4
- Nokia 5 (TA-1053)
Alleviates #7635
2018-06-22 10:59:53 -07:00
Greyson Parrelli
a50edc3d25
Keep retrying message sends for 24 hours.
...
Previously, we retried based on a count. Now we've added the ability to
keep retrying for a specified time, using exponential backoff to
throttle attempts.
2018-06-22 10:59:53 -07:00
Greyson Parrelli
62c42a3513
Fix disappearing message corner case.
...
We never properly registered the ExpirationListener, meaning we were
relying on the wait-notify loop of ExpirationManager to delete things.
This normally works, but fails when your phone goes to sleep. So I
properly registered the receiver, and then added a failsafe to re-run
the ExpirationManager if we're about to render an expired message.
Fixes #7906
2018-06-22 10:59:53 -07:00
Greyson Parrelli
42f1baaf61
Imported JobManager as a source dependency.
...
We have to make some changes, and it's gotten to the point where
maintaining it as a separate library is more hassle than it's worth,
especially with Google releasing WorkManager as the preferred job
scheduling library.
2018-06-22 10:59:53 -07:00
Greyson Parrelli
5f99470226
Allow searching for words with apostrophes.
...
Previously, because apostrophes were 'banned' characters, searching for
them wouldn't work. That meant you couldn't find words like "I'm". Now
we just replace the apostrophe with a space and things "just work"
because of the nature of SQLite tokenization and prefix queries.
2018-06-22 10:59:53 -07:00
Greyson Parrelli
afec9e8cb0
Improve highlighting in search results.
...
Previously, we didn't support highlighting search results that had
tokens in the middle of the matches, which is a possibility with FTS.
Now we do more robust highlighting, as well as highlight matches in
phone numbers.
2018-06-22 10:59:53 -07:00
Greyson Parrelli
89fd7dda23
Break FTS queries into multiple prefix queries.
...
Previously, we made each full-text search query a single prefix query.
That means that the query "do c" would turn into "do c*". That means it
would match "do cat" but not "dog cat".
Now, we make each token a prefix query. So "do c" would turn into
"do* c*". That means it would match both "do cat" and "dog cat".
2018-06-22 10:59:53 -07:00
Greyson Parrelli
3563efc7de
Update search query results when messages disappear.
...
Previously, if a message disappeared while looking at it in the search
results, it'd still stick around. Now they'll disappear from the results
in real-time.
2018-06-22 10:59:53 -07:00
Greyson Parrelli
ea4ac9db30
Fixed issue where self-sends didn't auto download.
...
1) There was an issue where we wouldn't auto-download group syncs.
2) There was another issue where we didn't show the download controls
for messages you sent yourself.
Fixed #7920
2018-06-22 10:37:07 -07:00
Greyson Parrelli
71a34dac5f
Fix backup/import issue with expiring messages.
...
There was an issue where we were backing up group receipts and attachments
that were for expiring messages (which are already excluded from the backup).
This commit excludes these items from the backup, and for backups made
before this change, this commit also deletes these invalid entries at
the end of the restore process.
We also do a little database migration to cleanup any bad state that may
have been imported in the past.
2018-06-21 19:07:27 -07:00
Greyson Parrelli
61b2da9c8a
Fix NPE during busy call.
2018-06-21 18:47:14 -07:00
Greyson Parrelli
3a85c966d0
Fix false-positive outage detection.
...
Turns out that there's some weird quasi-state when you come out of
airplane mode, that if you do an InetAdress lookup, it returns some
weird IPv6-looking garbage address. Going to retry in that scenario
instead of assuming an outage.
2018-06-20 13:24:33 -07:00
Greyson Parrelli
fe4ce88439
Revert "Upgrade SQLCipher to respect a max window size."
...
This reverts commit dace93abb3cd5bf5cf7bd722d688b0ae302a4722.
2018-06-18 16:24:35 -07:00
Greyson Parrelli
542e962be9
Fixed crash when ScribbleView failed to save.
...
Previously, if an operation failed, we set the result to "null".
However, this was a mistake. Setting the result at all assumes success.
Instead, we need to set an exception so the ListenableFuture knows that
the operation failed.
2018-06-18 14:33:44 -07:00
Greyson Parrelli
2c17b54ef9
Show a banner in the event of a service outage.
...
We will now determine if there has been a service outage and render a
banner at the top of the conversation list if we detect that there has
been one.
2018-06-18 14:32:45 -07:00
Greyson Parrelli
0999359454
Improve the image editor.
...
A variety of improvements to the image editor, such as:
- New, fullscreen styling
- Smoother lines
- Better text and sticker handling
- Improved color picker with a history pallette
- New highlighter tool
2018-06-18 14:32:45 -07:00
Greyson Parrelli
dace93abb3
Upgrade SQLCipher to respect a max window size.
...
Previously, SQLCipher's memory usage would grow indefinitely, up until
it hit the end of the cursor. We've now switched to a release where the
memory used by the cursor can be bounded.
2018-06-18 14:32:45 -07:00
Greyson Parrelli
df2c5d38b0
Don't notify new users if there is a pending SQLCipher migration.
...
If a user is upgrading to use the SQLCipher database (which happened
back in 4.16, so this only applies to relatively dormant users who are
just getting back into the app) and received a new "user X joind signal"
message, then it could screw up the migration. So we're just dropping
these notifications that happen in this narrow window.
2018-06-18 14:32:45 -07:00
Greyson Parrelli
79857b98b3
Fix bug with quoted reply notifications.
2018-06-18 14:08:47 -07:00
Greyson Parrelli
626e6930a5
Fix search header rendering after rotation.
...
The sticky header cache was keeping views across rotations, causing them
to render incorrectly afterwards. I added a method to invalidate the
header layouts after rotation.
Fixes #7890 .
2018-06-14 10:50:21 -07:00
Greyson Parrelli
44f5cc9070
Annotate methods in AttachmentUtil as @WorkerThread.
2018-06-11 11:08:25 -07:00
Greyson Parrelli
30be732ae8
Don't auto-download attachments from unknown contacts.
2018-06-11 10:47:27 -07:00
Greyson Parrelli
2b45b3caa2
Fixed export and restore of FTS tables.
...
First, FTS index contents do not need to be exported. They will be recreated naturally.
Second, we can't export the secret FTS tables, or SQLite will think it's corrupted.
2018-06-06 20:12:17 -07:00
Greyson Parrelli
b7282589de
Fixed issue with backup and restore when creating new tables.
...
Fixes #7863
2018-06-06 09:07:38 -07:00
Greyson Parrelli
6bc7f2a5a4
Fix NPE in FTS when snippet is null.
2018-06-06 08:08:52 -07:00
Greyson Parrelli
3731e2a74a
Fix jumbomoji rendering and EmojiTextView resizing.
...
Fixed an issue where jumbomoji were not properly being rendered
when using system emoji. Also fixed an issue where the text
content wasn't properly being recalculated when the view is
resized.
Fixes #7875
2018-06-06 07:57:03 -07:00
Greyson Parrelli
f0e5aa312e
Allow EmojiTextView to redraw after changing emoji setting.
...
Also just fixed some minor formatting issues.
2018-05-28 17:20:28 -04:00
Greyson Parrelli
ceafb0d130
Reduce emoji flickering and other ellipsize woes.
...
1. Switch to using default text rendering if there's no emoji present in
the string.
2. Reduce redudant redraws by skipping of setText() calls for identical
strings.
Together, these two changes should reduce the vast majority of
flickering we see with EmojiTextView ellipsizing.
2018-05-24 13:32:56 -04:00
Moxie Marlinspike
70c2a863cc
Correctly store backup
...
Fixes #7831
2018-05-24 09:57:16 -07:00
Greyson Parrelli
d813275f42
Increase number of recent conversations shown when sharing.
...
Intended to reduce the pain of #7202 .
2018-05-24 10:25:58 -04:00
Greyson Parrelli
5650a02cfb
Sort search results exclusively by date.
...
I think I was initially lured into searching by rank because it gives
the illusion of providing the "best match". However, in practice, FTS
never gives back "bad" matches with low ranks -- all of the results it
returns will contain your query in some form (most commonly a direct
substring, but they do take some liberties if you have multiple tokens
in your queries). Given that, in general, more recent search results are
in fact more relevant, we can sort by date exclusively and get a better
ordering overall.
2018-05-24 09:39:57 -04:00
Greyson Parrelli
0503c9eea5
Prevent replies on action messages.
...
Fixes #7829
2018-05-23 15:16:42 -04:00
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
71ccbf2a1b
Secondarily sort search results by date.
...
This should help with getting back search results that more closely
match user intention.
2018-05-23 14:17:43 -04:00
Greyson Parrelli
92a64f59a4
Switch search to use the existing header.
...
Probably best to not try out any possible new design changes just yet.
Let's stick with what we have.
2018-05-23 11:06:07 -04:00
Greyson Parrelli
e189fff856
Fixed some cursor-related bugs in Search.
2018-05-23 08:32:46 -04:00
Greyson Parrelli
e6e8416aec
Use correct recipient for message search results.
...
Previously, we'd always use the recipient of the message record, which
was incorrect for messages sent to groups. Now we always use the
recipient for the matching thread record.
Fixes #7823
2018-05-23 08:22:08 -04:00
Greyson Parrelli
a792a6e6ae
Fixed ThumbnailView sizing problems.
...
Glide will use the dimensions of the target ImageView as the dimensions
for the image it's loading. This caused problems in the case of
ThumbnailView, as we were constantly changing the ImageView dimensions,
meaning Glide may not have the most recent values (it may be called in
between measure calls, for instance).
To solve this, we now will always override the default image dimensions
when we load an image. If no dimensions are present, we will default to
the layout_width and layout_height of the ThumbnailView.
Fixes #7810
2018-05-22 17:03:51 -04:00
Greyson Parrelli
0b1b568893
Fix notifications for replies.
...
Notifications for replies will no longer display as a "Media Message" if
they do not contain media. Instead, they will just contain the reply
text.
Fixes #7798
2018-05-22 13:12:13 -04:00
Greyson Parrelli
93effc8890
Disable contact sending.
2018-05-21 19:57:50 -04:00
Greyson Parrelli
5d75f11cbc
Bump version to 4.20.0.
2018-05-21 17:19:03 -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
Greyson Parrelli
c0b75c2ef5
Disable shared contact sending.
...
Sending shared contacts isn't backwards-compatible, so we want to have a
few releases where receiving is enabled, but not sending. That way, when
we enable sending, most users should be able to properly receive the
shared contact messages.
2018-05-21 15:45:22 -04:00
Greyson Parrelli
ca260a92e3
Convert vCard attachments to Shared Contacts.
...
When you share a vCard from an external app (like the Contacts app) into
Signal, we'll now convert it to a pretty Shared Contact message and
allow you to choose which fields of the contact you wish to send.
2018-05-21 15:45:22 -04:00
Greyson Parrelli
e6c16cf28d
Allow editing of contact names.
...
Took care to properly format CJK names.
2018-05-21 15:45:22 -04:00
Greyson Parrelli
54dbffaf30
Added ability to share contacts.
...
The "contact" option in the attachments tray now brings you through an
optimized contact sharing flow, allowing you to select specific fields
to share. The contact is then presented as a special message type,
allowing you to interact with the card to add the contact to your system
contacts, invite them to signal, initiate a signal message, etc.
2018-05-21 15:45:22 -04:00
Greyson Parrelli
17dbdbd0a9
Handle quote position task finishing after fragment detaches.
...
There's a chance that the AsyncTask that retrieves a quoted message's
position could finish after the fragment is detached, which would cause
a crash. I've changed it so if this case occurs, the result is ignored.
Also, I noticed that when searching the message table, if a quote can't
be found, we'd end up traversing the entire table. To prevent this from
taking forever on large message tables, I've limited it to searchin only
what is currently present in the adapter.
Fixes #7756
2018-05-21 15:45:22 -04:00
Greyson Parrelli
ca8fecea9c
Clean up camera flipping, handle having missing cameras.
...
Did a refactor to better organize the camera flipping code. Also, I
wanted to make sure we handle the cases where the user doesn't have two
cameras (or no cameras, for that matter). In these cases, we just don't
show the appropriate buttons.
2018-05-21 15:45:22 -04:00
Niklas Hambüchen
f1c79eaebf
Add button to flip camera (front vs rear). Fixes #6279
2018-05-21 15:45:22 -04:00
Moxie Marlinspike
6c1a1fb9ad
Use cache directory on removable storage for backups if present
...
Fixes #7692
2018-05-21 15:45:22 -04:00
Moxie Marlinspike
35d158cfee
Treat Permissions "not now" as a denial
...
Fixes #7713
2018-05-21 15:45:22 -04:00
Moxie Marlinspike
a5047cb17b
Fix for sender's expiring messages in group with unregistered user
...
Fixes #7719
2018-05-21 15:45:22 -04:00
Moxie Marlinspike
5006b36e2d
Show lock notification immediately after setting is toggled
...
Fixes #7659
Closes #7678
2018-05-21 15:45:22 -04:00
Greyson Parrelli
102941c18c
Fix QuoteView measuring when voice notes are present.
...
Fixes #7740
2018-04-26 17:41:37 -07:00
Greyson Parrelli
43622e603d
Save replies in drafts.
...
Previously, quotes were not saved to drafts, meaning they would be lost
when leaving the conversation or app. Now, a QuoteId (which represents
the necessary data to restore the QuoteModel) is serialized and stored
in the DraftDatabase.
Fixes #7716
Closes #7729
2018-04-26 09:19:22 -07:00
Greyson Parrelli
6fbbc9d078
Render emoji's properly in quote bubbles.
...
Unfortunately, the change wasn't as simple as just switching to use our
EmojiTextView. That view only supported single-line text. I added
support for multi-line text.
Fixes #7704 .
2018-04-24 12:18:33 -07:00
Greyson Parrelli
cbe394025d
Fix reply-to colors in dark mode to increase contrast.
...
Fixes #7705
2018-04-20 17:35:48 -07:00
Nicholas Rizzio
e6f76159b0
Export "creating backup" string
...
Closes #7656
2018-04-19 17:59:31 -07:00
Henning Dodenhof
e0603abdd3
Use FileProvider for update file handling
...
Fixes #7654
Closes #7658
2018-04-19 13:30:21 -07:00
Moxie Marlinspike
2a1ce859c4
Add Moto G (5S) Plus to hardware AEC blacklist
...
For #7635
2018-04-19 10:58:39 -07:00
Moxie Marlinspike
8452fc6c58
Correctly avoid displaying about category in groups
...
Fixes #7702
2018-04-19 10:53:37 -07:00
Moxie Marlinspike
2ac0179d65
Handle odd sized buffers on backup import decrypt
...
Fixes #7701
2018-04-18 21:20:06 -07:00
Greyson Parrelli
fa99e8f0d0
Updated reply-to UI.
...
All UI components are now properly styled and functioning according to
spec.
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
d567534609
replies
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
8bec5a96f5
Make delivery receipts work correctly on CDMA networks
...
Fixes #7646
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
d8a6fcf979
Retain latest 2 instead of latest 5 backups
...
Fixes #7650
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
2c405d1769
Delete raw contacts that are marked for deletion
...
Fixes #7628
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
821957137a
Check for context liveness to prevent NPE
...
Fixes #7633
2018-04-16 17:33:26 -07:00
Greyson Parrelli
b8fbc91f33
Only show copy if text is selected, remove newlines from copied text.
...
We now check if _any_ text is selected when doing a batch selection
to determine if we should show the copy option. Also, previously it
was putting in empty lines for messages that don't have any text. I
changed it so empty messages have no effect on the text that is copied.
Fixes #7472
2018-04-16 17:33:26 -07:00
FeuRenard
404610fbcd
Pass correct address from media overview to preview
...
Fixes #7384
Closes #7387
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
3f3d7f549b
Make an attempt to store/retrieve backups from removable storage
...
Fixes #7521
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
7dd8baba5a
Add permission callback to preference fragment
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
eb0af13887
Fix location URL encoding
...
Fixes #7604
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
72310ed3c6
Group member dialog tap takes you to recipient preference
...
Fixes #7463
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
e86a9ce7eb
Add phone number and direct dial to recipient preferences
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
0b0853a223
Clear cache on update
2018-04-12 17:19:18 -07:00
Moxie Marlinspike
ccc3ff4aac
Fix for Glide image caching issue
...
Fixes #7630
2018-04-09 09:03:42 -07:00
Moxie Marlinspike
ca471b1408
Explicitly remove messages.db journal
...
Fixes #7636
2018-04-05 03:50:33 -07:00
Moxie Marlinspike
3bceb0d8ec
Delete old message DB
2018-04-04 05:09:43 -07:00
Moxie Marlinspike
0753ff85ed
Default snippet type to 0 if it's null
...
Fixes #7551
2018-04-03 08:59:19 -07:00
Moxie Marlinspike
b9f99f9941
Manually calculate length of attachments if they're super old
...
Fixes #7560
2018-04-02 10:03:26 -07:00
Moxie Marlinspike
2c82b3610d
Mark DB current after backup upgrade process
...
Fixes #7596
2018-04-02 06:27:50 -07:00
Greyson Parrelli
18039bc3f4
Show groups when searching for contacts.
...
Currently, if you're searching for a contact to start a conversation
with or send a share to (via the Android sharing system), groups do not
appear. With this change, groups will now appear when searching, located
under their own heading.
Fixes #7202 .
Closes #7577
2018-03-31 02:14:02 -07:00
Greyson Parrelli
a573ab7c76
Setup alternate domain front.
...
In preparation for Google shutting down domain fronting.
Closes #7584
2018-03-31 02:14:02 -07:00
Greyson Parrelli
ea374735e1
Render images in a conversation true-to-size.
...
Previously, we were always rendering images as squares. Instead of doing
that, we now render them as close to true-to-size as possible (within
reasonable min/max width/height boundaries).
2018-03-31 02:14:02 -07:00
Moxie Marlinspike
9f8b4cf892
Populate incoming attachments with width and height from message
2018-03-31 02:14:02 -07:00
Moxie Marlinspike
3c30db7edf
No longer generate image thumbnails manually
...
Delete manually calculated image thumbnails
2018-03-31 02:14:02 -07:00
Moxie Marlinspike
95d76638dc
Simple encrypted glide disk cache
2018-03-31 02:14:02 -07:00
Greyson Parrelli
7e1e666172
Strip EXIF metadata from all JPEG images.
...
Strip all EXIF metadata from all JPEGs by re-encoding the JPEG. This
will keep all of the necessary visual effects of the tags (by encoding
them directly in the image data) while stripped the EXIF tags
themselves.
2018-03-31 02:14:02 -07:00
Greyson Parrelli
10e5b24cfd
Allow batch deletion of media.
...
It is now possible to batch-delete media in the "media overview" screen.
You can long press to enter multi-select mode. Then a delete button
appears on the menu bar. After pressing delete, you will get a
confirmation, and if the user confirms, the items will delete while a
progres dialog shows.
2018-03-31 02:14:02 -07:00
Greyson Parrelli
0c768a24e4
Allow deletion of media through preview.
...
When viewing a media in the media preview, you can delete it by pressing
a delete button on the action bar. It will then ask you to confirm your
choice. If you confirm, it will delete the attachment from the database
and from disk. If it was the only attachment for that message, the
message itself will also be deleted.
2018-03-31 02:14:02 -07:00
Moxie Marlinspike
d6610f0dd0
Add profile avatars to backup
...
Fixes #7450
2018-03-19 14:10:21 -07:00
Moxie Marlinspike
261296e41b
Don't crash direct share service if avatar photo is missing
...
Fixes #7541
2018-03-19 13:17:57 -07:00
FeuRenard
9c0129c4b0
Allow skipping registration PIN intervals on success
...
Closes #7517
Closes #7518
2018-03-15 12:14:43 -07:00
Moxie Marlinspike
b168e14985
Move salt outside the loop
2018-03-15 10:18:14 -07:00
Moxie Marlinspike
73233c01ba
Fix backup NPE
...
Fixes #7526
2018-03-14 23:40:01 -07:00
Moxie Marlinspike
90006e81db
Add salt to backup header
2018-03-14 10:28:41 -07:00
Greyson Parrelli
f544b7d7b4
Reduce image stutter by using subsampling more often.
...
Fixes #7208 .
2018-03-13 13:25:41 -07:00
Moxie Marlinspike
41d06fc8c2
Simplify reminder interval lookup
...
Fixes #7513
2018-03-13 09:39:56 -07:00
Moxie Marlinspike
aff65abe91
Hide keyboard after backup passphrase entered
...
Fixes #7508
2018-03-13 09:28:27 -07:00
Moxie Marlinspike
64afce5f66
Switch to parameterized statements for backup
...
Fixes #7507
2018-03-13 09:27:58 -07:00
Moxie Marlinspike
6b5da7f8cf
Disable registration lock reminders for <=KK devices
...
Fixes #7500
2018-03-11 17:30:31 -07:00
Moxie Marlinspike
43d7e99a50
Don't offer backup restore on reregistration
...
Fixes #7502
2018-03-11 17:12:42 -07:00
平民·寻梦(Pingmin Fenlly Liu)
cc288d1e43
Just update to the new repo path "github.com/signalapp"
...
Closes #7469
2018-03-11 17:06:22 -07:00
junitas
7f7aab044c
Escape single quotes in SQLite entries for message backups
...
Fixes #7491
Closes #7497
2018-03-11 17:00:53 -07:00
Moxie Marlinspike
c8dd62cecf
Make it possible to set a zero value for screen lock timeout
...
Fixes #7485
2018-03-09 15:27:20 -08:00
Moxie Marlinspike
11ce4ee807
Actually increment event count
2018-03-09 14:29:15 -08:00
Moxie Marlinspike
40d14698b8
Fix NPE introduced by #6886
2018-03-09 11:14:37 -08:00
Moxie Marlinspike
34ed55d3ac
Post backup progress event for every item
...
Fixes #7483
2018-03-09 11:03:18 -08:00
Moxie Marlinspike
954b2f22f6
Don't immediately prompt for registration lock pin after reregistration
...
Fixes #7484
2018-03-09 10:41:43 -08:00
Moxie Marlinspike
b39820dcb6
Clarify Registration Lock reminder
...
Fixes #7484
2018-03-09 10:40:29 -08:00
Moxie Marlinspike
1a24885110
Fix issue "home button" issue with screen lock
...
Fixes #7475
2018-03-09 10:25:29 -08:00
Moxie Marlinspike
29fcce23b1
Prevent double screen lock intent from firing
...
Fixes #7475
2018-03-08 17:41:27 -08:00
Moxie Marlinspike
a2d04f4806
Prevent us from sql injecting ourselves on backup/restore
...
Fixes #7478
2018-03-08 16:39:57 -08:00
Andy Staudacher
61a7062030
Remove obsolete workaround for DE/FI/SK shortcodes
...
libphonenumber supports these since December 2015 / January 2016.
Most of these changes went into libphonenumber-7.2.2 (Dec 15, 2015),
the last changes related to this into libphonenumber-7.2.4 (Jan 28, 2016).
This was about adding EU-wide helplines 116xxx (http://ec.europa.eu/digital-agenda/en/116-helplines ).
See: https://github.com/googlei18n/libphonenumber/blob/master/java/release_notes.txt
Closes #6130
2018-03-07 09:59:43 -08:00
Sam Lanning
69f180a5ec
Fix some potential integer overflows for expiration time
...
In a number of locations in the code, there were conversions of message
expiration times from seconds to milliseconds, and then assigned to `long`
contexts. However these conversions were being done as integer multiplication
rather than long multiplication, meaning that there was a potential for
overflows.
Specifically, the maximum value that could be represented before overflowing
was (2^31 / 1000 / 60 / 60 / 24) days = 24.8 days (< 1 month). Luckily the
current allowed timeouts are all less than that value, but this fix would
remove the artificial restriction, effectively allowing values of 1000x greater
(68 years), at least for android.
Related #5775
Closes #7338
2018-03-07 09:55:24 -08:00
Andrew Gaul
10c1ee70e8
Make some inner classes static
...
Closes #7370
2018-03-07 09:51:05 -08:00
FeuRenard
0efda2df91
Make toast after saving attachment translatable
...
Closes #7374
2018-03-07 09:41:33 -08:00
art1fa
4bdb2acd29
Batch selection mode improvements
...
Simplified and now the same for conversation and conversation list.
Added also some styling.
Closes #7410
2018-03-07 09:38:51 -08:00
FeuRenard
527e39eee8
Don't save white space drafts
...
Fixes #7308
Closes #7383
2018-03-07 09:33:57 -08:00
Marek Sebera
694a5de2c3
Send m-notifyresp-ind (NotifyRespInd) for retrieved MMS on Lollipop API
2018-03-06 17:34:31 -08:00
junitas
4b5d7bbfa4
Ignore swipe events for ConversationListItemInboxZero
...
Fixes #7423
2018-03-06 09:35:13 -08:00
Moxie Marlinspike
110d33ddf8
Support for Registration Lock PINs
2018-03-05 16:13:56 -08:00
Moxie Marlinspike
d28dc670ea
Migrate to Android fingerprints and auth for Signal screen lock
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
3970a30e14
Add chunk IV to chunk MAC
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
24e573e537
Support for full backup/restore to sdcard
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
9f6b761d98
Migrate sessions into database
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
9f3c04dfb5
Migrate prekeys into database
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
6239508b39
Clean file names for belt and suspenders
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
71c7ef5b5e
Support for custom call ringtone selection and per-chat ringtones
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
bebdbe2aaa
Remove master secret requirement from SMS received job
...
Fixes #7444
2018-02-28 10:45:50 -08:00
Moxie Marlinspike
18aa202695
Really really delay SMS processing until sqlcipher migration completes
...
Blocking the SMS job on the screen lock isn't enough, since then
the job races against the migration.
Fixes #7390
2018-02-26 14:02:12 -08:00
Moxie Marlinspike
a0a9e412b4
Correctly lock screen when locked from conversation list
...
Fixes #7441
2018-02-26 10:47:41 -08:00
Moxie Marlinspike
028c6edd8a
Manually calculate attachment offsets
...
The CipherInputStream skip() method is pretty non-functional
Fixes #7438
2018-02-24 11:09:26 -08:00
Moxie Marlinspike
7318236286
Delay processing SMS messages until after sqlcipher migration
...
When screen lock passphrase is enabled
Fixes #7390
2018-02-21 18:49:52 -08:00
Moxie Marlinspike
0bbe83f8f2
Don't copy column to sqlcipher db if it doesn't exist there
...
Fixes #7386
2018-02-05 17:32:24 -08:00
Moxie Marlinspike
2b651ee323
Prevent NPE in #7375
2018-02-05 12:08:40 -08:00
Moxie Marlinspike
9d5d43cf3a
Wait to process messages until after migration when screenlocked
...
Fixes #7390
2018-02-04 11:26:02 -08:00
Moxie Marlinspike
93ca2ad8cf
Fix new conversation activity crash
2018-02-01 19:36:09 -08:00
Moxie Marlinspike
3633d805c8
More MasterSecret cleanup
2018-02-01 19:22:48 -08:00
Moxie Marlinspike
59092e2ec0
No need for an encrypted serializer any longer
2018-02-01 18:33:12 -08:00
Moxie Marlinspike
e6a069af6d
Remove unnecessary body model
2018-02-01 18:29:09 -08:00
Moxie Marlinspike
23aee53c7d
Add determinte progress and foreground service for sqlcipher migration
2018-02-01 16:01:24 -08:00
Moxie Marlinspike
bdd4b456c4
Have stream generate random value
2018-02-01 15:42:28 -08:00
Moxie Marlinspike
7b353a94d8
Trigger DB schema change on application DB update Activity
2018-01-31 17:49:08 -08:00
Moxie Marlinspike
5496f5baac
Deprecate encrypted storage DB types
2018-01-30 17:45:12 -08:00
Moxie Marlinspike
f36b296e2e
Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore
2018-01-30 17:27:05 -08:00
Moxie Marlinspike
799b9c2074
Adjust media preview viewpager swipe direction for rtl
2018-01-23 13:43:37 -08:00
Moxie Marlinspike
14644077e7
Change media preview swipe direction based on entry point
...
Fixes #7354
2018-01-23 12:52:24 -08:00
Moxie Marlinspike
24e6605024
Reverse media order in ViewPager
...
Fixes #7354
2018-01-22 09:32:27 -08:00
Moxie Marlinspike
bc64230a65
Switch to HackyViewPager for media preview
...
Fixes #7344
Fixes #7335
2018-01-18 10:16:35 -08:00
Moxie Marlinspike
763fa0dd21
Catch exception on image decoding error in notification
2018-01-18 10:11:33 -08:00
Moxie Marlinspike
e60715587f
Update service lib to 2.7.0
2018-01-18 10:01:41 -08:00
Moxie Marlinspike
95ebae5d5f
Support onStop/onStart media display in the correct position
...
Fixes #7330
Fixes #7329
2018-01-16 12:06:55 -08:00
Moxie Marlinspike
fe02b3f8d3
Catch exception from misconfigured MMSC
...
Fixes #7339
2018-01-16 11:32:51 -08:00
Moxie Marlinspike
94e2b9e66e
Make video player in media player control a view stub
2018-01-16 11:21:58 -08:00
Moxie Marlinspike
b307980d8c
Perform a contact sync with every directory refresh
2018-01-04 11:56:55 -08:00
Moxie Marlinspike
8bba45f396
Add swipe gestures to media view
...
Fixes #2355
Closes #6632
2018-01-04 11:11:49 -08:00
Moxie Marlinspike
34424a9b3e
Fix crash when signal messages disabled in group conversation
...
Fixes #6419
Closes #6803
2017-12-25 15:57:33 -08:00
Moxie Marlinspike
a798f97aa3
Update to webrtc M64
2017-12-21 16:37:07 -08:00
Moxie Marlinspike
6dcec7c2c5
Fix service calls that won't foreground
2017-12-20 11:27:57 -08:00
Moxie Marlinspike
512dc19471
Fix dynamic permissions problem for MMS messages
2017-12-20 11:21:00 -08:00
Moxie Marlinspike
425d6b8adf
Fix crash for dynamic permissions + background directory load
2017-12-20 11:10:12 -08:00
Moxie Marlinspike
4acedd2a4b
Fix notification ringtone problems
...
Default ringtone was often showing up as a call tone
Silent wasn't working correctly globally
2017-12-19 14:42:00 -08:00
Moxie Marlinspike
d782d3006b
Per-recipient ringtones can't be file based
2017-12-19 11:01:55 -08:00
Moxie Marlinspike
9c77ffc2a4
The webrtc busy state could be idle, but system dialer connected
2017-12-19 10:57:34 -08:00
Moxie Marlinspike
0ec1ae4ed3
Request needed permissions for thread search
2017-12-19 10:54:06 -08:00
Moxie Marlinspike
f22186e6f4
Debounce call screen answer button
...
Fixes #7274
2017-12-15 15:27:23 -08:00
Moxie Marlinspike
4de14a5dc1
Only use startForegroundService for initial service construction
2017-12-15 09:45:00 -08:00
Moxie Marlinspike
f72e35bf42
Fix typo that requests SMS permission for media/group message
...
Fixes #7271
2017-12-13 10:29:19 -08:00
Moxie Marlinspike
303b98b7c2
Register and unregister receiver with same context
...
Fixes #7267
2017-12-12 11:16:40 -08:00
Moxie Marlinspike
d5215b3593
Avoid potentially unregistering bluetooth twice
2017-12-11 09:52:03 -08:00
Moxie Marlinspike
f315b1db80
Make save attachment task toast location instead of snackbar
2017-12-08 15:21:46 -08:00
Moxie Marlinspike
f100137e0f
Synchronize and copy Recipient.getParticipants
2017-12-08 14:38:01 -08:00
Moxie Marlinspike
37092eee01
Externalize strings
2017-12-08 14:36:56 -08:00
Moxie Marlinspike
261d187567
Don't perform multi-device contact update without contact perms
2017-12-08 14:36:36 -08:00
Moxie Marlinspike
b58c87a56b
Only notify when address is in contacts
2017-12-07 11:53:17 -08:00
Moxie Marlinspike
23e9b3a61e
Fix colors in all images toolbar
...
Fixes #7242
2017-12-05 12:07:37 -08:00
Moxie Marlinspike
06e0d7d72d
Appease the linter
2017-12-05 11:52:03 -08:00
Moxie Marlinspike
27e11e9627
Make sure we have SEND_SMS permission before sending an SMS
...
Fixes #7246
2017-12-05 11:35:15 -08:00
Moxie Marlinspike
8686691a5a
Fix missing recipient calculation for system contact
...
Fixes #7244
2017-12-05 10:27:34 -08:00
Moxie Marlinspike
8b3a3d163f
Don't check subscription info on dual sim devices wihout permission
...
Fixes #7239
2017-12-02 12:23:14 -08:00
Moxie Marlinspike
02c422cb26
Some old group avatar IDs can be 0
...
Fixes #7235
2017-12-01 13:56:56 -08:00
Moxie Marlinspike
3523952ef9
As of 'N' we can no longer offer external ringtone selection
...
1. Replace custom ringtone picker with system Intent, since we
don't need it anymore. Fixes #7174
2. Make sure 'silent' ringtone selection is stored appropriately
Fixes #7115 Closes #7141
3. Replace any existing file:// notification URIs with the system
default Fixes #7234
2017-12-01 12:55:24 -08:00
Moxie Marlinspike
4cb2ac7b27
Use FileProvider for external camera capture Uri on L+
...
Fixes #7237
2017-12-01 11:06:37 -08:00
Moxie Marlinspike
8cd5ff5fa1
Mark directory retrieved on registered update
2017-11-30 13:30:15 -08:00
Moxie Marlinspike
6f10de5e30
Fix trying to launch a dialog from an application context
2017-11-30 13:05:16 -08:00
Moxie Marlinspike
c58d5c32bb
Remove request for permission that doesn't exist < O
2017-11-30 13:04:11 -08:00
Moxie Marlinspike
acfc9d75e0
Use startForegroundService instead of startService on Android 8
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
d9ab1a93f8
Fix problem with creating group and empty avatar
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
c2dbb34b25
Extract string resource
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
ed508a8def
Be more explicit with mastersecret passing
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
d5cb804f90
Switch from PACKAGE_REPLACED to MY_PACKAGE_REPLACED
...
As part of the Oreo 'no more implicit intents' thing
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
c8104a91a4
Remove dead code
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
4c8e259b56
Update compileSdk to 27
2017-11-30 10:26:41 -08:00
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
f855e161d9
Ensure notifications for new users won't be generated first fetch
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
73c75a9b34
Don't delete GCM id during registration if it never existed
...
Fixes #7229
2017-11-28 14:33:22 -08:00
Moxie Marlinspike
a350106f7d
Don't check DB workaround if push group
...
Fixes #7225
2017-11-27 09:44:50 -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
ba5febd222
Fix some emoji rendering issues related to obsolete images
...
1) The "obsolete" images like "swimmer" need to alias to
"man_swimming" so that they can be rendered correctly.
2) There are a whole bunch of emoji-data elements
(like white_frowning_face) that have "unified" code points which
have changed to include a "terminator."
Fixes #7212
2017-11-20 19:11:26 -08:00
Moxie Marlinspike
c1b2098bd9
Fix race condition that would display end call button over answer
...
Fixes #7211
2017-11-20 11:17:50 -08:00
Moxie Marlinspike
d3c72fa697
Avoid green background on item below archived conversation list item
2017-11-19 18:34:03 -08:00
Moxie Marlinspike
58f1e68961
Update emoji
...
Fixes #6637
Fixes #7206
2017-11-19 18:11:25 -08:00
Moxie Marlinspike
be6a51b123
Hide photo/mic options on whitespace entry
...
Fixes #7204
2017-11-19 16:53:12 -08:00
Moxie Marlinspike
08c72ed874
Don't show group ID in recent contact selection list
...
Fixes #7201
2017-11-19 16:46:12 -08:00
Moxie Marlinspike
86bd2351bc
Replace answer/decline button and action for incoming calls
...
Fixes #7199
2017-11-19 16:32:22 -08:00
Moxie Marlinspike
cf81815bf6
Add recent chats to top of share list
2017-11-16 15:21:46 -08:00
Moxie Marlinspike
c5a9f27c31
Catch some activity not found exceptions for expired builds
2017-11-16 12:31:42 -08:00
Moxie Marlinspike
de812d3f0f
Extract string resources
2017-11-16 12:28:29 -08:00
Moxie Marlinspike
2da47c3bb3
Fix share list crash and update look/feel
...
Fixes #7195
2017-11-16 12:22:09 -08:00
Moxie Marlinspike
e37c06c563
Show dialog if another device registered with same number
2017-11-15 16:29:00 -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
b42e91134b
Remove inset divider from last recyclerview element
2017-11-14 12:09:19 -08:00
Moxie Marlinspike
682abbf66b
Add unread count to synthesized cursor
2017-11-14 11:47:15 -08:00
Moxie Marlinspike
ad9a995ffa
Correctly display cropped profile image
...
Fixes #7191
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
21ddc1dbba
Fix profile crash
...
Fixes #7192
2017-11-14 10:50:17 -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
Moxie Marlinspike
03573df00f
Add inset dividers in conversation list
...
Closes #7074
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
40caf20188
Make sure nav drawable is mutable before tinting
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
405ee3b741
Improve search bar visibility
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
9a75f49aa1
Add an empty state for search
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
9c50057909
Add an empty state for archived
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
bb878f8a67
Adjust Conversation List toolbar to match RecyclerView alignment
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
3097c2855e
Add empty state for conversation list
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
90ff0e58b0
Update registration flow
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
e56e55363d
Add some debug logging
2017-11-14 10:49:54 -08:00
Moxie Marlinspike
50ae2dd1b8
Fix multi device race condition
...
Fixes #7175
2017-11-12 13:54:37 -08:00
Moxie Marlinspike
ad6ae10a41
Fix scaling issue when loading emoji sprites
...
Fixes #5973
// FREEBIE
2017-11-06 08:11:36 -08:00
Moxie Marlinspike
bcdf3bf311
Fix for scribbles on Android 8
...
Fixes #6998
// FREEBIE
2017-11-03 11:32:18 -07:00
Moxie Marlinspike
3e9bfcb3fd
Delete "external" persistent blobs on cleanup
...
Also switch external persistent blog directory to cache
Fixes #6909
// FREEBIE
2017-11-03 10:53:37 -07:00
Moxie Marlinspike
3ed82c1726
Glide -> glideRequests in GiphyAdapter
...
// FREEBIE
2017-11-02 18:12:06 -07:00
Christian Ascheberg
69e656af76
Add back a way to access quick contact from conversation
...
Closes #7051
// FREEBIE
2017-11-01 15:56:46 -07:00
Greg Cooksey
23a23ebd72
CreateProfileActivity uses DynamicTheme
...
Fixes #6981
Closes #6997
// FREEBIE
2017-11-01 15:56:46 -07: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
Nicholas Rizzio
0ab9b56a18
Add a space between group member names
...
Fixes #7059
Closes #7060
// FREEBIE
2017-11-01 15:56:46 -07:00
haffenloher
3df9112cf8
Fix synced sent media messages expiring too fast
...
Fixes #6928
Closes #7135
2017-11-01 15:56:46 -07:00
Moxie Marlinspike
9a8d058051
Update to glide 4.3.0
...
// FREEBIE
2017-11-01 15:56:44 -07:00
Moxie Marlinspike
6d88710a88
Update to libsignal-service 2.6.11
...
// FREEBIE
2017-11-01 15:56:31 -07:00
Moxie Marlinspike
e056bd1aa2
Update giphy connectivity strategy for glide
...
// FREEBIE
2017-11-01 15:51:38 -07:00
Moxie Marlinspike
e7937fd424
Cache external address formatter for better performance
...
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
b80408bcb4
Use Glide for all contact photo caching
...
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
10f224ede5
Update to glide 4.x
...
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
17dd681dc8
Run all AsyncTasks on thread pool executor
...
Should Fix #7002
2017-10-23 13:03:32 -07:00
Moxie Marlinspike
263846bba0
Fix mms group migration for those who haven't encountered it yet
...
Fixes #7091
// FREEBIE
2017-10-23 09:52:34 -07:00
Moxie Marlinspike
7a8bd0597a
Correctly load group avatars in RecipientPreferencesActivity
...
Fixes #7102
// FREEBIE
2017-10-16 10:16:15 -07:00
Moxie Marlinspike
5711adb2c9
Fix profile out of memory errors on low mem devices
...
Fixes #7094
// FREEBIE
2017-10-15 10:00:03 -07:00
Moxie Marlinspike
4bd3094bad
Fix problem where recycled group avatar icons have stale listener
...
Fixes #7089
// FREEBIE
2017-10-13 09:51:37 -07:00
Moxie Marlinspike
4e45d53bd9
Scroll on list post
...
Fixes #7054
// FREEBIE
2017-10-10 10:00:24 -07:00
Moxie Marlinspike
d40fea9423
Catch Glide exception when loading avatar image
...
Workaround for #7016
// FREEIBE
2017-10-10 09:18:00 -07:00
Moxie Marlinspike
c15d1a3bce
Update pipe when injecting message sender
...
// FREEBIE
2017-10-10 09:14:53 -07:00
Moxie Marlinspike
655be5adf4
Fix RingtoneManager cursor crash on some devices
...
Fixes #7055
// FREEBIE
2017-10-08 18:46:09 -07:00
Moxie Marlinspike
445f3c234c
Connect "mark all read" to sync and read receipts
...
Fixes #7069
// FREEBIE
2017-10-08 18:09:46 -07:00
Moxie Marlinspike
a382694b1f
Don't hide keyboard when back arrow tapped in Conversation Activity
...
Fixes #7065
// FREEBIE
2017-10-08 17:44:18 -07:00
Moxie Marlinspike
12020a3f86
Fix vector drawable problems < Android 5.0
...
Fixes #7056
// FREEBIE
2017-10-08 17:42:45 -07:00
Moxie Marlinspike
9fa4ba126b
Fix non-collapsing layout when scrolled from horiz recyclerview
...
Fixes #7042
// FREEBIE
2017-10-08 17:36:35 -07:00
Moxie Marlinspike
5a607918d2
Name message retrieval service thread
...
// FREEBIE
2017-10-08 11:34:24 -07:00
Moxie Marlinspike
d0570ef7cb
Fix media preview crash
...
Fixes #7050
// FREEBIE
2017-10-05 17:20:28 -07:00
Moxie Marlinspike
ac282ccf70
Display contact color in background for generated avatars
...
Fixes #7028
// FREEBIE
2017-10-04 15:24:04 -07:00
Moxie Marlinspike
42f613e722
Be more explicit with running on main thread
...
// FREEBIE
2017-10-04 14:56:31 -07:00
Moxie Marlinspike
99b2149deb
Fixed avatar icons not rendering in contact selection view
...
// FREEBIE
2017-10-04 14:47:29 -07:00
Moxie Marlinspike
5ad7e3b48a
Make avatar in conversation activity tappable
...
Fixes #7025
// FREEBIE
2017-10-04 14:04:04 -07:00
Moxie Marlinspike
5270dad789
Fix screen security preference migration
...
// FREEBIE
2017-10-04 12:37:53 -07:00
Veeti Paananen
eb456ef2b0
Fix implicit locale string formatting bugs
...
Depending on the phone language the default format may use Arabic
numerals, etc. when not desired.
Bug: fixes #7006
Closes #7040
2017-10-04 11:36:43 -07:00
Moxie Marlinspike
9a876a3672
Show "you" in MediaPreviewActivity
...
Fixes #7038
// FREEBIE
2017-10-04 11:35:16 -07:00
Moxie Marlinspike
ba849bce2c
Add support for incognito keyboard preference
...
Closes #6985
// FREEBIE
2017-10-03 18:57:23 -07:00
Moxie Marlinspike
5de89d4f26
Correctly disable preferences in group conversation preferences
...
Fixes #7031
// FREEBIE
2017-10-03 17:05:52 -07:00
Moxie Marlinspike
b7340cc356
Don't show voice notes in conversation documents overview
...
Fixes #7029
// FREEBIE
2017-10-03 16:43:31 -07:00
Moxie Marlinspike
9287b00317
Make conversation settings menu item work
...
Fixes #7023
// FREEBIE
2017-10-03 16:27:12 -07:00
Moxie Marlinspike
d7d6f38cb6
Enable censorship circumvention in Qatar
...
// FREEBIE
2017-10-03 14:08:41 -07:00
Moxie Marlinspike
b34eb08088
Fix look of default group photo in conversation preferences view
...
Fixes #7022
// FREEBIE
2017-10-03 14:01:02 -07:00
Moxie Marlinspike
a929bf91f1
Show profile name in call screen
...
Fixes #7020
// FREEBIE
2017-10-03 13:29:49 -07:00
Moxie Marlinspike
c09d2951b1
Fix preference compat crash
...
Fixes #7018
// FREEBIE
2017-10-03 10:43:06 -07:00
Moxie Marlinspike
2c1337b33e
Make early receipts work in group messages
...
For both conversation item view and message details view
// FREEBIE
2017-10-02 14:54:55 -07:00
Moxie Marlinspike
856a4d2860
Process configuration request messages
...
// FREEBIE
2017-10-02 12:39:44 -07:00
Moxie Marlinspike
b3f0888a2e
Synchronize read receipt configuration from splash screen
...
// FREEBIE
2017-10-02 12:15:45 -07:00
Moxie Marlinspike
182d571e1b
Fix experience upgrade strings for notification
...
// FREEBIE
2017-10-02 10:45:43 -07:00
Moxie Marlinspike
e145875164
Fix json serialization for group message error
...
Fixes #6919
// FREEBIE
2017-10-02 10:35:49 -07:00
Moxie Marlinspike
4c2269175b
Improve profile upload animation
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
893cf9c01d
Add support for setting empty profile names
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
285947eb66
Show per-member delivery/read status on message info in groups
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
2b4064f3b7
Add splash screen for read receipts
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Brian St. Pierre
6e6bfaa932
set MMS default characterset to utf-8.
...
Fixes #6374
Closes #6965
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
8d08f3969a
Switch from secure indicator to insecure indicator
...
Instead of cluttering Signal messages with a little padlock,
let's highlight the insecurity of SMS messages instead.
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
8ce914a344
Refactor media overview activity to display documents
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
c6b2e785a5
Reorganize conversation media activity to have sticky headers
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
b47665aa44
Fix migration typo
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
d0e781ccb4
Sync read receipt configuration to sibling devices
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
e5e0bc2333
Reorganize preference widgets
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
4828a8a274
Add conversation media photo rail to recipient preferences
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
a1c276f70b
Update to V7 PreferencesCompat library
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
cb9bc9659b
Support for read receipts
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
65124fd1f2
Redesign conversation and conversation preferences layouts
...
Remove avatars from conversation items unless in a group chat.
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
009c01fd7e
Move experience upgrade after passphrase and registration
...
// FREEBIE
2017-09-25 09:32:44 -07:00
Moxie Marlinspike
a39d9bf132
Fix for RTL layout detection crash on < API 17
...
Fixes #6987
// FREEBIE
2017-09-25 09:05:41 -07:00
Moxie Marlinspike
74779adc34
Use correct open helper for old directory database
...
// FREEBIE
2017-09-19 11:03:18 -07:00
Moxie Marlinspike
260383ac21
Fix problem with direct share
...
Fixes #6968
// FREEBIE
2017-09-15 10:36:33 -07:00
Moxie Marlinspike
b6aedd330e
Disable signal messaging if unregistered
...
Fixes #6963
// FREEBIE
2017-09-14 16:46:12 -07:00
Moxie Marlinspike
5a0f671aa4
Fix not sending group info request messages
...
Fixes #6962
// FREEBIE
2017-09-13 17:19:59 -07:00
Moxie Marlinspike
b7109e9ebb
Fix for NPE if MMS notification has no transaction ID
...
// FREEBIE
2017-09-13 16:38:02 -07:00
Moxie Marlinspike
93395c3ff4
Include own profile key in normal contact sync
...
// FREEBIE
2017-09-12 22:49:30 -07:00
Moxie Marlinspike
40d7826fb9
Fix <= KitKat bug that prompts for MMS configuration
...
Fixes #6954
2017-09-11 13:04:20 -07:00
Moxie Marlinspike
962944a974
Add some annotations
...
// FREEBIE
2017-09-10 11:21:51 -07:00
Moxie Marlinspike
08948fe05a
Don't create groups for 1:1 MMS conversations
...
Fixes #6947
// FREEBIE
2017-09-10 11:13:53 -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
f335a65d32
Stop Thread.interrupt() from being called
...
// FREEBIE
2017-09-08 11:48:44 -07:00
Moxie Marlinspike
79a88f378b
Avoid NPE if capture file isn't available
...
// FREEBIE
2017-09-08 11:38:07 -07:00
Moxie Marlinspike
afed60f870
Handle recipient modification callbacks on main thread
...
// FREEBIE
2017-09-08 11:36:09 -07:00
Moxie Marlinspike
989ea4042c
MMS group includes the sender
...
Fixes #6942
// FREEBIE
2017-09-08 11:19:57 -07:00
Moxie Marlinspike
5173921ce0
Fix bad MMS group creation logic
...
Fixes #6939
Fixes #6938
// FREEBIE
2017-09-07 20:41:34 -07:00
Moxie Marlinspike
032eaa4389
Fix crash on conversation list search
...
Fixes #6936
// FREEBIE
2017-09-07 13:52:58 -07:00
Moxie Marlinspike
962fb60ffb
Don't synchronize MMS groups to sibling devices
...
Fixes #6934
// FREEBIE
2017-09-07 11:12:57 -07:00
Moxie Marlinspike
6455c66a0b
Fix bug that prevented selecting insecure SMS
...
Fixes #6929
// FREEBIE
2017-09-06 17:54:32 -07:00
Moxie Marlinspike
2890490ab4
Support cameras that don't return data intent
...
Fixes #6926
// FREEBIE
2017-09-06 16:16:01 -07:00
Moxie Marlinspike
bcff186b10
Add self to MMS groups when migrating
...
Fixes #6925
// FREEBIE
2017-09-06 16:08:20 -07:00
Moxie Marlinspike
967c374213
Display error when camera doesn't return image
...
Partial #6926
// FREEBIE
2017-09-06 16:03:08 -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
bdb67725c5
Add additional debug information for mysterious stack trace
...
Related #6923
// FREEBIE
2017-09-06 13:56:09 -07:00
Moxie Marlinspike
29b561fe41
Fix group conversation items glitching to use conversation recipient
...
// FREEBIE
2017-09-06 10:31:48 -07:00
Moxie Marlinspike
19be527370
Fix recursive experience upgrade activity problem
...
// FREEBIE
2017-09-06 00:29:49 -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
7197d513a3
Add target for 'who can see this' profile link
...
// FREEBIE
2017-09-05 12:52:50 -07:00
Moxie Marlinspike
5cccea5846
Revert "Change default charset to UTF-8"
...
This reverts commit 86eb14b7bbad2be6e23f36478b4f3d6a43d55dd7.
2017-09-05 12:43:21 -07:00
Christian Bundy
86eb14b7bb
Change default charset to UTF-8
...
This resolves #6374 where the character set is set to
`CharacterSets.MIMENAME_ANY_CHARSET` but the character set being
used is _actually_ UTF-8.
Fixes #6374
Closes #6892
2017-09-04 14:58:25 -07:00
Moxie Marlinspike
2add02c62f
Add splash screen for setting profiles
...
// FREEBIE
2017-09-03 19:45:43 -07:00
Moxie Marlinspike
3e3ae5f865
Adjust profile key sharing based on sync messages
...
// FREEBIE
2017-08-28 17:57:07 -07:00
jdaminato94
6945ecf81d
Keep screen on when viewing a video
...
Fixes #6642
Closes #6837
// FREEBIE
2017-08-28 10:45:32 -07:00
Markus Brenneis
66062f200a
Work around SmsMessage.calculateLength NPE on broken ROMs
...
//FREEBIE
2017-08-28 10:43:14 -07:00
marcoscezar
37a5622525
Display appropriate registration error msg w/ bad verification code
...
Fixes #6551
2017-08-28 10:38:35 -07:00
Moxie Marlinspike
d0cd2621ca
Only process messages if a body is present
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
51c1e4485f
Support for profile key syncing to sibling devices
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
beed9d8034
Add length limit feedback when setting profile name
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
638a9576f8
Add censorship circumvention endpoints for CDN
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
6bfe05323e
Update recipient preference style
...
// FREEBIE
2017-08-28 10:30:50 -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
6af836735b
Remove unnecessary logging
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
1252b3ca00
Don't display unknown sender footer for group messages
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
1b2f52209d
Display unknown sender footer for unknown senders
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
5942e93a33
Share profile key when initiating a conversation
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
c11f2eddf5
Display user profile information in settings activity
...
Allow for editing
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
df99deb480
Insert profile creation into registration flow, fix capture
...
// 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
1893047a78
Profile creation activity
...
// 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
f61c52aace
Consolidate user "capability" enums to a single value
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
5a5e47f2df
Move "directory" information into RecipientPreferencesDatabase
...
// 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
mcloo
60eaade6b0
Fix plaintext export XML name escaping
...
Fixes #6830
Closes #6861
2017-08-22 15:22:03 -07:00
Benedikt Constantin Radtke
54396a3a9c
Fix group info request responses
...
GroupRecords have a list of Addresses, not Strings.
Fixes #6881
Closes #6882
2017-08-22 15:19:39 -07:00
Moxie Marlinspike
a80fe178ea
Canonicalize addresses during import from system SMS database
...
// FREEBIE
2017-08-10 12:30:13 -07:00
Moxie Marlinspike
422b4c345b
Catch IllegalArgumentException thrown internally on some devices
...
// FREEBIE
2017-08-10 12:17:05 -07:00
Moxie Marlinspike
47901e4198
Disallow alpha chars in country code field
...
// FREEBIe
2017-08-07 12:40:40 -07:00
Moxie Marlinspike
25a30d63a5
A blocked contact doesn't necessarily have to be a number
...
// FREEBIE
2017-08-07 12:27:34 -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
8de9261081
MMS addresses can be email addresses
...
Fixes #6853
// FREEBIE
2017-08-04 09:22:58 -07:00
Moxie Marlinspike
cb4303ac23
Handle migration case where recipient_ids is completely empty
...
No idea how a DB is in that state, but apparently it's possible
Fixes #6850
// FREEBIE
2017-08-03 09:32:56 -07:00
Moxie Marlinspike
9a78615991
Switch regexp matcher to find() in order to handle alpha addresses
...
Any address with an alpha character anywhere in it should be used
as-is.
Fixes #6849
// FREEBIE
2017-08-03 09:24:08 -07:00
Moxie Marlinspike
7f46e99f9c
Use SIM country code when registered number is unavailable
...
Convert directory operations to Addresses
Fixes #6845
// FREEBIE
2017-08-02 12:51:46 -07:00
Moxie Marlinspike
4838fade6c
Fix typo
...
// FREEBIE
2017-08-02 11:15:58 -07:00
Moxie Marlinspike
1e934f6146
Escape addresess in thread and recipient pref migrations
...
For clients that have not yet migrated
// FREEBIE
2017-08-02 11:08:38 -07:00
Moxie Marlinspike
aacf50316d
Escape addresses in thread, recipient pref, and group databases
...
Fixes #6847
// FREEBIE
2017-08-02 11:04:10 -07:00
Moxie Marlinspike
24c48afd2e
Fix typo in migration constraint resolution
...
Fixes #6846
// FREEBIE
2017-08-02 08:02:15 -07:00
Moxie Marlinspike
9a55632202
During migration, support recipient id of "-1"
...
Fixes #6843
// FREEBIE
2017-08-01 18:45:13 -07:00
Moxie Marlinspike
6ed549cfb2
If two recipient ids get canonicalized to the same thing, drop one
...
There's not a great way for me to know which of them is the "real"
entry, which means that I could be deleting the wrong one. In the
case of recipient "preferences," it's hopefully not a huge loss,
and there aren't any other great options.
Fixes #6838
// FREEBIE
2017-08-01 14:52:03 -07:00
Moxie Marlinspike
8a5c89244a
Be more liberal with migration addresses.
...
Anything alpha is an address as-is.
// FREEBIE.
2017-08-01 14:46:38 -07:00
Moxie Marlinspike
a67d0b18ff
Be more liberal with external address formatting
...
A string like "bonbon" should just be "bonbon". That is apparently
a valid SMS source address.
// FREEBIE
2017-08-01 14:04:51 -07:00
Moxie Marlinspike
abea2d0bdf
Fix for MediaOverviewActivity NPE
...
// FREEBIE
2017-08-01 10:00:55 -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
4229c21bdc
Fix NPE on contact update request
...
Fixes #6840
// FREEBIE
2017-08-01 08:57:26 -07:00
Moxie Marlinspike
0ae60da68b
Fix some bugs that would mis-label threads in migration
...
// FREEBIE
2017-07-31 14:04:47 -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
Moxie Marlinspike
e452862813
Catch unsatisfied link error on start if webrtc so isn't found
...
// FREEBIE
2017-07-21 16:29:03 -07:00
Moxie Marlinspike
5be246ec8f
Fix NPE for SMS pdus that could potentially be null
...
// FREEBIE
2017-07-21 16:11:55 -07:00
Moxie Marlinspike
72afb33c1b
Add Moto G5 to hardware AEC blacklist
...
For #6241
// FREEBIE
2017-07-21 16:03:31 -07:00
Moxie Marlinspike
0b39224d88
getMemoryClass -> getLargeMemoryClass
...
Fixes #6812
// FREEBIe
2017-07-21 16:01:32 -07:00
Moxie Marlinspike
82b5b35d3b
Eliminate MediaNetworkRequirement style attachment job handling
...
// FREEBIE
2017-07-21 15:59:27 -07:00
AndHell
10de144b77
Trim message text to prohibit sending empty whitespace messages
...
Closes #6788
2017-07-12 18:15:49 -07:00
Moxie Marlinspike
c36db03a3a
Prevent audio control click handler feedback loops
...
Fixes #6356
Fixes #6406
Fixes #6169
Closes #6800
// FREEBIE
2017-07-12 16:18:54 -07:00
Moxie Marlinspike
9dd508b6f5
Track pending incoming ice updates in addition to outgoing
...
// FREEBIE
2017-07-12 11:15:28 -07:00
Moxie Marlinspike
34443b059c
Revert "We can now send trickle ice candidates immediately"
...
Need to hold off on this for some iOS changes.
This reverts commit 338f8de7874c31b862af7da1bea0a4cd8472e6af.
2017-07-12 10:59:10 -07:00
Moxie Marlinspike
526d510423
Start creating "persistent" blobs in cache directory
...
Helps #5515
// FREEBIE
2017-07-06 12:58:05 -07:00
Gavin Howard
381237a315
Make plaintext export more compatible with SMS Backup and Restore
...
This commit adds the contact name and the readable date (and time) to
the plaintext export of every message. That's because that is how SMS
Backup and Restore does it, so this commit makes Signal more compatible.
Closes #6452
// FREEBIE
2017-07-06 12:19:12 -07:00
FeuRenard
512c6dc581
Keep screen off after end of audio playback
...
Fixes #6654
Closes #6669
// FREEBIE
2017-07-05 18:31:14 -07:00
Christian Ascheberg
d0bb68e137
Fix group creation through group info request
...
Closes #6763
// FREEBIE
2017-07-05 14:19:55 -07:00
Christian Ascheberg
95d48bd3e9
Improve wording of joined contact notification
...
Fixes #6757
Closes #6764
// FREEBIE
2017-07-05 14:18:07 -07:00
Moxie Marlinspike
338f8de787
We can now send trickle ice candidates immediately
...
// FREEBIE
2017-07-05 14:06:31 -07:00
Moxie Marlinspike
2c4c0f1349
Archive sessions and generate new registration id on re-register
...
Fixes #6703
// FREEBIE
2017-07-05 13:13:53 -07:00
Moxie Marlinspike
39b95ca4ed
Do more to keep MessageRetrievalService alive
...
Closes #6456
2017-07-03 11:36:31 -07:00
Moxie Marlinspike
074e46b2d9
Enable verification syncing
...
// FREEBIE
2017-06-23 13:59:06 -07:00
Moxie Marlinspike
f193723182
Don't display verified marker in conversation if unregistered
...
Closes #6755
// FREEBIE
2017-06-22 10:37:26 -07:00
Moxie Marlinspike
a0e23612d4
We need to disable this until push notifications contain more info
...
This could be a sync message, delivery receipt, or some other
message that isn't user-visible. The push notification content
would need to indicate whether that's the case in order to be
able to accurately display a notification
// FREEBIE
2017-06-20 10:57:11 -07:00
Moxie Marlinspike
04f364942e
Don't update thread state for groups w/ verified/default SNs
...
Fixes #6744
// FREEBIE
2017-06-19 11:20:15 -07:00
Moxie Marlinspike
0cc5618ba9
Only offer share/compare options when SN calculation is complete
...
Now that we're loading this asynchronously, these options need
to respond asynchronously as well
Fixes #6739
// FREEBIE
2017-06-19 10:39:15 -07:00
Moxie Marlinspike
8208bbf3c0
Remove stale identity approval preference (no longer used)
...
Fixes #6745
// FREEBIE
2017-06-19 09:27:35 -07:00
Moxie Marlinspike
1c8077a7fe
Switch from a hardware AEC whitelist back to a blacklist
...
Disabling OpenSL ES seems to make the hardware AEC "work" on
devices where it was previously causing problems.
Using the WebRTC-based software AEC *without* OpenSL ES seems to
be causing new problems.
Fixes #6737
Related #6432
Related #6241
// FREEBIE
2017-06-19 09:22:07 -07:00
Moxie Marlinspike
ec240a94e6
Fix capitalization (innocuous)
...
// FREEBIE
2017-06-15 12:04:50 -07:00
Moxie Marlinspike
666be5f358
Preserve unverified status if aleady unverified on update
...
// FREEBIE
2017-06-14 11:01:24 -07:00
Moxie Marlinspike
7f76bcc976
Don't attempt to fetch profiles for SMS contacts
...
// FREEBIE
2017-06-14 09:53:22 -07:00
Moxie Marlinspike
2dbeebac77
Maintain placeholder encrypted body to avoid processing error
...
// FREEBIE
2017-06-14 09:45:38 -07:00
Moxie Marlinspike
0f6823d37e
Null check just in case the profile comes back empty
...
// FREEBIE
2017-06-14 09:35:32 -07:00
Moxie Marlinspike
f92d768be5
Correctly handle ice candidate for stale call
...
Fixes #6373
Fixes #6305
// FREEBIE
2017-06-13 09:21:42 -07:00
Moxie Marlinspike
1eccc07673
Temporarily disable synchronization messages
...
Until desktop catches up
// FREEBIE
2017-06-12 09:47:58 -07:00
Moxie Marlinspike
76c28cfa7a
Add support for SN verification
...
// FREEBIE
2017-06-09 19:58:01 -07:00
Moxie Marlinspike
58273997b9
Explicitly check for disabled play services if needs update
...
Fixes #6381
// FREEBIE
2017-06-02 09:59:23 -07:00
Moxie Marlinspike
5672701a60
Add uncaught exception handler to message retrieval thread
...
Related #6644
// FREEBIE
2017-06-02 09:49:44 -07:00
Moxie Marlinspike
711740d156
Update to libsignal-service 2.5.10
...
// FREEBIE
2017-06-02 09:49:29 -07:00
Moxie Marlinspike
b50a3fa2b8
Actually handle busy signal correctly
...
// FREEBIE
2017-06-01 13:11:48 -07:00
Moxie Marlinspike
7e40204eb2
Fix migration
...
Fixes #6695
// FREEBIE
2017-06-01 10:57:45 -07:00
Moxie Marlinspike
d413b80b15
Canonicalize number when retrieving profile
...
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
73410f64b5
Display a notification when unable retrieve messages for push
...
Fixes #6684
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
cd55feb2b9
Update signal-service to 2.5.9
...
// FREEBIE
2017-05-31 14:51:48 -07:00
FeuRenard
a9ea672888
Resolve media message race condition
...
Fixes #6677
Closes #6681
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
5455bdffb2
Make sure existing identity entries are approved in migration
...
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
0367bf0de4
Update signal-service to 2.5.8
...
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
e9ae439b70
Fix for out of bounds on last seen search
...
Fixes #6661
Fixes #6660
// FREEBIE
2017-05-31 14:51:48 -07:00
Paride Legovini
99d229bb45
Don't connect to server if !isPushRegistered
...
Partial fix for #6620 .
Closes #6627
// FREEBIE
2017-05-31 14:51:48 -07:00
Nicholas Rizzio
3d7331159f
Set the advanced menu icon correctly
...
Fixes #6638
Closes #6639
// FREEBIE
2017-05-31 14:51:48 -07:00
Christian Ascheberg
662fe826cb
Fix conversation list safety number change snippet for groups
...
Fixes #5985
Closes #6655
// FREEBIE
2017-05-31 14:51:48 -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
d507756821
Some identity key handling changes
...
1) Prefetch identity keys when possible
2) Always accept prefetched keys or keys from incoming messages
3) Block sending only if it's a recent change, or if always
block is enabled
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
4509077338
Lollipop MMS API doesn't seem to work reliably until L_MR1
...
Fixes #6663
Fixes #6668
// FREEBIE
2017-05-24 10:52:08 -07:00
Moxie Marlinspike
4dd5a92817
Fix for NPE when place picker name is unavailable
...
Fixes #6671
// FREEBIE
2017-05-24 10:03:35 -07:00
Moxie Marlinspike
782bd6003b
Actually fallback to manual MMS receiving when system fails
...
Should resolve #6668 for tmobile users on older lollipop phones
// FREEBIE
2017-05-23 18:23:47 -07:00
Moxie Marlinspike
b78c05e70b
Keep track of when audio attachments are voice notes
...
// FREEBIE
2017-05-11 22:46:35 -07:00
Moxie Marlinspike
e96bf2bdc7
Allow share intents for arbitrary file types
...
Fixes #6608
// FREEBIE
2017-05-10 15:21:52 -07:00
Moxie Marlinspike
1c8c6d5f85
Be sure to canonicalize numbers when updating groups
...
// FREEBIE
2017-05-09 17:46:07 -07:00
Moxie Marlinspike
1525d0833c
Enforce ordered data channel
...
// FREEBIE
2017-05-09 12:13:42 -07:00
Moxie Marlinspike
3fd5e58bd5
Disable OpenSL ES by default
...
Fixes #6432
// FREEBIE
2017-05-09 11:03:32 -07:00
Moxie Marlinspike
51d6144591
Significant MMS changes
...
1) Remove all our PDU code and switch to the PDU code from the
klinker library
2) Switch to using the system Lollipop MMS library by default,
and falling back to our own custom library if that fails.
3) Format SMIL differently, using code from klinker instead of
what we've pieced together.
4) Pull per-carrier MMS media constraints from the XML config
files in the klinker library, instead of hardcoding it at 280kb.
Hopefully this is an improvement, but given that MMS is involved,
it will probably make things worse instead.
2017-05-08 18:14:55 -07:00
Audric Ackermann
165fae5734
Display contact custom label instead of phone number
...
Fixes #6211
2017-05-07 19:23:55 -07:00
AndHell
dc18f73594
update contact query
...
update query to remove duplicated numbers
Fixes #4191
Closes #6475
2017-05-07 19:18:26 -07:00
Moxie Marlinspike
12ce92bb83
Fix super call
...
// FREEBIE
2017-05-07 18:59:35 -07:00
Moxie Marlinspike
b0b08a37db
Rename "other" to "sms"
...
// FREEBIE
2017-05-07 18:59:18 -07:00
FeuRenard
1b75d00de5
Color registration buttons correctly <API21
...
Fixes #6604
Closes #6605
// FREEBIE
2017-05-07 18:23:19 -07:00
Jonas Vautherin
dd3cef5ec2
Refactor storage management to have a centralized,
...
clearer way to get the Signal output directories
Closes #6476
// FREEBIE
2017-05-06 14:06:04 -07:00
Moxie Marlinspike
757ccd0c36
Updated emoji set
...
Fixes #4279
Fixes #6587
2017-05-05 19:42:23 -07:00
Moxie Marlinspike
e340f85258
Tint devices icon too
...
Fixes #6601
// FREEBIE
2017-04-28 16:30:20 -07:00
Mateo Hernandez
a93fb1a0e5
Fix font size preference
...
Closes #6597
// FREEBIE
2017-04-28 14:51:56 -07:00
Christian Juner
1c94137f7a
Fall back to Camera1Enumerator on exceptions
...
If Camera2Enumerator.isSupported() throws, consider Camera2Enumerator to
not be supported, log the Throwable, and use Camera1Enumerator instead.
Before this patch, an exception thrown by Camera2Enumerator.isSupported
would crash any Signal call (even if video was not enabled).
Fixes #6537
// FREEBIE
2017-04-27 20:51:31 +02:00
Moxie Marlinspike
2e8250f25e
Add LG G3 to OpenSLES blacklist
...
// FREEBIE
2017-04-27 11:38:49 -07:00
Mateo Hernandez
b17cba621e
Show emoji-only messages larger
...
Closes #6531
// FREEBIE
2017-04-26 17:52:16 -07:00
Moxie Marlinspike
cb670d6783
Improve UI send latency
...
// FREEBIE
2017-04-26 10:27:30 -07:00
Moxie Marlinspike
4d889a45e2
Blacklist Nexus 5 from OpenSL ES
...
Fixes #6432
// FREEBIE
2017-04-26 10:26:32 -07:00
Moxie Marlinspike
66d1d88686
Fix file push media constraint
...
// FREEBIE
2017-04-25 10:01:09 -07:00
Moxie Marlinspike
31a549449b
Mutate Drawables we tint
...
Fixes #6575
// FREEBIE
2017-04-24 16:37:13 -07:00
Moxie Marlinspike
9bf198bb81
Add media constraints for arbitrary file types
...
Fixes #6573
// FREEBIE
2017-04-24 15:53:22 -07:00
Ahmed Ibrahim Khalil
c2796285d5
Fix copying links when scrolling in #6343
...
Closes #6565
// FREEBIE
2017-04-23 16:25:57 -07:00
Moxie Marlinspike
25c7459464
Add support for notification priority preference
...
Fixes #6315
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
2dceef50b7
Slim down some preference screens
...
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
438a78ed30
Switch jobs with network requirement to timed wakelock
...
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
8e7c7a9c54
Improve video thumbnail generation and handling on send side
...
For direct attach only
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
ad4657df1f
Fix video selection support with extra mime type
...
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
2b79e131a7
Support for sending arbitrary file types
...
// FREEBIE
2017-04-21 23:05:59 -07:00
Ahmed Ibrahim Khalil
c3164a8e84
Support copying links on long click.
...
Fixes #6343
Closes #6454
2017-04-21 23:05:59 -07:00
Mateo Hernandez
f07ce7b1f1
Move SMS/MMS pref hiding logic to onCreate
...
Closes #6528
// FREEBIE
2017-04-21 23:05:59 -07:00
Mateo Hernandez
a353ebd834
Add tint to preference icons
...
Closes #6540
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
ddf6126abf
Fix VideoPlayer Build.VERSION minimum
...
// FREEBIE
2017-04-16 11:11:08 -07:00
Mateo Hernandez
c389a9d3ce
Support non-BMP chars (e.g. emojis) in avatars
...
Closes #6527
Fixes #6522
// FREEBIE
2017-04-16 10:35:08 -07:00
Moxie Marlinspike
fe1cc3d6d1
Adjust compose field look
...
1) Align top of compose bubble with top of attach/send icon
2) Simplify hint
3) Make hint size same as input size
// FREEBIE
2017-04-15 10:12:00 -07:00
Moxie Marlinspike
5f5db5ded7
Support for message body text size preference
...
// FREEBIE
2017-04-14 22:59:30 -07:00
Moxie Marlinspike
e5a287b4e5
Add preference for SMS invitation prompt
...
// FREEBIE
2017-04-14 20:51:22 -07:00
Moxie Marlinspike
13d785894a
Fix up preference screen a little
...
1) Remove phantom padding on left margin for all fragments
2) Move preferences around slightly
3) Add some card separators and style led list pref
// FREEBIE
2017-04-14 20:39:38 -07:00
Moxie Marlinspike
4fd41080ac
Use exoplayer for playing video on API 16+ devices
...
// FREEBIE
2017-04-13 14:15:06 -07:00
Moxie Marlinspike
fad697ba2a
Fix CipherInputStream seek behavior
...
Fixes #6518
// FREEBIE
2017-04-13 12:21:38 -07:00
Moxie Marlinspike
51f27631ef
Switch from hardware AEC blacklist to whitelist
...
Related #6241
// FREEBIE
2017-04-12 15:12:13 -07:00
Taylor Kline
04153a3869
Grey 'LED blink pattern' when LED Color is None
...
Add BooleanListPreference to allow pref_led_blink to depend on
pref_led_color being non-None.
Closes #6480
2017-04-12 15:01:35 -07:00
Simon
b0b1cdef35
Add Redmi Note 4 to HARDWARE_AEC_BLACKLIST
...
See #6241
Closes #6516
// FRЕЕBIЕ
2017-04-10 14:31:45 -07:00
Moxie Marlinspike
6b7174bb35
Add OnePlus One to AEC blacklist
...
// FREEBIE
2017-04-10 09:29:46 -07:00
Moxie Marlinspike
92ea7549d4
Make UpdateApkJob use a timed wakelock
...
Fixes #6514
// FREEBIE
2017-04-10 09:25:52 -07:00
Moxie Marlinspike
0a4d1569fb
Clean up file name some on save
...
Rusty Bird points out that we don't want the save action to create
files outside the parent or hidden files.
// FREEBIE
2017-04-10 09:14:59 -07:00
Moxie Marlinspike
7c5df81840
Fix for busted OpenSSL JCE provider on older versions of android
...
Fixes #6477
// FREEBIE
2017-04-03 17:23:56 -07:00
Moxie Marlinspike
2ce9eeabed
Fix for broken attachments
...
Fixes #6467
// FREEBIE
2017-04-02 09:29:26 -07:00
Paride Legovini
c97fa0d3d1
Blacklist OnePlus X from hardware AEC
...
Closes #6465
// FREEBIE
2017-03-31 16:54:22 -07:00
Moxie Marlinspike
b0bd6ad729
Fix for crash when opening group conversation
...
Fixes #6464
// FREEBIE
2017-03-31 16:52:50 -07:00
FeuRenard
07c8db824e
Disable screen during earpiece voice note playback
...
Fixes #6437
Closes #6445
// FREEBIE
2017-03-31 09:13:00 -07:00
Moxie Marlinspike
75782affd1
Adjust joined signal string
...
// FREEBIE
2017-03-31 08:54:07 -07:00
Moxie Marlinspike
3aae86d20c
Update registration activity style
...
// FREEBIE
2017-03-30 18:18:04 -07:00
Moxie Marlinspike
ad0f2830c8
Raise max gif limit to 25MB
...
// FREEBIE
2017-03-30 16:12:55 -07:00
Moxie Marlinspike
056f2717ed
Remove duplicate column in SQL query
...
// FREEBIE
2017-03-30 16:12:42 -07:00
Moxie Marlinspike
f67eb5f9f3
Support for receiving arbitrary attachment types
...
// FREEBIE
2017-03-29 18:17:34 -07:00
Moxie Marlinspike
c69efbffd2
Don't enable speakerphone when video enabled if headset on
...
Fixes #6431
// FREEBIE
2017-03-24 11:11:48 -07:00
Moxie Marlinspike
01d66087aa
Blacklist Nexus 6 from hardware AEC
...
Remove all blacklisting from library
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike
e0e932df02
Add Samsung Galaxy S7 and Sony Xperia SP to AEC blacklist
...
Related #6241
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike
3ca653627d
Add LG G3 to hardware AEC blacklist
...
Helps #6241
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike
f4acaad407
Add Pixel, S5, Redmi Note 3, and Xiaomi Mi4 to AEC blacklist
...
Make these application-level changes
Helps #6241
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike
93e7a626bf
Make voice note playback proximity aware
...
1) Play audio through earpiece if placed to ear
2) Stop playing audio if removed from ear
Fixes #6195
// FREEBIE
2017-03-23 16:18:07 -07:00
Moxie Marlinspike
7ad68296dd
Fix for crash when call initiated from contacts
...
Fixes #6428
// FREEBIE
2017-03-22 09:49:06 -07:00
Moxie Marlinspike
0d11b3dd26
Lets limit GCM refresh to every 6hrs, and only retry once
...
// FREEBIE
2017-03-17 10:40:34 -07:00
greenjoe
deb96646a3
Add action indicator when resending a message.
...
When message is being resent, "RESEND" button now disappears.
"Resending..." text is displayed instead of an error message.
Fixes #6307
Closes #6347
2017-03-16 15:27:26 -07:00
FeuRenard
a421630789
Update input after enabling SMS
...
Fixes #6363
Closes #6387
// FREEBIE
2017-03-16 15:22:02 -07:00
FeuRenard
0f548a431b
Fallback to SMS app for invitations
...
Fixes #6369
Closes #6400
// FREEBIE
2017-03-16 14:29:41 -07:00
Benedikt Constantin Radtke
742b54f32d
fix ContactUpdates for non-e164 contacts
...
convert every number to e164 before sending it to slaves/siblings.
Closes #6310
2017-03-16 14:25:47 -07:00
Paride Legovini
1c9715f700
More RedPhone cleanup
...
Closes #6393
// FREEBIE
2017-03-15 16:59:46 -07:00
Moxie Marlinspike
9273f5cc67
Switch import/export activity from tabs to cards
...
// FREEBIE
2017-03-15 16:53:15 -07:00
Moxie Marlinspike
a8366387ab
Fix the build
...
// FREEBIE
2017-03-14 15:47:08 -07:00
Admir Ireiz
5e02715a2c
Change the app icon
...
Closes #6189
2017-03-14 15:46:19 -07:00
Christian Ascheberg
3506f2db12
Improve group update descriptions
...
Closes #5416
// FREEBIE
2017-03-14 14:26:14 -07:00
haffenloher
66c9fd44df
Honor synced end session messages
...
Fixes #5174
Closes #5178
2017-03-14 14:07:18 -07:00
RiseT
a41e82bb7d
Make WebRtcCallScreen_new_safety_numbers_title singular
...
Closes #6364
// FREEBIE
2017-03-14 13:42:39 -07:00
Moxie Marlinspike
94964474b2
So long redphone
...
// FREEBIE
2017-03-14 13:24:24 -07:00
Moxie Marlinspike
2f46c6ca1f
Don't redisplay notifications after they have been dismissed
...
Fixes #5751
Fixes #6218
// FREEBIE
2017-03-14 10:09:24 -07:00
Moxie Marlinspike
bb5e7db57e
We don't need to refresh attributes in redphone any longer
...
// FREEBIE
2017-03-13 11:50:10 -07:00
Moxie Marlinspike
3127fda7fe
Actually show the GMS update dialog
...
// FREEBIE
2017-03-12 10:56:51 -07:00
Christian Ascheberg
12b27cc56b
Fix WebRTC capability check for unregistered users
...
Fixes #6358
Closes #6368
// FREEBIE
2017-03-12 10:50:13 -07:00
mcloo
1683bb4636
Choose AudioManager SCO action device depended
...
Closes #6367
//FREEBIE
2017-03-12 10:47:35 -07:00
mcloo
9d13b9437c
Fix NPE crash when no bluetooth is available
...
Fixes #6355
Closes #6366
2017-03-12 10:45:52 -07:00
Christian Ascheberg
97c3e8fa3f
Inform about timed out incoming calls
...
Closes #6344
// FREEBIE
2017-03-12 10:43:55 -07:00
Moxie Marlinspike
6866a74d95
Don't display the last seen divider for outgoing calls
...
// FREEBIE
2017-03-09 17:31:07 -08:00
Moxie Marlinspike
cbba8c0d76
Update signal-service
...
// FREEBIE
2017-03-09 17:31:03 -08:00
Max Muth
2c1a5aef1c
Fix occasional crash on Android 7 direct reply
...
Fixes #6185
Closes #6322
//FREEBIE
2017-03-06 14:08:25 -08:00
FeuRenard
0095e00bc7
Keep screen on during voice note recording
...
Closes #6239
Fixes #4646
// FREEBIE
2017-03-06 13:45:34 -08:00
Moxie Marlinspike
ed5faa4ba9
Add video calling intro screen
...
// FREEBIE
2017-03-06 12:32:09 -08:00
Moxie Marlinspike
1e02d70052
Make webrtc calling default
...
// FREEBIE
2017-03-06 12:10:26 -08:00
Moxie Marlinspike
b110c8a2cb
Reregister GCM on every app start
...
Fixes #5531
// FREEBIE
2017-03-06 11:50:51 -08:00
Moxie Marlinspike
bdcfabf1ee
Silence incoming ringer when power button is pressed
...
// FREEBIE
2017-03-05 10:36:01 -08:00
Moxie Marlinspike
cd28cd172f
Refactor webrtc audio management
...
Attempts to:
1) Successfully play ringtone through speaker instead of earpiece
when possible.
2) Manage bluetooth headset connectivity as well as possible
3) Eliminate notification sounds while in-call when possible
4) Make sure audio is correctly setup when receiving calls
Fixes #6271
Fixes #6248
Fixes #6238
Fixes #6184
Fixes #6169
// FREEBIE
2017-03-05 10:35:55 -08:00
Moxie Marlinspike
3904c76261
Some additional debug logging
...
Related #6305
// FREEBIE
2017-02-28 17:06:05 -08:00
Moxie Marlinspike
cb6e048070
Don't try to unregister for GCM if Play Services doesn't exist
...
Fixes #6314
// FREEBIE
2017-02-28 16:59:15 -08:00
Moxie Marlinspike
9b8719e2d5
Support for website distribution build with auto-updating APK
...
// FREEBIE
2017-02-27 23:53:36 -08:00
Moxie Marlinspike
79e925051a
Support for attachment digests
...
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
a37d2f568c
Update webrtc to M57
...
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
e92b51ed98
Run webrtc calls as foreground service
...
Should hopefully stop performance degredation when in background
Fixes #6249
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
cb9f225f59
Don't start VideoCapturer until video enabled.
...
Should help with battery consumption on audio-only calls
Fixes #6259
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
8f96cff104
Don't let outgoing messages trigger last seen divider
...
Closes #6306
// FREEBIE
2017-02-26 10:49:48 -08:00
Christian Ascheberg
25daf01307
Fix unread messages timestamp comparison
...
Closes #6302
// FREEBIE
2017-02-26 10:11:37 -08:00
Christian Ascheberg
44bb2c7c72
Do not call Notification.setSound with empty ringtone
...
Closes #6293
// FREEBIE
2017-02-24 17:27:25 -08:00
Moxie Marlinspike
65c05e0388
Fix outbound calls for non-play-services users
...
Fixes #6272
// FREEBIE
2017-02-23 10:07:12 -08:00
Moxie Marlinspike
8cd50d1e82
Update last seen state on desktop sync send
...
// FREEBIE
2017-02-22 15:05:35 -08:00
Moxie Marlinspike
bdc464193d
Adjust last seen divider on read sync
...
Fixes #6273
// FREEBIE
2017-02-21 22:33:16 -08:00