Compare commits

..

523 Commits

Author SHA1 Message Date
Greyson Parrelli d06b129156 Bump version to 4.23.3 2018-07-06 09:54:15 -07:00
Greyson Parrelli f074c7e5b7 Fixed FAB sometimes blocking shared contact toggle.
Fixes #7968
2018-07-06 09:52:28 -07:00
Greyson Parrelli e334f1e035 Bump verison to 4.23.2 2018-07-05 10:08:40 -07:00
Greyson Parrelli 84e2fcad54 Update UI of toggling shared contact photo. 2018-07-05 10:05:54 -07:00
Greyson Parrelli 42236d6c3d Bump version to 4.23.1 2018-07-03 17:18:23 -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 7237e919be Bump version to 4.23.0 2018-07-02 18:22:22 -07:00
Greyson Parrelli 67407ec667 Hard-code migration for full-text search. 2018-07-02 18:10:11 -07:00
Ryan Koesters 8be0fd0867 Remove reference to Pixelapse in BUILDING.md.
Pixelapse ceased functioning in November 2016.
2018-07-02 17:58:26 -07:00
RiseT e75822c6fd Remove unused strings
- Removed unused strings
- Removed some obsolete header comments
- Removed some whitespace
2018-07-02 17:56:07 -07:00
RiseT 6a465e6589 Update locales per 2018-06-23
Translation completion >= 90%, with the exception of Irish (80%), but they've been waiting for a rather long time.

Added:
- Irish
- Kurdish
- Telugu
- Ukrainian
2018-07-02 17:49:29 -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 5d8ada0219 Update SQLCipher. 2018-07-02 16:57:06 -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
unknown 69ea116b2b Updated authenticator icons (Fixes #7908) 2018-06-29 14:38:36 -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 707ca53a23 Bump version to 4.22.4 2018-06-28 12:54:32 -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 8e186f7c62 Bump version to 4.22.3 2018-06-27 09:48:42 -07:00
Greyson Parrelli 708cd5335d Updated language translations. 2018-06-27 09:47:58 -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 6a9d19e73d Bump version to 4.22.2 2018-06-25 19:42:11 -07:00
Greyson Parrelli c33c74960e Update libwebrtc to M67. 2018-06-25 19:41:35 -07:00
Greyson Parrelli f11f99366d Bump version to 4.22.1 2018-06-25 14:32:02 -07:00
Greyson Parrelli 8af076a796 Restore res/values-be/strings.xml 2018-06-25 14:28:54 -07:00
Greyson Parrelli 28dc477b54 Bump version to 4.22.0 2018-06-25 12:18:39 -07:00
Greyson Parrelli 7fb53edc3c Updated language translations. 2018-06-25 12:18:04 -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 20cc6f4d0e Return registration permission string to previous value. 2018-06-22 10:59:53 -07:00
riyapenn-signal b9c337d0b7 Updated for small copy change 2018-06-22 10:59:53 -07:00
riyapenn-signal 3654856be5 Updated strings.xml to include minor copy changes
- Permission prompt to include text about backups
- Updated support email
- Updated domain to signal.org in a link
2018-06-22 10:59:53 -07:00
Greyson Parrelli 4f72f4c649 Remove unused string. 2018-06-22 10:59:53 -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 cddb8082f4 Remove unnecessary maven repo. 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 febf3c249e Bump version to 4.21.6 2018-06-22 10:39:16 -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 e6277c0544 Bump version to 4.21.5 2018-06-21 19:10:04 -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 d6ac17d0ee Bump version to 4.21.4 2018-06-20 13:25:53 -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 f8747748f9 Bump version to 4.21.3 2018-06-20 07:33:25 -07:00
Greyson Parrelli cc1350ba5b Updated language translations. 2018-06-20 07:32:24 -07:00
Greyson Parrelli bb7a33ed8e Bump version to 4.21.2 2018-06-18 16:33:00 -07:00
Greyson Parrelli fe4ce88439 Revert "Upgrade SQLCipher to respect a max window size."
This reverts commit dace93abb3.
2018-06-18 16:24:35 -07:00
Greyson Parrelli 2c7769ae26 Bump version to 4.21.1 2018-06-18 14:33:44 -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 e65cd2636b Bump version to 4.21.0 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 eed2c6ec4c Added adaptive icon support.
Also moved our non-adaptive app icon into the mipmap folders, which is
where they should be.

Fixes #7607
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 a6b6775aa1 Bump version to 4.20.9. 2018-06-18 14:11:50 -07:00
Greyson Parrelli 79857b98b3 Fix bug with quoted reply notifications. 2018-06-18 14:08:47 -07:00
Greyson Parrelli 0c3535cff8 Bump version to 4.20.8 2018-06-14 11:13:04 -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 e45a4b86d8 Bump version to 4.20.7 2018-06-11 10:48:24 -07:00
Greyson Parrelli 30be732ae8 Don't auto-download attachments from unknown contacts. 2018-06-11 10:47:27 -07:00
Greyson Parrelli 643dd0b679 Bump version to 4.20.6 2018-06-06 20:14:05 -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 bb40f38124 Bump version to 4.20.5 2018-05-29 13:42:21 -04: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 6d56447de2 Bump version to 4.20.4 2018-05-23 08:36:25 -04:00
Greyson Parrelli e189fff856 Fixed some cursor-related bugs in Search. 2018-05-23 08:32:46 -04:00
Greyson Parrelli 8fc63c4d78 Bump version to 4.20.3 2018-05-23 08:28:50 -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 07e8ae716c Fix EmojiTextView regression.
Using the singleLine attribute will make the TextView report that the
lineCount is always 1, regardless of actual text length. This breaks our
manual ellipsize calculation. Because you can't actually read the
singleLine attribute at runtime, I've switched relevant usages of
singleLine to use maxLines=1 (relevant usages are EmojiTextViews where
singleLine was set and ellipsize was set to 'end').

Fixes #7744
2018-05-22 14:20:50 -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 3a827d1c48 Fix dark theme in search.
Fixed #7821
2018-05-22 12:37:00 -04:00
Moxie Marlinspike 622b3afce0 Update build instructions 2018-05-22 08:25:44 -07:00
Moxie Marlinspike 107f6b4277 Bump version to 4.20.2 2018-05-22 07:17:49 -07:00
Moxie Marlinspike 32b608ff2f Updated language translations 2018-05-22 07:17:24 -07:00
Greyson Parrelli eb42b7b26a Bump version to 4.20.1. 2018-05-21 19:59:56 -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
Moxie Marlinspike c6e20f715b Merge pull request #7782 from jlund-signal/contributing-updates
Update the contribution guidelines.
2018-05-20 05:18:43 -07:00
Joshua Lund fcc9c2778d Update the contribution guidelines. 2018-05-10 10:52:00 -06:00
Moxie Marlinspike e20b973872 Add local backup listener to manifest 2018-05-06 23:52:36 -07:00
Moxie Marlinspike 7951df09ad Bump version to 4.19.3 2018-04-26 17:48:43 -07:00
Greyson Parrelli f580edaf91 Fix voice recording UI when replying to a message.
Just had to relayer some of the views so the recording UI positions
correctly lined up at the bottom.
2018-04-26 17:43:35 -07:00
Greyson Parrelli 102941c18c Fix QuoteView measuring when voice notes are present.
Fixes #7740
2018-04-26 17:41:37 -07:00
Moxie Marlinspike 0c8b2b23da Bump version to 4.19.2 2018-04-26 09:33:35 -07:00
Moxie Marlinspike aa33be6b03 Updated language translations 2018-04-26 09:33:03 -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
RiseT 7100030c22 Export string conversation_context__menu_reply_to_message
Additionally changed from "Reply" to "Reply to message" as other
related strings are more comprehensive as well.

Closes #7732
2018-04-25 10:41:26 -07:00
Greyson Parrelli 63a3b1acb9 Also make author text EmojiTextView. 2018-04-24 12:18:33 -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
RiseT 29af1669e1 Export strings from registration_call_me_view
Export strings from webrtc_call_screen

Closes #7543
2018-04-19 18:03:45 -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
Moxie Marlinspike 8b74e9a075 Bump version to 4.19.1 2018-04-18 10:40:49 -07:00
Moxie Marlinspike afbf6a91bb Bump version to 4.19.0 2018-04-18 10:15:00 -07:00
Moxie Marlinspike 8e2ae6c288 Updated language translations 2018-04-18 10:12:56 -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 4669c45ff7 Perpetuate the original sin of dark theme
Fixes #7614
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 c2c180e38d Bump version to 4.18.3 2018-04-12 17:19:44 -07:00
Moxie Marlinspike 0b0853a223 Clear cache on update 2018-04-12 17:19:18 -07:00
Moxie Marlinspike c573d5703b Bump version to 4.18.2 2018-04-09 09:10:05 -07:00
Moxie Marlinspike 8da8867bac Update language translations 2018-04-09 09:09:58 -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 c3882e9d51 Bump version to 4.18.1 2018-04-04 05:09:55 -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 5f7c30e840 Remove some old tests
Fixes #7458
2018-04-03 00:53:29 -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
Moxie Marlinspike c0da061072 Bump version to 4.18.0 2018-03-31 02:21:35 -07:00
Moxie Marlinspike 90f2398219 Updated language translations 2018-03-31 02:20:53 -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 5dc5503896 Fixed 'All Media' toolbar color mismatch.
In landscape, you'd see that the tabs were a different color from the
toolbar. This has been corrected so they're all the same color now.

Fixes #7578
Closes #7579
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
Joshua Lund a8cf5b8efa Update the issue template.
Closes #7581
2018-03-31 02:01:26 -07:00
Moxie Marlinspike f48f4a8812 Bump version to 4.17.5 2018-03-20 11:36:38 -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
Moxie Marlinspike 26a16bf0ca Bump version to 4.17.4 2018-03-15 16:48:22 -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 5f12696bed Bump version to 4.17.3 2018-03-13 09:45:43 -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 52ca295131 Bump version to 4.17.2 2018-03-11 17:34:16 -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
FeuRenard 150601c51e Replace '1' with '%d' in plural strings
Fixes #7470
Closes #7471
2018-03-11 17:05:01 -07:00
RiseT 375ebeb661 Update Transifex locales as per 2018-03-01
Remove:
- Kannada

Add (>= 90% of strings translated):
- Burmese
- Galician
- Khmer
- Lithuanian
- Thai

Closes #7490
2018-03-11 17:03:31 -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 fd7a3190f8 Bump version to 4.17.1 2018-03-10 11:19:05 -08: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
Moxie Marlinspike 9fb67b9f03 Bump version to 4.17.0 2018-03-08 08:49:26 -08:00
Moxie Marlinspike 46e5d64857 Updated language translations 2018-03-08 08:45:28 -08:00
Moxie Marlinspike 9c63c6045d Export string 2018-03-07 12:13:58 -08:00
Moxie Marlinspike 3c0bbfe6f0 s/External Storage/Storage 2018-03-07 12:10:38 -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
Win Ribeka c5e495bfe5 Adding task affinity to the share activity. Fixes #7312.
Closes #7371
2018-03-07 09:44:11 -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
Moxie Marlinspike 56c95d1d1b Extract string resource 2018-03-07 09:36:15 -08:00
Moxie Marlinspike d44bfc3ce3 s/password/passphrase 2018-03-07 09:34:41 -08:00
FeuRenard 527e39eee8 Don't save white space drafts
Fixes #7308
Closes #7383
2018-03-07 09:33:57 -08:00
Moxie Marlinspike 2beb1dd8d9 Layout adjustments 2018-03-07 09:08:13 -08:00
Marek Sebera 694a5de2c3 Send m-notifyresp-ind (NotifyRespInd) for retrieved MMS on Lollipop API 2018-03-06 17:34:31 -08:00
art1fa feee09cd28 Fix color in toolbars 2018-03-06 10:14:23 -08:00
art1fa 6dd8300c73 Add standard elevation to Toolbars 2018-03-06 10:14:23 -08:00
art1fa 4281097828 Decrease back button padding / margin 2018-03-06 10:00:44 -08:00
art1fa 1e62934220 Reduce avatar size in ConversationView 2018-03-06 10:00:44 -08:00
junitas 4b5d7bbfa4 Ignore swipe events for ConversationListItemInboxZero
Fixes #7423
2018-03-06 09:35:13 -08:00
Moxie Marlinspike f5f1305af8 Update libpastelog to 1.1.2 2018-03-05 20:17:55 -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 35a6ec707f Update libpastelog to 1.1.1 2018-03-01 18:19:34 -08:00
Moxie Marlinspike 8eb8f9e724 Bump version to 4.16.9 2018-02-28 10:47: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 eaf11744c7 Bump version to 4.16.8 2018-02-26 14:03:49 -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 9ebd8682b5 Bump version to 4.16.7 2018-02-24 11:12:11 -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 4324f0b7ec Update libpastelog 2018-02-24 11:09:05 -08:00
Moxie Marlinspike c940e984f0 Bump version to 4.16.6 2018-02-22 13:14:56 -08:00
Moxie Marlinspike 43bb1d2290 Updated language translations 2018-02-22 13:13:36 -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 a40d7158de Bump version to 4.16.5 2018-02-05 17:38:05 -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 3be45f093c Bump version to 4.16.4 2018-02-04 11:26:54 -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 751cc0e86a Bump version to 4.16.3 2018-02-02 16:32:05 -08:00
Moxie Marlinspike 01c3244f75 Specify supported ABIs 2018-02-02 16:31:49 -08:00
Moxie Marlinspike f17c144a60 Bump version to 4.16.2 2018-02-01 19:36:29 -08:00
Moxie Marlinspike 93ca2ad8cf Fix new conversation activity crash 2018-02-01 19:36:09 -08:00
Moxie Marlinspike a4aac62bcb Bump version to 4.16.1 2018-02-01 19:23:29 -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 c004ead940 Bump version to 4.16.0 2018-02-01 10:25:27 -08:00
Moxie Marlinspike 69d18dfa6a Update libsignal-service to latest 2018-01-31 19:29:19 -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 d1819b6361 Bump version to 4.15.5 2018-01-23 14:01:28 -08:00
Moxie Marlinspike 970e24ef26 Bump version to 4.15.4 2018-01-23 13:44:33 -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 9939461d9e Bump version to 4.15.3 2018-01-22 11:38:54 -08:00
Moxie Marlinspike 0403cbfd65 Updated language translations 2018-01-22 11:38:29 -08:00
Moxie Marlinspike 24e6605024 Reverse media order in ViewPager
Fixes #7354
2018-01-22 09:32:27 -08:00
Moxie Marlinspike be0ddb9756 Bump version to 4.15.2 2018-01-18 10:18:58 -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 47194e7079 Bump version to 4.15.1 2018-01-16 12:08:46 -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 d3bf6a1c59 Bump version to 4.15.0 2018-01-09 09:55:31 -08:00
Moxie Marlinspike 97244e8624 Updated language translations 2018-01-09 09:55:24 -08:00
Moxie Marlinspike 551470123d Update glide to 4.5.0 2018-01-08 17:04:39 -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
Joshua Lund c4991e857d Update the API level in the build documentation. 2017-12-25 14:42:30 -08:00
vpo 05daa71977 Adjust permission request dialog colors in dark theme
Fixes #7252
Closes #7292
2017-12-25 14:39:43 -08:00
Moxie Marlinspike da8cea9878 Update glide to 4.4 2017-12-21 17:43:24 -08:00
Moxie Marlinspike 419ef2c6f8 Update support library to 27.0.2 2017-12-21 16:38:55 -08:00
Moxie Marlinspike a798f97aa3 Update to webrtc M64 2017-12-21 16:37:07 -08:00
Moxie Marlinspike b17451b867 Bump version to 4.14.10 2017-12-20 11:46:14 -08:00
Moxie Marlinspike feaea32cdd Updated language translations 2017-12-20 11:46:04 -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 81cd20062c Bump version to 4.14.9 2017-12-19 14:48:40 -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 6d7553563f Bump version to 4.14.8 2017-12-16 10:54:29 -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 71727e1474 Bump version to 4.14.7 2017-12-13 10:30:01 -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 a8040b00cf Bump version to 4.14.6 2017-12-12 11:17:24 -08:00
Moxie Marlinspike 303b98b7c2 Register and unregister receiver with same context
Fixes #7267
2017-12-12 11:16:40 -08:00
Moxie Marlinspike 13434d620c Bump version to 4.14.5 2017-12-11 09:56:15 -08:00
Moxie Marlinspike d5215b3593 Avoid potentially unregistering bluetooth twice 2017-12-11 09:52:03 -08:00
Moxie Marlinspike 62489846e3 Bump version to 4.14.4 2017-12-08 15:22:08 -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 907a1767f4 Bump version to 4.14.3 2017-12-07 11:58:44 -08:00
Moxie Marlinspike bf70f830f3 Update language translations 2017-12-07 11:58:11 -08:00
Moxie Marlinspike b58c87a56b Only notify when address is in contacts 2017-12-07 11:53:17 -08:00
Moxie Marlinspike 27d3dc918e s/External Storage/Storage 2017-12-06 11:59:29 -08:00
Moxie Marlinspike 7ba0f4b279 Bump version to 4.14.2 2017-12-05 12:08:51 -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 6d0b8bd737 Bump version to 4.14.1 2017-12-01 14:05:50 -08:00
Moxie Marlinspike 53e87562c1 Updated language translations 2017-12-01 14:05:21 -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 4932171bbf Bump version to 4.14.0 2017-11-30 14:25:06 -08:00
Moxie Marlinspike 81c7cb1a87 Updated language translations 2017-11-30 14:24:54 -08:00
Moxie Marlinspike 2b80e98bf1 Update dockerfile 2017-11-30 14:06:21 -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
scienmind 7b2b5742c7 Update readme.md and contributing.md to use signal.org URLs
Closes #7217
2017-11-30 11:05:16 -08:00
Moxie Marlinspike 0dbcb1a49b Support for adaptive icons
Closes #6887
Fixes #6511
2017-11-30 10:59:10 -08:00
Moxie Marlinspike e7a9893e94 Fix string typo 2017-11-30 10:26:41 -08:00
Moxie Marlinspike 0f35bc6fd9 Increase targetSdkVersion to 25 2017-11-30 10:26:41 -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 886298674e Adjust inbox zero empty state 2017-11-30 10:26:41 -08:00
Moxie Marlinspike e9a82502b9 Fix up converstion list empty state look 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 8f6440ce17 Bump version to 4.13.7 2017-11-29 21:56:25 -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 f916dcd5de Bump version to 4.13.6 2017-11-27 09:48:56 -08:00
Moxie Marlinspike 1ea913cea6 Updated language translations 2017-11-27 09:48:47 -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 17f8a81a56 Bump version to 4.13.5 2017-11-25 09:52:59 -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 6ff0a62338 Bump version to 4.13.4 2017-11-20 19:13:13 -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 e1026785f7 Bump version to 4.13.3 2017-11-20 11:22:29 -08:00
Moxie Marlinspike 9004474748 Updated language translations 2017-11-20 11:21:57 -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 efb9ba6496 Bump version to 4.13.2 2017-11-19 18:48:20 -08:00
Moxie Marlinspike 19d49ed281 Add slight drop shadow to slide up / slide down answer button text 2017-11-19 18:47:24 -08:00
Moxie Marlinspike 4ecb65a262 Lighten conversation list item dividers in light theme 2017-11-19 18:39:32 -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 80042ae3aa Display action mode over toolbar
Fixes #7198
2017-11-19 18:19:01 -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 e14a97cf68 Bump version to 4.13.1 2017-11-16 15:34:29 -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 e31ce39967 Fix background on attachment manager 2017-11-16 12:26:23 -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 0960ff1fa9 Bump version to 4.13.0 2017-11-15 16:38:07 -08:00
Moxie Marlinspike 749eeb87b2 Update language translations 2017-11-15 16:37:58 -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 40004b5be3 Updated language translations 2017-11-14 20:52:58 -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 1986e58c5f Remove unused resources
According to Android Studio
2017-11-14 11:43:25 -08:00
Moxie Marlinspike b88069f396 Revert "Remove unused resources"
AS seems to have miscalculated

This reverts commit 344af622b7.
2017-11-14 11:29:20 -08:00
Moxie Marlinspike 344af622b7 Remove unused resources
Or so says Android Studio
2017-11-14 11:15:03 -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 6b94d0679c Remove unused resource 2017-11-14 10:50:17 -08:00
Moxie Marlinspike 1cee253b41 Fix contact list search cursor color 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
Nicholas Rizzio 99ea6f9812 Remove the last references to BitHub and Coinbase
Closes #7176
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 60f4e245e9 Bump version to 4.12.3 2017-11-06 15:53:01 -08:00
Moxie Marlinspike 9c1e846049 Update circular progress button dep to be compat w/ build tools 2017-11-06 15:52:18 -08:00
Moxie Marlinspike 0593de85df Update Dockerfile to support new build tools 2017-11-06 09:25:07 -08:00
Moxie Marlinspike e245281b69 Update Android plugin to 3.0.0 2017-11-06 09:20:52 -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 1c680a2c64 Update libwebrtc to M63
// FREEBIE
2017-11-03 18:01:18 -07:00
Moxie Marlinspike 648b2f24f6 Bump version to 4.12.2
// FREEBIE
2017-11-03 12:56:11 -07:00
Moxie Marlinspike 42ef64aebe Updated language translations
// FREEBIE
2017-11-03 12:55:45 -07:00
Moxie Marlinspike 9f0252dfb9 Update domain fronting cert store with new Google roots
// FREEBIE
2017-11-03 12:05:57 -07: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
Moxie Marlinspike 90203e4872 Bump version to 4.12.1
// FREEBIE
2017-11-01 15:57:00 -07:00
Moxie Marlinspike d93ba54f0e Bump version to 4.12.0
// FREEBIE
2017-11-01 15:56:55 -07:00
Moxie Marlinspike f4e8ecf740 Update Dockerfile for compileSdk 26
// FREEBIE
2017-11-01 15:56:49 -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 0bcf46bacd Remove lingering bithub reference 2017-10-18 12:39:33 -07:00
Moxie Marlinspike 4bf91aa86a Bump version to 4.11.5
// FREEBIE
2017-10-16 11:04:26 -07:00
Moxie Marlinspike 7a8bd0597a Correctly load group avatars in RecipientPreferencesActivity
Fixes #7102
// FREEBIE
2017-10-16 10:16:15 -07:00
Moxie Marlinspike e87aa85bae Bump version to 4.11.4
// FREEBIE
2017-10-15 10:12:39 -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 671023d0c8 Bump version to 4.11.3
// FREEBIE
2017-10-10 10:05:19 -07:00
Moxie Marlinspike afa0807827 Updated language translations
// FREEBIE
2017-10-10 10:04:45 -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 77c232760c No documents found -> No documents
// FREEBIE
2017-10-09 10:38:36 -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 5be1a5e3d5 Fix "no media" text alignment in conversation gallery
Fixes #7066
// FREEBIE
2017-10-08 17:46:35 -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 d24fb8c855 Bump version to 4.11.2
// FREEBIE
2017-10-04 15:25:11 -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 0a3ede7c32 Fix expiring messages timer colors in dark theme
Fixes #5759
// FREEBIE
2017-10-04 14:08:56 -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
Moxie Marlinspike 10e305d204 Remove elevation
Helps #6894

// FREEBIE
2017-10-04 12:35:17 -07:00
Moxie Marlinspike cee3858e2e Fix mysteriously missing string content
// FREEBIE
2017-10-04 12:27:45 -07:00
Moxie Marlinspike b430be9759 Fix color for shared media in dark theme
ugh dark theme

Fixes #7024
// FREEBIE
2017-10-04 12:26:03 -07:00
FeuRenard d71fb4c958 Adjust dark themed NoActionBar activities
// FREEBIE
2017-10-04 11:50:55 -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 677c7732cf Update incognito keyboard string
Fixes #7037
// FREEBIE
2017-10-04 11:21:03 -07:00
Moxie Marlinspike 4ebf97550c Fix unlocked icon color in dark theme
Fixes #7036
// FREEBIE
2017-10-04 11:15:02 -07:00
Moxie Marlinspike 8a99d9b126 Bump version to 4.11.1
// FREEBIE
2017-10-03 19:11:25 -07:00
Moxie Marlinspike 4dfaec977f Fix string reference
// FREEBIE
2017-10-03 19:11:02 -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 b3147aad55 Make "Shared media" string translatable
// FREEBIE
2017-10-03 16:29:11 -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 9389fe47bd Fix call screen FAB being off-center
Fixes #7021
// FREEBIE
2017-10-03 13:32:08 -07:00
Moxie Marlinspike a929bf91f1 Show profile name in call screen
Fixes #7020
// FREEBIE
2017-10-03 13:29:49 -07:00
Moxie Marlinspike 04fcb9c531 Bump version to 4.11.0
// FREEBIE
2017-10-03 10:43:13 -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 e388524a2f Update Dockerfile
// FREEBIE
2017-10-02 11:56:55 -07:00
Moxie Marlinspike edc00d858b Updated language translations
// FREEBIE
2017-10-02 11:20:16 -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 2e56a0aa70 Fix typo
// FREEBIE
2017-10-02 09:58:08 -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 5189fbf686 Bump minSdk to API 14
The Android v4 and v7 support libraries now only support a minSdk
of v14. This means that they are both essentially a v14 support
library now.

In order to bump compileSdk to 26, we'll have to update the support
library, which will break < v14 compatibility. Android is
essentially forcing all applications to break compatibility with
devices older than API 14.

// 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 30916d8e19 Bump version to 4.10.12
// FREEBIE
2017-09-25 09:33:02 -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 185d22809e Bump version to 4.10.11
// FREEBIE
2017-09-19 11:03:53 -07:00
Moxie Marlinspike 74779adc34 Use correct open helper for old directory database
// FREEBIE
2017-09-19 11:03:18 -07:00
Moxie Marlinspike b5ad2fc744 Bump version to 4.10.10
// FREEBIE
2017-09-15 10:37:04 -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 989ec6a40a Bump version to 4.10.9
// FREEBIE
2017-09-13 17:26:56 -07:00
Moxie Marlinspike c7e972026c Updated language translations
// FREEBIE
2017-09-13 17:26:43 -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
966 changed files with 59131 additions and 34377 deletions
+13 -9
View File
@@ -1,17 +1,21 @@
<!-- This is a bug report template. By following the instructions below and filling out the sections with your information, you will help the developers to get all the necessary data to fix your issue. <!-- This is a bug report template. By following the instructions below and filling out the sections with your information, you will help the developers get all the necessary data to fix your issue.
You can also preview your report before submitting it. You may remove sections that aren't relevant to your particular case. You can also preview your report before submitting it. You may remove sections that aren't relevant to your particular case.
Before we begin, please note that this tracker is only for issues, not questions or comments. Before we begin, please note that this tracker is only for issues. It is not for questions, comments, or feature requests.
If you are looking for support, please see our support center instead: If you would like to discuss a new feature or submit suggestions, please visit the community forum:
https://support.whispersystems.org/ https://community.signalusers.org
or email support@whispersystems.org
Let's begin with a checklist: replace the empty checkboxes [ ] below with checked ones [x] accordingly --> If you are looking for support, please visit our support center:
https://support.signal.org/
or email support@signal.org
I have: Let's begin with a checklist: Replace the empty checkboxes [ ] below with checked ones [x] accordingly. -->
- [ ] searched open and closed issues for duplicates
- [ ] read https://github.com/WhisperSystems/Signal-Android/wiki/Submitting-useful-bug-reports - [ ] I have searched open and closed issues for duplicates
- [ ] I am submitting a bug report for existing functionality that does not work as intended
- [ ] I have read https://github.com/signalapp/Signal-Android/wiki/Submitting-useful-bug-reports
- [ ] This isn't a feature request or a discussion topic
---------------------------------------- ----------------------------------------
+2 -3
View File
@@ -1,19 +1,18 @@
<!-- You can remove this first section if you have contributed before --> <!-- You can remove this first section if you have contributed before -->
### First time contributor checklist ### First time contributor checklist
<!-- replace the empty checkboxes [ ] below with checked ones [x] accordingly --> <!-- replace the empty checkboxes [ ] below with checked ones [x] accordingly -->
- [ ] I have read [how to contribute](https://github.com/WhisperSystems/Signal-Android/blob/master/CONTRIBUTING.md) to this project - [ ] I have read [how to contribute](https://github.com/signalapp/Signal-Android/blob/master/CONTRIBUTING.md) to this project
- [ ] I have signed the [Contributor License Agreement](https://whispersystems.org/cla/) - [ ] I have signed the [Contributor License Agreement](https://whispersystems.org/cla/)
### Contributor checklist ### Contributor checklist
<!-- replace the empty checkboxes [ ] below with checked ones [x] accordingly --> <!-- replace the empty checkboxes [ ] below with checked ones [x] accordingly -->
- [ ] I am following the [Code Style Guidelines](https://github.com/WhisperSystems/Signal-Android/wiki/Code-Style-Guidelines) - [ ] I am following the [Code Style Guidelines](https://github.com/signalapp/Signal-Android/wiki/Code-Style-Guidelines)
- [ ] I have tested my contribution on these devices: - [ ] I have tested my contribution on these devices:
* Device A, Android X.Y.Z * Device A, Android X.Y.Z
* Device B, Android Z.Y * Device B, Android Z.Y
* Virtual device W, Android Y.Y.Z * Virtual device W, Android Y.Y.Z
- [ ] My contribution is fully baked and ready to be merged as is - [ ] My contribution is fully baked and ready to be merged as is
- [ ] I ensure that all the open issues my contribution fixes are mentioned in the commit message of my first commit using the `Fixes #1234` [syntax](https://help.github.com/articles/closing-issues-via-commit-messages/) - [ ] I ensure that all the open issues my contribution fixes are mentioned in the commit message of my first commit using the `Fixes #1234` [syntax](https://help.github.com/articles/closing-issues-via-commit-messages/)
- [ ] I have made the choice whether I want the [BitHub reward](https://github.com/WhisperSystems/Signal-Android/wiki/BitHub-Rewards) or not by omitting or adding the word `FREEBIE` in the commit message of my first commit
---------- ----------
+1 -1
View File
@@ -1,6 +1,6 @@
[main] [main]
host = https://www.transifex.com host = https://www.transifex.com
lang_map = fr_CA:fr-rCA,pt_BR:pt-rBR,pt_PT:pt,zh_CN:zh-rCN,zh_HK:zh-rHK,zh_TW:zh-rTW,da_DK:da-rDK,de_DE:de,tr_TR:tr,fr_FR:fr,es_ES:es,hu_HU:hu,sv_SE:sv-rSE,bg_BG:bg,el_GR:el,kn_IN:kn-rIN,cs_CZ:cs,sr:sr,he:iw,id:in,lt_LT:lt,km_KH:km-rKH lang_map = fr_CA:fr-rCA,pt_BR:pt-rBR,pt_PT:pt,zh_CN:zh-rCN,zh_HK:zh-rHK,zh_TW:zh-rTW,da_DK:da-rDK,de_DE:de,tr_TR:tr,fr_FR:fr,es_ES:es,hu_HU:hu,sv_SE:sv-rSE,bg_BG:bg,el_GR:el,kn_IN:kn-rIN,cs_CZ:cs,he:iw,id:in,lt_LT:lt,km_KH:km-rKH,th_TH:th
[signal-android.master] [signal-android.master]
+74 -52
View File
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="org.thoughtcrime.securesms"> package="org.thoughtcrime.securesms">
<uses-sdk tools:overrideLibrary="com.amulyakhare.textdrawable,com.astuetz.pagerslidingtabstrip,pl.tajchert.waitingdots,com.h6ah4i.android.multiselectlistpreferencecompat,android.support.v13,com.davemorrissey.labs.subscaleview,com.tomergoldst.tooltips,com.klinker.android.send_message"/> <uses-sdk tools:overrideLibrary="com.amulyakhare.textdrawable,com.astuetz.pagerslidingtabstrip,pl.tajchert.waitingdots,com.h6ah4i.android.multiselectlistpreferencecompat,android.support.v13,com.davemorrissey.labs.subscaleview,com.tomergoldst.tooltips,com.klinker.android.send_message,com.takisoft.colorpicker,android.support.v14.preference"/>
<permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS" <permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"
android:label="Access to TextSecure Secrets" android:label="Access to TextSecure Secrets"
@@ -19,6 +19,7 @@
<uses-feature android:name="android.hardware.portrait" android:required="false"/> <uses-feature android:name="android.hardware.portrait" android:required="false"/>
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/> <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"/> <uses-permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"/>
<uses-permission android:name="android.permission.READ_PROFILE"/> <uses-permission android:name="android.permission.READ_PROFILE"/>
<uses-permission android:name="android.permission.WRITE_PROFILE"/> <uses-permission android:name="android.permission.WRITE_PROFILE"/>
@@ -26,27 +27,42 @@
tools:ignore="ProtectedPermissions"/> tools:ignore="ProtectedPermissions"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECEIVE_SMS"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/> <uses-permission android:name="android.permission.RECEIVE_MMS"/>
<uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/> <uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/> <uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_CALL_STATE"/>
<!-- For sending/receiving events -->
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<!-- Normal -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- For sending location tiles in the future --> <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- So we can add a TextSecure 'Account' --> <!-- So we can add a TextSecure 'Account' -->
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
@@ -57,10 +73,6 @@
<!-- For conversation 'shortcuts' on the desktop --> <!-- For conversation 'shortcuts' on the desktop -->
<uses-permission android:name="android.permission.INSTALL_SHORTCUT"/> <uses-permission android:name="android.permission.INSTALL_SHORTCUT"/>
<!-- For sending/receiving events -->
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<!-- For fixing MMS --> <!-- For fixing MMS -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
@@ -68,20 +80,12 @@
<!-- Set image as wallpaper --> <!-- Set image as wallpaper -->
<uses-permission android:name="android.permission.SET_WALLPAPER"/> <uses-permission android:name="android.permission.SET_WALLPAPER"/>
<!-- Permissions from RedPhone -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.RAISED_THREAD_PRIORITY" /> <uses-permission android:name="android.permission.RAISED_THREAD_PRIORITY" />
<uses-permission android:name="android.permission.READ_CALL_STATE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
<permission android:name="org.thoughtcrime.securesms.permission.C2D_MESSAGE" <permission android:name="org.thoughtcrime.securesms.permission.C2D_MESSAGE"
@@ -89,8 +93,7 @@
<uses-permission android:name="org.thoughtcrime.securesms.permission.C2D_MESSAGE" /> <uses-permission android:name="org.thoughtcrime.securesms.permission.C2D_MESSAGE" />
<application android:name=".ApplicationContext" <application android:name=".ApplicationContext"
android:icon="@drawable/icon" android:icon="@mipmap/ic_launcher"
android:roundIcon="@drawable/icon_circle"
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true" android:supportsRtl="true"
tools:replace="android:allowBackup" tools:replace="android:allowBackup"
@@ -105,9 +108,6 @@
<meta-data android:name="com.google.android.gms.version" <meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" /> android:value="@integer/google_play_services_version" />
<meta-data android:name="org.thoughtcrime.securesms.mms.TextSecureGlideModule"
android:value="GlideModule" />
<meta-data android:name="com.google.android.gms.car.application" <meta-data android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc" /> android:resource="@xml/automotive_app_desc" />
@@ -120,9 +120,6 @@
<activity android:name=".CountrySelectionActivity" <activity android:name=".CountrySelectionActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ImportExportActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".InviteActivity" <activity android:name=".InviteActivity"
android:theme="@style/TextSecure.HighlightTheme" android:theme="@style/TextSecure.HighlightTheme"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
@@ -152,8 +149,10 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ShareActivity" <activity android:name=".ShareActivity"
android:theme="@style/TextSecure.LightNoActionBar"
android:excludeFromRecents="true" android:excludeFromRecents="true"
android:launchMode="singleTask" android:launchMode="singleTask"
android:taskAffinity=""
android:noHistory="true" android:noHistory="true"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
@@ -177,10 +176,11 @@
</activity> </activity>
<activity android:name=".ConversationListActivity" <activity android:name=".ConversationListActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:launchMode="singleTask" android:launchMode="singleTask"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:theme="@style/TextSecure.LightNoActionBar"
android:exported="true" /> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
android:exported="true" />
<activity-alias android:name=".RoutingActivity" <activity-alias android:name=".RoutingActivity"
android:targetActivity=".ConversationListActivity" android:targetActivity=".ConversationListActivity"
@@ -260,10 +260,8 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".PassphrasePromptActivity" <activity android:name=".PassphrasePromptActivity"
android:label="@string/AndroidManifest__enter_passphrase"
android:launchMode="singleTask" android:launchMode="singleTask"
android:theme="@style/TextSecure.LightIntroTheme" android:theme="@style/TextSecure.LightIntroTheme"
android:windowSoftInputMode="stateAlwaysVisible"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".NewConversationActivity" <activity android:name=".NewConversationActivity"
@@ -292,12 +290,11 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".RegistrationActivity" <activity android:name=".RegistrationActivity"
android:launchMode="singleTask"
android:theme="@style/TextSecure.LightNoActionBar"
android:windowSoftInputMode="stateUnchanged" android:windowSoftInputMode="stateUnchanged"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".RegistrationProgressActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".DeviceActivity" <activity android:name=".DeviceActivity"
android:label="@string/AndroidManifest__linked_devices" android:label="@string/AndroidManifest__linked_devices"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
@@ -314,6 +311,7 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".MediaOverviewActivity" <activity android:name=".MediaOverviewActivity"
android:theme="@style/TextSecure.LightNoActionBar"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
android:launchMode="singleTask" android:launchMode="singleTask"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
@@ -374,7 +372,7 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".scribbles.ScribbleActivity" <activity android:name=".scribbles.ScribbleActivity"
android:theme="@style/TextSecure.LightNoActionBar" android:theme="@style/TextSecure.ScribbleTheme"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
@@ -386,6 +384,7 @@
<activity android:name=".CreateProfileActivity" <activity android:name=".CreateProfileActivity"
android:theme="@style/TextSecure.LightTheme" android:theme="@style/TextSecure.LightTheme"
android:windowSoftInputMode="stateVisible"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ClearProfileAvatarActivity" <activity android:name=".ClearProfileAvatarActivity"
@@ -400,11 +399,21 @@
</intent-filter> </intent-filter>
</activity> </activity>
<service android:enabled="true" android:name="org.thoughtcrime.securesms.service.WebRtcCallService"/> <activity android:name=".contactshare.ContactShareEditActivity"
android:theme="@style/TextSecure.LightTheme"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".contactshare.ContactNameEditActivity"
android:theme="@style/TextSecure.LightNoActionBar"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".contactshare.SharedContactDetailsActivity"
android:theme="@style/TextSecure.LightNoActionBar"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<service android:enabled="true" android:name="org.thoughtcrime.securesms.service.WebRtcCallService"/>
<service android:enabled="true" android:name=".service.ApplicationMigrationService"/> <service android:enabled="true" android:name=".service.ApplicationMigrationService"/>
<service android:enabled="true" android:name=".service.KeyCachingService"/> <service android:enabled="true" android:exported="false" android:name=".service.KeyCachingService"/>
<service android:enabled="true" android:name=".service.RegistrationService"/>
<service android:enabled="true" android:name=".service.MessageRetrievalService"/> <service android:enabled="true" android:name=".service.MessageRetrievalService"/>
<service android:name=".service.QuickResponseService" <service android:name=".service.QuickResponseService"
@@ -442,6 +451,8 @@
</intent-filter> </intent-filter>
</service> </service>
<service android:name=".service.GenericForegroundService"/>
<receiver android:name=".gcm.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <receiver android:name=".gcm.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter> <intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.RECEIVE" />
@@ -512,6 +523,9 @@
</intent-filter> </intent-filter>
</receiver> </receiver>
<receiver android:name=".service.ExpirationListener" />
<receiver android:name=".jobmanager.requirements.BackoffReceiver" />
<provider android:name=".providers.PartProvider" <provider android:name=".providers.PartProvider"
android:grantUriPermissions="true" android:grantUriPermissions="true"
@@ -523,12 +537,14 @@
android:exported="false" android:exported="false"
android:authorities="org.thoughtcrime.provider.securesms.mms" /> android:authorities="org.thoughtcrime.provider.securesms.mms" />
<receiver android:name=".service.RegistrationNotifier" <provider android:name="android.support.v4.content.FileProvider"
android:exported="false"> android:authorities="org.thoughtcrime.securesms.fileprovider"
<intent-filter> android:exported="false"
<action android:name="org.thoughtcrime.securesms.REGISTRATION_EVENT" /> android:grantUriPermissions="true">
</intent-filter>
</receiver> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_provider_paths" />
</provider>
<receiver android:name=".service.BootReceiver"> <receiver android:name=".service.BootReceiver">
<intent-filter> <intent-filter>
@@ -549,6 +565,12 @@
</intent-filter> </intent-filter>
</receiver> </receiver>
<receiver android:name=".service.LocalBackupListener">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<receiver android:name=".service.PersistentConnectionBootListener"> <receiver android:name=".service.PersistentConnectionBootListener">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/> <action android:name="android.intent.action.BOOT_COMPLETED"/>
@@ -569,7 +591,7 @@
<receiver android:name=".ExperienceUpgradeActivity$AppUpgradeReceiver"> <receiver android:name=".ExperienceUpgradeActivity$AppUpgradeReceiver">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED"/> <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
<data android:scheme="package" /> <data android:scheme="package" />
</intent-filter> </intent-filter>
+7 -5
View File
@@ -15,26 +15,28 @@ The following steps should help you (re)build Signal from the command line.
1. Checkout the Signal-Android project source with the command: 1. Checkout the Signal-Android project source with the command:
git clone https://github.com/WhisperSystems/Signal-Android.git git clone https://github.com/signalapp/Signal-Android.git
2. Make sure you have the [Android SDK](https://developer.android.com/sdk/index.html) installed. 2. Make sure you have the [Android SDK](https://developer.android.com/sdk/index.html) installed.
3. Ensure that the following packages are installed from the Android SDK manager: 3. Ensure that the following packages are installed from the Android SDK manager:
* Android SDK Build Tools (see buildToolsVersion in build.gradle) * Android SDK Build Tools (see buildToolsVersion in build.gradle)
* SDK Platform (API level 22) * SDK Platform (All API levels)
* Android Support Repository * Android Support Repository
* Google Repository * Google Repository
4. Create a local.properties file at the root of your source checkout and add an sdk.dir entry to it. For example: 4. Create a local.properties file at the root of your source checkout and add an sdk.dir entry to it. For example:
sdk.dir=/Application/android-sdk-macosx sdk.dir=/Application/android-sdk-macosx
5. Execute Gradle: 5. Using Java 8
6. Execute Gradle:
./gradlew build ./gradlew build
Visual assets Visual assets
---------------------- ----------------------
Source assets tend to be large binary blobs, which are best stored outside of git repositories. We host ours in a [Pixelapse repository](https://www.pixelapse.com/openwhispersystems/projects/signal-android/). Some source files are SVGs that can be auto-colored and sized using a tool like [android-res-utils](https://github.com/sebkur/android-res-utils). Source assets tend to be large binary blobs, which are best stored outside of git repositories. Some source files are SVGs that can be auto-colored and sized using a tool like [android-res-utils](https://github.com/sebkur/android-res-utils).
Sample command for generating our audio placeholder image: Sample command for generating our audio placeholder image:
@@ -53,7 +55,7 @@ Setting up a development environment
3. From the Quickstart panel, choose "Configure" then "SDK Manager". 3. From the Quickstart panel, choose "Configure" then "SDK Manager".
4. In the SDK Tools tab of the SDK Manager, make sure that the "Android Support Repository" is installed, and that the latest "Android SDK build-tools" are installed. Click "OK" to return to the Quickstart panel. 4. In the SDK Tools tab of the SDK Manager, make sure that the "Android Support Repository" is installed, and that the latest "Android SDK build-tools" are installed. Click "OK" to return to the Quickstart panel.
5. From the Quickstart panel, choose "Checkout from Version Control" then "git". 5. From the Quickstart panel, choose "Checkout from Version Control" then "git".
6. Paste the URL for the Signal-Android project when prompted (https://github.com/WhisperSystems/Signal-Android.git). 6. Paste the URL for the Signal-Android project when prompted (https://github.com/signalapp/Signal-Android.git).
7. Android studio should detect the presence of a project file and ask you whether to open it. Click "yes". 7. Android studio should detect the presence of a project file and ask you whether to open it. Click "yes".
9. Default config options should be good enough. 9. Default config options should be good enough.
9. Project initialisation and build should proceed. 9. Project initialisation and build should proceed.
+43 -42
View File
@@ -1,6 +1,6 @@
# Contributing to Signal Android # Contributing to Signal Android
Thank you for deciding to help this project! If you have contributed to other open source projects before please note that some conventions here might be a bit different than what you are used to. Reading this document will save you, other contributors and the developers time. Thank you for supporting Signal and looking for ways to help. Please note that some conventions here might be a bit different than what you are used to, even if you have contributed to other open source projects before. Reading this document will help you save time and work effectively with the developers and other contributors.
## Development Ideology ## Development Ideology
@@ -9,80 +9,81 @@ Truths which we believe to be self-evident:
1. **The answer is not more options.** If you feel compelled to add a preference that's exposed to the user, it's very possible you've made a wrong turn somewhere. 1. **The answer is not more options.** If you feel compelled to add a preference that's exposed to the user, it's very possible you've made a wrong turn somewhere.
1. **The user doesn't know what a key is.** We need to minimize the points at which a user is exposed to this sort of terminology as extremely as possible. 1. **The user doesn't know what a key is.** We need to minimize the points at which a user is exposed to this sort of terminology as extremely as possible.
1. **There are no power users.** The idea that some users "understand" concepts better than others has proven to be, for the most part, false. If anything, "power users" are more dangerous than the rest, and we should avoid exposing dangerous functionality to them. 1. **There are no power users.** The idea that some users "understand" concepts better than others has proven to be, for the most part, false. If anything, "power users" are more dangerous than the rest, and we should avoid exposing dangerous functionality to them.
1. **If it's "like PGP," it's wrong.** PGP is our guide for what not to do. 1. **If it's "like PGP," it's wrong.** PGP is our guide for what not to do.
1. **It's an asynchronous world.** Be wary of anything that is anti-asynchronous: ACKs, protocol confirmations, or any protocol-level "advisory" message. 1. **It's an asynchronous world.** Be wary of anything that is anti-asynchronous: ACKs, protocol confirmations, or any protocol-level "advisory" message.
1. **There is no such thing as time.** Protocol ideas that require synchronized clocks are doomed to failure. 1. **There is no such thing as time.** Protocol ideas that require synchronized clocks are doomed to failure.
## Translations ## Translations
Please do not submit issues or pull requests for translation fixes. Anyone can update the translations in [Transifex](https://www.transifex.com/projects/p/signal-android/). Please submit your corrections there. Thanks to a dedicated community of volunteer translators, Signal is now available in more than one hundred languages. We use Transifex to manage our translation efforts, not GitHub. Any suggestions, corrections, or new translations should be submitted to the [Signal localization project for Android](https://www.transifex.com/projects/p/signal-android/).
## Issues ## Issues
### Useful bug reports ### Useful bug reports
1. Please search both open and closed issues first to make sure your issue is not a duplicate. 1. Please search both open and closed issues to make sure your bug report is not a duplicate.
1. Read the [Submitting useful bug reports guide](https://github.com/WhisperSystems/Signal-Android/wiki/Submitting-useful-bug-reports) before posting a bug. 1. Read the [guide to submitting useful bug reports](https://github.com/signalapp/Signal-Android/wiki/Submitting-useful-bug-reports) before posting a bug.
### Issue tracker is for bugs ### The issue tracker is for bugs, not feature requests
The main purpose of this issue tracker is to track bugs for the Android client. Relevant, concise and to the point comments that help to solve the issue are very welcome. The GitHub issue tracker is not used for feature requests, but new ideas can be submitted and discussed on the [community forum](https://community.signalusers.org/c/feature-requests). The purpose of this issue tracker is to track bugs in the Android client. Bug reports should only be submitted for existing functionality that does not work as intended. Comments that are relevant and concise will help the developers solve issues more quickly.
##### Send support questions to support ### Send support questions to support
Please do **not** ask support questions at the issue tracker. We want to help you using Signal and we have created our support system just for that. You can reach support by sending email to support@whispersystems.org or by going to our [Support Center](http://support.whispersystems.org). You can also search for existing troubleshooting articles at the [Support Center](http://support.whispersystems.org). You can reach support by sending an email to support@signal.org or by visiting the [Signal Support Center](https://support.signal.org/) where you can also search for existing troubleshooting articles and find answers to frequently asked questions. Please do not post support questions on the GitHub issue tracker.
##### Not a discussion forum ### GitHub is not a generic discussion forum
Please do **not** use this issue tracker as a discussion forum. Discussion related to the bug in question should of course go to the issue itself. However other discussion should take place at the [community forum](https://whispersystems.discoursehosting.net). You can use that forum to discuss any Signal related topics or to just hang out with your fellow users. Conversations about open bug reports belong here. However, all other discussions should take place on the [community forum](https://community.signalusers.org). You can use the community forum to discuss anything that is related to Signal or to hang out with your fellow users in the "Off Topic" category.
### Don't bump issues ### Don't bump issues
Every time someone comments on an issue, GitHub sends email to [everyone who is watching](https://github.com/WhisperSystems/Signal-Android/watchers) the repository (currently around 500 people). Thus bumping issues with :+1:s, _me toos_ or asking for updates generates a lot of unnecessary email notifications. Moreover bumping an issue does not help solve it. Please be respectful of everyone's time and only comment if you have relevant new information to add. Every time someone comments on an issue, GitHub sends an email to [hundreds of people](https://github.com/signalapp/Signal-Android/watchers). Bumping issues with a "+1" (or asking for updates) generates a lot of unnecessary email notifications and does not help anyone solve the issue any faster. Please be respectful of everyone's time and only comment when you have new information to add.
### Open issues ### Open issues
#### If it's open it's tracked #### If it's open, it's tracked
Have you followed all the points in the [Submitting useful bug reports guide](https://github.com/WhisperSystems/Signal-Android/wiki/Submitting-useful-bug-reports) but nobody has commented on your issue? Is there no milestone or person assigned to it? Don't worry, the developers read every issue and if it's open it means it's tracked and taken into account. It might just take time as other issues have higher priority. And remember that this is an open source project: Everyone is encouraged to take an active role in fixing open issues. The developers read every issue, but high-priority bugs or features can take precedence over others. Signal is an open source project, and everyone is encouraged to play an active role in diagnosing and fixing open issues.
### Closed issues ### Closed issues
#### "My issue was closed without giving a reason!" #### "My issue was closed without giving a reason!"
Please understand that writing detailed explanations every time for every issue someone comes up with takes time. Sometimes a reason has been posted earlier to another related issue which you can search for. It's also possible that your issue was not in line with the guidelines of the project (see especially the [Development Ideology](https://github.com/WhisperSystems/Signal-Android/blob/master/CONTRIBUTING.md#development-ideology)), or it was decided that the issue is not something that Signal should do at this time. Although we do our best, writing detailed explanations for every issue can be time consuming, and the topic also might have been covered previously in other related issues.
## Pull requests ## Pull requests
### Sign the Contributor Licence Agreement (CLA) ### Smaller is better
You need to sign our CLA before your pull request can be merged. You can sign it at: https://whispersystems.org/cla/ Big changes are significantly less likely to be accepted. Large features often require protocol modifications and necessitate a staged rollout process that is coordinated across millions of users on multiple platforms (Android, iOS, and Desktop).
Try not to take on too much at once. As a first-time contributor, we recommend starting with small and simple PRs in order to become familiar with the codebase. Most of the work should go into discovering which three lines need to change rather than writing the code.
### Sign the Contributor License Agreement (CLA)
You will need to [sign our CLA](https://signal.org/cla/) before your pull request can be merged.
### Follow the Code Style Guidelines ### Follow the Code Style Guidelines
Before submitting a pull request please check that your code adheres to the [Code Style Guidelines](https://github.com/WhisperSystems/Signal-Android/wiki/Code-Style-Guidelines). Ensure that your code adheres to the [Code Style Guidelines](https://github.com/signalapp/Signal-Android/wiki/Code-Style-Guidelines) before submitting a pull request.
### Submit only complete PRs and test them ### Submit finished and well-tested pull requests
Please do not submit pull requests that are still a work in progress. Pull requests should be ready for a merge when you submit them. Also please do not submit pull requests that you have not tested. Please do not submit pull requests that are still a work in progress. Pull requests should be thoroughly tested and ready to merge before they are submitted.
### Smaller is better
Please do not try to change too much at once. Big changes are less likely to be merged. If you are a first time contributor start with small and simple PRs to get to know the codebase.
### Merging can sometimes take a while ### Merging can sometimes take a while
If your pull request follows all the advice above but still has not been merged it usually means the developers haven't simply had the time to review it yet. We understand that this might feel frustrating. We are sorry! If your pull request follows all of the advice above but still has not been merged, this usually means that the developers haven't had time to review it yet. We understand that this might feel frustrating, and we apologize. The Signal team is still small, but [we are hiring](https://signal.org/workworkwork/).
### Bithub
Accepted pull requests will be rewarded with Bitcoins! After your pull request has been merged you will automatically receive an email to the address you have specified as your Git commit email. Follow the instructions in the email to claim your coins. If you wish to submit your contribution for free please add the word `FREEBIE` in your Git commit message. You may wish to explore some previously merged commits to see how it all works.
## How can I contribute? ## How can I contribute?
Anyone can help by There are several other ways to get involved:
- advising new people about the guidelines of this project * Help new users learn about Signal.
- redirecting support questions to support@whispersystems.org and the [support site](https://support.whispersystems.org) * Redirect support questions to support@signal.org and the [Signal Support Center](https://support.signal.org/).
- redirecting non-bug related discussions to the [community forum](https://whispersystems.discoursehosting.net) * Redirect non-bug discussions to the [community forum](https://community.signalusers.org).
- improving documentation in the [wiki](https://github.com/WhisperSystems/Signal-Android/wiki) * Improve documentation in the [wiki](https://github.com/signalapp/Signal-Android/wiki).
- [translating](https://www.transifex.com/projects/p/signal-android/) * Join the community of volunteer translators on Transifex:
- finding and marking duplicate issues * [Android](https://www.transifex.com/projects/p/signal-android/)
- trying to reproduce issues * [iOS](https://www.transifex.com/open-whisper-systems/signal-ios/)
- finding solutions to open issues and posting relevant findings as comments * [Desktop](https://www.transifex.com/projects/p/signal-desktop/)
- submitting pull requests * Find and mark duplicate issues.
- testing other people's pull requests * Try to reproduce issues and help with troubleshooting.
- spreading the joy of Signal to your friends and family * Discover solutions to open issues and post any relevant findings.
- donating money to our [BitHub](https://www.coinbase.com/checkouts/51dac699e660a4d773216b5ad94d6a0b) or through the [Freedom of the Press Foundation's donation page](https://freedom.press/crowdfunding/signal/) * Test other people's pull requests.
* Contribute to Signal via the [Freedom of the Press Foundation's donation page](https://freedom.press/crowdfunding/signal/).
* Share Signal with your friends and family.
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/WhisperSystems/Signal-Android?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) Signal is made for you. Thank you for your feedback and support.
+4 -5
View File
@@ -1,19 +1,18 @@
FROM ubuntu:14.04.3 FROM ubuntu:17.04
RUN dpkg --add-architecture i386 && \ RUN dpkg --add-architecture i386 && \
apt-get update -y && \ apt-get update -y && \
apt-get install -y software-properties-common && \ apt-get install -y software-properties-common && \
add-apt-repository -y ppa:openjdk-r/ppa && \
apt-get update -y && \ apt-get update -y && \
apt-get install -y libc6:i386=2.19-0ubuntu6.7 libncurses5:i386=5.9+20140118-1ubuntu1 libstdc++6:i386=4.8.4-2ubuntu1~14.04.1 lib32z1=1:1.2.8.dfsg-1ubuntu1 wget openjdk-8-jdk=8u72-b15-1~trusty1 git unzip && \ apt-get install -y libc6:i386=2.24-9ubuntu2.2 libncurses5:i386=6.0+20160625-1ubuntu1 libstdc++6:i386=6.3.0-12ubuntu2 lib32z1=1:1.2.11.dfsg-0ubuntu1 wget openjdk-8-jdk=8u131-b11-2ubuntu1.17.04.3 git unzip && \
rm -rf /var/lib/apt/lists/* && \ rm -rf /var/lib/apt/lists/* && \
apt-get autoremove -y && \ apt-get autoremove -y && \
apt-get clean apt-get clean
ENV ANDROID_SDK_FILENAME android-sdk_r24.4.1-linux.tgz ENV ANDROID_SDK_FILENAME android-sdk_r24.4.1-linux.tgz
ENV ANDROID_SDK_URL https://dl.google.com/android/${ANDROID_SDK_FILENAME} ENV ANDROID_SDK_URL https://dl.google.com/android/${ANDROID_SDK_FILENAME}
ENV ANDROID_API_LEVELS android-25 ENV ANDROID_API_LEVELS android-27
ENV ANDROID_BUILD_TOOLS_VERSION 25.0.0 ENV ANDROID_BUILD_TOOLS_VERSION 27.0.1
ENV ANDROID_HOME /usr/local/android-sdk-linux ENV ANDROID_HOME /usr/local/android-sdk-linux
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
RUN cd /usr/local/ && \ RUN cd /usr/local/ && \
+5 -10
View File
@@ -11,7 +11,7 @@ Currently available on the Play store.
## Contributing Bug reports ## Contributing Bug reports
We use GitHub for bug tracking. Please search the existing issues for your bug and create a new one if the issue is not yet tracked! We use GitHub for bug tracking. Please search the existing issues for your bug and create a new one if the issue is not yet tracked!
https://github.com/WhisperSystems/Signal-Android/issues https://github.com/signalapp/Signal-Android/issues
## Joining the Beta ## Joining the Beta
Want to live life on the bleeding edge and help out with testing? Want to live life on the bleeding edge and help out with testing?
@@ -27,31 +27,26 @@ Interested in helping to translate Signal? Contribute here:
https://www.transifex.com/projects/p/signal-android/ https://www.transifex.com/projects/p/signal-android/
## Contributing Code ## Contributing Code
Instructions on how to setup your development environment and build Signal can be found in [BUILDING.md](https://github.com/WhisperSystems/Signal-Android/blob/master/BUILDING.md). Instructions on how to setup your development environment and build Signal can be found in [BUILDING.md](https://github.com/signalapp/Signal-Android/blob/master/BUILDING.md).
If you're new to the Signal codebase, we recommend going through our issues and picking out a simple bug to fix (check the "easy" label in our issues) in order to get yourself familiar. Also please have a look at the [CONTRIBUTING.md](https://github.com/WhisperSystems/Signal-Android/blob/master/CONTRIBUTING.md), that might answer some of your questions. If you're new to the Signal codebase, we recommend going through our issues and picking out a simple bug to fix (check the "easy" label in our issues) in order to get yourself familiar. Also please have a look at the [CONTRIBUTING.md](https://github.com/signalapp/Signal-Android/blob/master/CONTRIBUTING.md), that might answer some of your questions.
For larger changes and feature ideas, we ask that you propose it on the [unofficial Community Forum](https://whispersystems.discoursehosting.net) for a high-level discussion with the wider community before implementation. For larger changes and feature ideas, we ask that you propose it on the [unofficial Community Forum](https://whispersystems.discoursehosting.net) for a high-level discussion with the wider community before implementation.
## Contributing Ideas ## Contributing Ideas
Have something you want to say about Open Whisper Systems projects or want to be part of the conversation? Get involved in the [community forum](https://whispersystems.discoursehosting.net). Have something you want to say about Open Whisper Systems projects or want to be part of the conversation? Get involved in the [community forum](https://whispersystems.discoursehosting.net).
## Contributing Funds
[![Donate](https://cloud.githubusercontent.com/assets/3121306/11278543/d46e03d0-8eeb-11e5-9691-0da1bf643192.png)](https://www.coinbase.com/checkouts/51dac699e660a4d773216b5ad94d6a0b)
You can add funds to BitHub to directly help further development efforts.
Help Help
==== ====
## Support ## Support
For troubleshooting and questions, please visit our support center! For troubleshooting and questions, please visit our support center!
https://support.whispersystems.org/ https://support.signal.org/
## Documentation ## Documentation
Looking for documentation? Check out the wiki! Looking for documentation? Check out the wiki!
https://github.com/WhisperSystems/Signal-Android/wiki https://github.com/signalapp/Signal-Android/wiki
# Legal things # Legal things
## Cryptography Notice ## Cryptography Notice
Binary file not shown.

Before

Width:  |  Height:  |  Size: 523 KiB

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 818 KiB

After

Width:  |  Height:  |  Size: 812 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 524 KiB

After

Width:  |  Height:  |  Size: 610 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 959 KiB

After

Width:  |  Height:  |  Size: 694 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 938 KiB

After

Width:  |  Height:  |  Size: 873 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 741 KiB

After

Width:  |  Height:  |  Size: 482 KiB

+128 -77
View File
@@ -6,54 +6,68 @@ buildscript {
url "https://repo1.maven.org/maven2" url "https://repo1.maven.org/maven2"
jcenter() jcenter()
} }
maven {
url 'https://maven.google.com/'
name 'Google'
}
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:2.3.0' classpath 'com.android.tools.build:gradle:3.0.1'
classpath files('libs/gradle-witness.jar') classpath files('libs/gradle-witness.jar')
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
} }
} }
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
apply plugin: 'witness' apply plugin: 'witness'
apply plugin: 'me.tatarka.retrolambda'
repositories { repositories {
maven { maven {
url "https://repo1.maven.org/maven2/" url "https://repo1.maven.org/maven2/"
} }
maven { maven {
url "https://raw.github.com/whispersystems/maven/master/preferencefragment/releases/" url "https://raw.github.com/signalapp/maven/master/preferencefragment/releases/"
} }
maven { maven {
url "https://raw.github.com/whispersystems/maven/master/smil/releases/" url "https://raw.github.com/signalapp/maven/master/smil/releases/"
} }
maven { maven {
url "https://raw.github.com/whispersystems/maven/master/photoview/releases/" url "https://raw.github.com/signalapp/maven/master/photoview/releases/"
} }
maven { maven {
url "https://raw.github.com/whispersystems/maven/master/shortcutbadger/releases/" url "https://raw.github.com/signalapp/maven/master/shortcutbadger/releases/"
}
maven {
url "https://raw.github.com/signalapp/maven/master/circular-progress-button/releases/"
}
maven {
url "https://raw.github.com/signalapp/maven/master/sqlcipher/release/"
}
maven {
url "https://maven.google.com"
} }
maven { // textdrawable maven { // textdrawable
url 'https://dl.bintray.com/amulyakhare/maven' url 'https://dl.bintray.com/amulyakhare/maven'
} }
jcenter() jcenter()
mavenLocal() mavenLocal()
maven {
url 'https://maven.google.com/'
name 'Google'
}
} }
dependencies { dependencies {
compile 'com.android.support:appcompat-v7:25.1.0' compile 'com.android.support:appcompat-v7:27.0.2'
compile 'com.android.support:recyclerview-v7:25.1.0' compile 'com.android.support:recyclerview-v7:27.0.2'
compile 'com.android.support:design:25.1.0' compile 'com.android.support:design:27.0.2'
compile 'com.android.support:support-v13:25.1.0' compile 'com.android.support:support-v13:27.0.2'
compile 'com.android.support:cardview-v7:25.1.0' compile 'com.android.support:cardview-v7:27.0.2'
compile ('com.android.support:support-v4-preferencefragment:1.0.0@aar'){ compile 'com.android.support:preference-v7:27.0.2'
exclude module: 'support-v4' compile 'com.android.support:preference-v14:27.0.2'
} compile 'com.android.support:gridlayout-v7:27.0.2'
compile ('com.android.support:gridlayout-v7:25.1.0') { compile 'com.android.support:multidex:1.0.2'
exclude module: 'support-v4' compile "com.android.support:exifinterface:27.0.2"
} compile "android.arch.lifecycle:extensions:1.1.1"
compile 'com.android.support:multidex:1.0.1'
compile 'com.google.android.gms:play-services-gcm:9.6.1' compile 'com.google.android.gms:play-services-gcm:9.6.1'
compile 'com.google.android.gms:play-services-maps:9.6.1' compile 'com.google.android.gms:play-services-maps:9.6.1'
@@ -61,17 +75,19 @@ dependencies {
compile 'com.google.android.exoplayer:exoplayer:r2.3.1' compile 'com.google.android.exoplayer:exoplayer:r2.3.1'
compile 'org.whispersystems:jobmanager:1.0.2' compile('org.whispersystems:libpastelog:1.1.2') {
compile 'org.whispersystems:libpastelog:1.0.7' exclude group: 'com.squareup.okhttp3', module: 'okhttp'
compile 'org.whispersystems:signal-service-android:2.6.5' }
compile 'org.whispersystems:webrtc-android:M59-S1' compile 'org.whispersystems:signal-service-android:2.7.6'
compile 'org.whispersystems:webrtc-android:M67'
compile "me.leolin:ShortcutBadger:1.1.16" compile "me.leolin:ShortcutBadger:1.1.16"
compile 'se.emilsjolander:stickylistheaders:2.7.0' compile 'se.emilsjolander:stickylistheaders:2.7.0'
compile 'com.jpardogo.materialtabstrip:library:1.0.9' compile 'com.jpardogo.materialtabstrip:library:1.0.9'
compile 'org.apache.httpcomponents:httpclient-android:4.3.5' compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
compile 'com.github.chrisbanes.photoview:library:1.3.1' compile 'com.github.chrisbanes:PhotoView:2.1.3'
compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.github.bumptech.glide:glide:4.5.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
compile 'com.makeramen:roundedimageview:2.1.0' compile 'com.makeramen:roundedimageview:2.1.0'
compile 'com.pnikosis:materialish-progress:1.5' compile 'com.pnikosis:materialish-progress:1.5'
compile 'org.greenrobot:eventbus:3.0.0' compile 'org.greenrobot:eventbus:3.0.0'
@@ -80,12 +96,10 @@ dependencies {
compile 'com.melnykov:floatingactionbutton:1.3.0' compile 'com.melnykov:floatingactionbutton:1.3.0'
compile 'com.google.zxing:android-integration:3.1.0' compile 'com.google.zxing:android-integration:3.1.0'
compile 'com.squareup.dagger:dagger:1.2.2' compile 'com.squareup.dagger:dagger:1.2.2'
compile ("com.doomonafireball.betterpickers:library:1.5.3") { annotationProcessor 'com.squareup.dagger:dagger-compiler:1.2.2'
exclude group: 'com.android.support', module: 'support-v4' compile 'mobi.upod:time-duration-picker:1.1.3'
}
provided 'com.squareup.dagger:dagger-compiler:1.2.2' provided 'com.squareup.dagger:dagger-compiler:1.2.2'
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
compile 'com.h6ah4i.android.compat:mulsellistprefcompat:1.0.0'
compile 'com.google.zxing:core:3.2.1' compile 'com.google.zxing:core:3.2.1'
compile ('com.davemorrissey.labs:subsampling-scale-image-view:3.6.0') { compile ('com.davemorrissey.labs:subsampling-scale-image-view:3.6.0') {
exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'support-annotations'
@@ -101,7 +115,17 @@ dependencies {
exclude group: 'com.squareup.okhttp', module: 'okhttp-urlconnection' exclude group: 'com.squareup.okhttp', module: 'okhttp-urlconnection'
} }
compile 'com.annimon:stream:1.1.8' compile 'com.annimon:stream:1.1.8'
compile ('com.takisoft.fix:colorpicker:0.9.1') {
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'recyclerview-v7'
}
compile 'com.codewaves.stickyheadergrid:stickyheadergrid:0.9.4'
compile 'com.github.dmytrodanylyk.circular-progress-button:library:1.1.3-S2'
compile 'org.signal:android-database-sqlcipher:3.5.9-S3'
compile ('com.googlecode.ez-vcard:ez-vcard:0.9.11') {
exclude group: 'com.fasterxml.jackson.core'
exclude group: 'org.freemarker'
}
testCompile 'junit:junit:4.12' testCompile 'junit:junit:4.12'
testCompile 'org.assertj:assertj-core:1.7.1' testCompile 'org.assertj:assertj-core:1.7.1'
@@ -111,6 +135,8 @@ dependencies {
testCompile 'org.powermock:powermock-module-junit4-rule:1.6.1' testCompile 'org.powermock:powermock-module-junit4-rule:1.6.1'
testCompile 'org.powermock:powermock-classloading-xstream:1.6.1' testCompile 'org.powermock:powermock-classloading-xstream:1.6.1'
androidTestCompile 'com.android.support:multidex:1.0.2'
androidTestCompile 'com.android.support:multidex-instrumentation:1.0.2'
androidTestCompile 'com.google.dexmaker:dexmaker:1.2' androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
androidTestCompile ('org.assertj:assertj-core:1.7.1') { androidTestCompile ('org.assertj:assertj-core:1.7.1') {
@@ -124,82 +150,101 @@ dependencies {
dependencyVerification { dependencyVerification {
verify = [ verify = [
'com.android.support:appcompat-v7:b48bfd5efc14da938ba0647f9894aa7d3d90f0b618167652a318f6f336ef303e', 'com.android.support:design:fa5c27a705310e95a8f4099c98777132ed901a0d69178942306bb34cd76f0d57',
'com.android.support:recyclerview-v7:45beed1778f785c75540b68aa7735b8973a518ac21e8d763188dbbdae6c5b65d', 'com.android.support:preference-v14:1fcf40bd560dc21ce55b6a292d1326d28f52dc5e4f2a64eef2f38dd95777b645',
'com.android.support:design:92466557dc6a222bbff361801b26979573cb7086119331e78c74a2df34d5e11e', 'com.android.support:preference-v7:d9f32ddc92f8d6a0bd86a18f4fcaff805fa021245e395b6e7dd382907443ee53',
'com.android.support:support-v13:deeb43c2878025f2a0485791f66b5f59a1c6a4c6671c6ad7bb20abfeffaa313f', 'com.pnikosis:materialish-progress:d71d80e00717a096784482aee21001a9d299fec3833e4ebd87739ed36cf77c54',
'com.android.support:cardview-v7:cd6f472f130a75f029cd1b7c56f72174023d56a2eee2b97577837fe39169d5df', 'pl.tajchert:waitingdots:2835d49e0787dbcb606c5a60021ced66578503b1e9fddcd7a5ef0cd5f095ba2c',
'com.android.support:support-v4-preferencefragment:5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad', 'mobi.upod:time-duration-picker:db469ce0f48dd96b892eac424ed76870e54bf00fe0a28cdcddfbe5f2a226a0e1',
'com.android.support:gridlayout-v7:c24f2aa68089fd31b39811bc502e24637a6a8cc29bbf709cda4f4605047c9e11', 'com.codewaves.stickyheadergrid:stickyheadergrid:5b4aa6a52a957cfd55f60f4220c11c0c371385a3cb9786cae03c260dcdef5794',
'com.android.support:multidex:60df8e7153fabdcf3a6a48a2ce5980b599cf25cbeb3b689b7b615975ca731840', 'com.android.support:appcompat-v7:b2825e8b47f665d3362d8481c8d147d1af9230d16f23a2b94f6ccbc53c68cec1',
'com.melnykov:floatingactionbutton:15d58d4fac0f7a288d0e5301bbaf501a146f5b3f5921277811bf99bd3b397263',
'com.android.support:recyclerview-v7:3eb953930f10941f2b0447ec123a9b03d2746a42a99c523e82c3ece3308ca70b',
'com.android.support:support-v13:6f2848811ceef2e32cc98da02a045d65f7e7447a6bd7198b9ec10aa14d7ad55c',
'com.android.support:cardview-v7:57f867a3c8f33e2d4dc0a03e2dfa03cad6267a908179f04a725a68ea9f0b8ccf',
'com.android.support:gridlayout-v7:227b5fdffa20f53bd562503aab6d2293d52cf64b5a6ab1116d2150f87bff9e88',
'com.android.support:multidex:7cd48755c7cfdb6dd2d21cbb02236ec390f6ac91cde87eb62f475b259ab5301d',
'com.android.support:exifinterface:0e7cd526c4468895cd8549def46b3d33c8bcfb1ae4830569898d8c7326b15bb2',
'android.arch.lifecycle:extensions:429426b2feec2245ffc5e75b3b5309bedb36159cf06dc71843ae43526ac289b6',
'com.google.android.gms:play-services-gcm:312e61253a236f2d9b750b9c04fc92fd190d23b0b2755c99de6ce4a28b259dae', 'com.google.android.gms:play-services-gcm:312e61253a236f2d9b750b9c04fc92fd190d23b0b2755c99de6ce4a28b259dae',
'com.google.android.gms:play-services-maps:45e8021e7ddac4a44a82a0e9698991389ded3023d35c58f38dbd86d54211ec0e',
'com.google.android.gms:play-services-places:abf3a4a3b146ec7e6e753be62775e512868cf37d6f88ffe2d81167b33b57132b', 'com.google.android.gms:play-services-places:abf3a4a3b146ec7e6e753be62775e512868cf37d6f88ffe2d81167b33b57132b',
'com.google.android.gms:play-services-maps:45e8021e7ddac4a44a82a0e9698991389ded3023d35c58f38dbd86d54211ec0e',
'com.google.android.exoplayer:exoplayer:955085aa611a8f7cf6c61b88ae03d1a392f4ad94c9bfbc153f3dedb9ffb14718', 'com.google.android.exoplayer:exoplayer:955085aa611a8f7cf6c61b88ae03d1a392f4ad94c9bfbc153f3dedb9ffb14718',
'org.whispersystems:jobmanager:506f679fc2fcf7bb6d10f00f41d6f6ea0abf75c70dc95b913398661ad538a181', 'org.whispersystems:libpastelog:fe56b4db9ec743c8b565e3e4caa9228fafe132dc0bf82000d6e359b97a81177c',
'org.whispersystems:libpastelog:bb331d9a98240fc139101128ba836c1edec3c40e000597cdbb29ebf4cbf34d88', 'org.whispersystems:signal-service-android:823eed29e64fb0aa30d2078cb5ec0245e2a0713a4028121329c5c28788ef27f8',
'org.whispersystems:signal-service-android:690e04d53c8b5ec8cda064b242d7c00b0e5321851b811798dd0ec3712f5e1a85', 'org.whispersystems:webrtc-android:235b3b79f0ea917e4cda447a9919cb8e17a74ae59da6fb8252503b787fe0828f',
'org.whispersystems:webrtc-android:de647643afbbea45a26a4f24db75aa10bc8de45426e8eb0d9d563cc10af4f582',
'me.leolin:ShortcutBadger:e3cb3e7625892129b0c92dd5e4bc649faffdd526d5af26d9c45ee31ff8851774', 'me.leolin:ShortcutBadger:e3cb3e7625892129b0c92dd5e4bc649faffdd526d5af26d9c45ee31ff8851774',
'se.emilsjolander:stickylistheaders:a08ca948aa6b220f09d82f16bbbac395f6b78897e9eeac6a9f0b0ba755928eeb', 'se.emilsjolander:stickylistheaders:a08ca948aa6b220f09d82f16bbbac395f6b78897e9eeac6a9f0b0ba755928eeb',
'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa', 'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa',
'org.apache.httpcomponents:httpclient-android:6f56466a9bd0d42934b90bfbfe9977a8b654c058bf44a12bdc2877c4e1f033f1', 'org.apache.httpcomponents:httpclient-android:6f56466a9bd0d42934b90bfbfe9977a8b654c058bf44a12bdc2877c4e1f033f1',
'com.github.chrisbanes.photoview:library:f152dd0a87aca891aa182e42863fa05e0e8b2842e3b9fc512d7a3a6243c38ac4', 'com.github.chrisbanes:PhotoView:ed06775308da260e1fd86d1d3288988fcd3d80db24ce0d7c9fcfedc39e622292',
'com.github.bumptech.glide:glide:76ef123957b5fbaebb05fcbe6606dd58c3bc3fcdadb257f99811d0ac9ea9b88b', 'com.github.bumptech.glide:glide:997de7ac95be6c944d3b8cbe13de11307736ea45451c1b09a6cec7c328ead59f',
'com.makeramen:roundedimageview:1f5a1865796b308c6cdd114acc6e78408b110f0a62fc63553278fbeacd489cd1', 'com.makeramen:roundedimageview:1f5a1865796b308c6cdd114acc6e78408b110f0a62fc63553278fbeacd489cd1',
'com.pnikosis:materialish-progress:d71d80e00717a096784482aee21001a9d299fec3833e4ebd87739ed36cf77c54',
'org.greenrobot:eventbus:180d4212467df06f2fbc9c8d8a2984533ac79c87769ad883bc421612f0b4e17c', 'org.greenrobot:eventbus:180d4212467df06f2fbc9c8d8a2984533ac79c87769ad883bc421612f0b4e17c',
'pl.tajchert:waitingdots:2835d49e0787dbcb606c5a60021ced66578503b1e9fddcd7a5ef0cd5f095ba2c',
'com.soundcloud.android:android-crop:ffd4b973cf6e97f7d64118a0dc088df50e9066fd5634fe6911dd0c0c5d346177', 'com.soundcloud.android:android-crop:ffd4b973cf6e97f7d64118a0dc088df50e9066fd5634fe6911dd0c0c5d346177',
'com.melnykov:floatingactionbutton:15d58d4fac0f7a288d0e5301bbaf501a146f5b3f5921277811bf99bd3b397263',
'com.google.zxing:android-integration:89e56aadf1164bd71e57949163c53abf90af368b51669c0d4a47a163335f95c4', 'com.google.zxing:android-integration:89e56aadf1164bd71e57949163c53abf90af368b51669c0d4a47a163335f95c4',
'com.squareup.dagger:dagger:789aca24537022e49f91fc6444078d9de8f1dd99e1bfb090f18491b186967883', 'com.squareup.dagger:dagger:789aca24537022e49f91fc6444078d9de8f1dd99e1bfb090f18491b186967883',
'com.doomonafireball.betterpickers:library:132ecd685c95a99e7377c4e27bfadbb2d7ed0bea995944060cd62d4369fdaf3d',
'com.amulyakhare:com.amulyakhare.textdrawable:54c92b5fba38cfd316a07e5a30528068f45ce8515a6890f1297df4c401af5dcb', 'com.amulyakhare:com.amulyakhare.textdrawable:54c92b5fba38cfd316a07e5a30528068f45ce8515a6890f1297df4c401af5dcb',
'com.h6ah4i.android.compat:mulsellistprefcompat:47167c5cb796de1a854788e9ff318358e36c8fb88123baaa6e38fb78511dfabe',
'com.google.zxing:core:b4d82452e7a6bf6ec2698904b332431717ed8f9a850224f295aec89de80f2259', 'com.google.zxing:core:b4d82452e7a6bf6ec2698904b332431717ed8f9a850224f295aec89de80f2259',
'com.davemorrissey.labs:subsampling-scale-image-view:550c5baa07e0bb4ff0a18b705e96d34436d22619248bd8c08c08c730b1f55cfe', 'com.davemorrissey.labs:subsampling-scale-image-view:550c5baa07e0bb4ff0a18b705e96d34436d22619248bd8c08c08c730b1f55cfe',
'cn.carbswang.android:NumberPickerView:18b3c316d62c7c277978a8d4ed57a5b8f4e943762264960f579a8a549c756729', 'cn.carbswang.android:NumberPickerView:18b3c316d62c7c277978a8d4ed57a5b8f4e943762264960f579a8a549c756729',
'com.tomergoldst.android:tooltips:4c56697dd1ad64b8066535c61f961a6d901e7ae5d97ae27084ba40ad620349b6', 'com.tomergoldst.android:tooltips:4c56697dd1ad64b8066535c61f961a6d901e7ae5d97ae27084ba40ad620349b6',
'com.klinkerapps:android-smsmms:e7c3328a0f3a8dd44daa8129de4e99996f3057a4546e47891b036b81e0ebf1d1', 'com.klinkerapps:android-smsmms:e7c3328a0f3a8dd44daa8129de4e99996f3057a4546e47891b036b81e0ebf1d1',
'com.annimon:stream:5da6e2e3e0551d61a3ea7014f04312276549e3dd739cf637996e4cf43c5535b9', 'com.annimon:stream:5da6e2e3e0551d61a3ea7014f04312276549e3dd739cf637996e4cf43c5535b9',
'com.android.support:support-v4:ed4cda7c752f51d33f9bbdfff3422b425b323d356cd1bdc9786aa413c912e594', 'com.takisoft.fix:colorpicker:f5d0dbabe406a1800498ca9c1faf34db36e021d8488bf10360f29961fe3ab0d1',
'com.android.support:support-vector-drawable:2697503d3e8e709023ae176ba5db7f98ca0aa0b4e6290aedcb3c371904806bf7', 'com.github.dmytrodanylyk.circular-progress-button:library:8dc6a29a5a8db7b2ad5a9a7fda1dc9ae0893f4c8f0545732b2c63854ea693e8e',
'com.android.support:animated-vector-drawable:6d05cb63d1f68900220f85c56dfe1066a9bb19cb0ec1247cc68fc2ba32f6b4a7', 'org.signal:android-database-sqlcipher:33d4063336893af00b9d68b418e7b290cace74c20ce8aacffddc0911010d3d73',
'com.android.support:support-compat:e880fb1209c33fcb43e2b25716808e1a6e0b4d3170d5a8dc7704e15084428f88', 'com.googlecode.ez-vcard:ez-vcard:7e24ad50b222d2f70ac91bdccfa3c0f6200b078d797cb784837f75e77bb4210f',
'com.android.support:support-core-ui:0149b54fd3bc9f4b3b2d321ff53c11821b31a2eca1e664d0cee224e8f53073d6',
'com.android.support:transition:cf53f778352fe0b74ff14d838bef9fe79264f3fd43eac499b6e0d1664dbd8997',
'com.google.android.gms:play-services-base:0ca636a8fc9a5af45e607cdcd61783bf5d561cbbb0f862021ce69606eee5ad49',
'com.google.android.gms:play-services-basement:95dd882c5ffba15b9a99de3fefb05d3a01946623af67454ca00055d222f85a8d',
'com.google.android.gms:play-services-iid:54e919f9957b8b7820da7ee9b83471d00d0cac1cf08ddea8b5b41aea80bb1a70', 'com.google.android.gms:play-services-iid:54e919f9957b8b7820da7ee9b83471d00d0cac1cf08ddea8b5b41aea80bb1a70',
'com.google.android.gms:play-services-base:0ca636a8fc9a5af45e607cdcd61783bf5d561cbbb0f862021ce69606eee5ad49',
'com.google.android.gms:play-services-tasks:69ec265168e601d0203d04cd42e34bb019b2f029aa1e16fabd38a5153eea2086',
'com.google.android.gms:play-services-basement:95dd882c5ffba15b9a99de3fefb05d3a01946623af67454ca00055d222f85a8d',
'com.android.support:support-v4:1b2b37169fcccfef5e563d273749e3792decdce9818bc17932403a2363f537b4',
'com.android.support:support-fragment:e4358388022a2205777575a7251fe357334658e4123d5d6e3b082f5899d9b011',
'com.android.support:animated-vector-drawable:5b117a2c13a898c2a3c84c480d64edcfac2ef720aa9b742c29249fac774ffc48',
'com.android.support:support-core-ui:2284072511a95d504c074de80c82cd33724c6d2754117833b98ba3a09994163e',
'com.android.support:transition:1a7db0453c1467fc8fd815e6d50ca6bb475a7a9ba6b5f3b307329688a7c62a68',
'com.android.support:support-core-utils:b69c6e1e7731b876b910fc7100bcadf40a57f27b32ca26b91400995542112c96',
'com.android.support:support-media-compat:6dd9327ee9aa467cab479aad97df375072b2b6ba61eadffdaa5a88de3843c457',
'com.android.support:support-vector-drawable:bf4f4fcbf58b1380616581224e6487c230bfdb3434ec353d4adaa4b1f4865cfa',
'com.android.support:support-compat:ed4d25d91a0b13d8b9def1c0de69ed03d7fb89d50fb37eb0e9b63b0cf7a42357',
'android.arch.lifecycle:livedata:50ab0490c1ff1a7cfb4e554032998b080888946d0dd424f39900efc4a1bcd750',
'android.arch.lifecycle:livedata-core:d6fdd8b985d6178d7ea2f16986a24e83f1bee936b74d43167c69e08d3cc12c50',
'android.arch.core:runtime:c3215aa5873311b3f88a6f4e4a3c25ad89971bc127de8c3e1291c57f93a05c39',
'android.arch.lifecycle:runtime:c4e4be66c1b2f0abec593571454e1de14013f7e0f96bf2a9f212931a48cae550',
'android.arch.core:common:3a616a32f433e9e23f556b38575c31b013613d3ae85206263b7625fe1f4c151a',
'android.arch.lifecycle:common:8d378e88ebd5189e09eef623414812c868fd90aa519d6160e2311fb8b81cff56',
'android.arch.lifecycle:viewmodel:7de29cfaba77d6b5d5be234c57f6812d0150d087e63941af22ba1d1f8e2bc96a',
'com.github.bumptech.glide:gifdecoder:59ccf3bb0cec11dab4b857382cbe0b171111b6fc62bf141adce4e1180889af15',
'com.android.support:support-annotations:af05330d997eb92a066534dbe0a3ea24347d26d7001221092113ae02a8f233da',
'org.whispersystems:signal-protocol-android:5b8acded7f2a40178eb90ab8e8cbfec89d170d91b3ff5e78487d1098df6185a1', 'org.whispersystems:signal-protocol-android:5b8acded7f2a40178eb90ab8e8cbfec89d170d91b3ff5e78487d1098df6185a1',
'org.whispersystems:signal-service-java:438e8330cf806152e7e226d8241dd6388ee4005f0ea7d2aaa99d7ef514012dca', 'org.whispersystems:signal-service-java:6169643c65dcba8c784744006fc3afd9b6f309041b310a33a624121e3577433a',
'com.github.bumptech.glide:disklrucache:c1b1b6f5bbd01e2fcdc9d7f60913c8d338bdb65ed4a93bfa02b56f19daaade4b',
'com.github.bumptech.glide:annotations:bede99ef9f71517a4274bac18fd3e483e9f2b6108d7d6fe8f4949be4aa4d9512',
'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a', 'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a',
'javax.inject:javax.inject:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', 'javax.inject:javax.inject:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
'com.klinkerapps:logger:177e325259a8b111ad6745ec10db5861723c99f402222b80629f576f49408541', 'com.klinkerapps:logger:177e325259a8b111ad6745ec10db5861723c99f402222b80629f576f49408541',
'com.google.android.gms:play-services-tasks:69ec265168e601d0203d04cd42e34bb019b2f029aa1e16fabd38a5153eea2086', 'com.google.android:flexbox:a9989fd13ae2ee42765dfc515fe362edf4f326e74925d02a10369df8092a4935',
'org.jsoup:jsoup:abeaf34795a4de70f72aed6de5966d2955ec7eb348eeb813324f23c999575473',
'org.whispersystems:curve25519-android:82595394422b957d4a5b5f1b27b75ba25cf6dc4db4d312418ca38cd6fff279ca', 'org.whispersystems:curve25519-android:82595394422b957d4a5b5f1b27b75ba25cf6dc4db4d312418ca38cd6fff279ca',
'org.whispersystems:signal-protocol-java:5152c2b01a25147967d6bf82e540f947901bdfa79260be3eb3e96b03f787d6b5', 'org.whispersystems:signal-protocol-java:5152c2b01a25147967d6bf82e540f947901bdfa79260be3eb3e96b03f787d6b5',
'com.google.protobuf:protobuf-java:e0c1c64575c005601725e7c6a02cebf9e1285e888f756b2a1d73ffa8d725cc74', 'com.google.protobuf:protobuf-java:e0c1c64575c005601725e7c6a02cebf9e1285e888f756b2a1d73ffa8d725cc74',
'com.googlecode.libphonenumber:libphonenumber:be23ec6195df9f328364a3122ddd111e30f42d18a841dd06f84d2685c7fabb9f', 'com.googlecode.libphonenumber:libphonenumber:183392c0565be16d3f6f86680b4106bbde6fe31a402ad21bf9823d938c0c8706',
'com.fasterxml.jackson.core:jackson-databind:835097bcdd11f5bc8a08378c70d4c8054dfa4b911691cc2752063c75534d198d', 'com.fasterxml.jackson.core:jackson-databind:835097bcdd11f5bc8a08378c70d4c8054dfa4b911691cc2752063c75534d198d',
'com.squareup.okhttp3:okhttp:c1d57f913f74f61d424d4250a92723ba9a61affc12a0ab194d84cc179b472841', 'com.squareup.okhttp3:okhttp:7265adbd6f028aade307f58569d814835cd02bc9beffb70c25f72c9de50d61c4',
'com.madgag.spongycastle:prov:b8c3fec3a59aac1aa04ccf4dad7179351e54ef7672f53f508151b614c131398a', 'com.madgag.spongycastle:prov:b8c3fec3a59aac1aa04ccf4dad7179351e54ef7672f53f508151b614c131398a',
'org.whispersystems:curve25519-java:7dd659d8822c06c3aea1a47f18fac9e5761e29cab8100030b877db445005f03e', 'org.whispersystems:curve25519-java:7dd659d8822c06c3aea1a47f18fac9e5761e29cab8100030b877db445005f03e',
'com.fasterxml.jackson.core:jackson-annotations:0ca408c24202a7626ec8b861e99d85eca5e38b73311dd6dd12e3e9deecc3fe94', 'com.fasterxml.jackson.core:jackson-annotations:0ca408c24202a7626ec8b861e99d85eca5e38b73311dd6dd12e3e9deecc3fe94',
'com.fasterxml.jackson.core:jackson-core:cbf4604784b4de226262845447a1ad3bb38a6728cebe86562e2c5afada8be2c0', 'com.fasterxml.jackson.core:jackson-core:cbf4604784b4de226262845447a1ad3bb38a6728cebe86562e2c5afada8be2c0',
'com.squareup.okio:okio:734269c3ebc5090e3b23566db558f421f0b4027277c79ad5d176b8ec168bb850', 'com.squareup.okio:okio:734269c3ebc5090e3b23566db558f421f0b4027277c79ad5d176b8ec168bb850',
'com.madgag.spongycastle:core:8d6240b974b0aca4d3da9c7dd44d42339d8a374358aca5fc98e50a995764511f', 'com.madgag.spongycastle:core:8d6240b974b0aca4d3da9c7dd44d42339d8a374358aca5fc98e50a995764511f',
'com.android.support:support-annotations:47a2a30eab487a490a8a8f16678007c3d2b6dcae1e09b0485a12bbf921200ec3',
'com.android.support:support-media-compat:8d6a1a5ba3d9eb1a25cb8f21bb312ac6280202e3d2900cb0b447d065d0d8a125',
'com.android.support:support-core-utils:a7649e18c04143dde40c218c5ce9a030e7ae674089cd7b18c6cf8ed2a22cf01a',
'com.android.support:support-fragment:1294500b357f52cf3779e2521c79f54ae7844f3b9a5f6727495dbbda7f231377',
] ]
} }
android { android {
compileSdkVersion 25 flavorDimensions "none"
buildToolsVersion '25.0.0' compileSdkVersion 27
buildToolsVersion '27.0.1'
useLibrary 'org.apache.http.legacy' useLibrary 'org.apache.http.legacy'
dexOptions { dexOptions {
@@ -207,11 +252,11 @@ android {
} }
defaultConfig { defaultConfig {
versionCode 294 versionCode 383
versionName "4.10.8" versionName "4.23.3"
minSdkVersion 9 minSdkVersion 14
targetSdkVersion 22 targetSdkVersion 25
multiDexEnabled true multiDexEnabled true
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
@@ -220,10 +265,15 @@ android {
buildConfigField "long", "BUILD_TIMESTAMP", getLastCommitTimestamp() + "L" buildConfigField "long", "BUILD_TIMESTAMP", getLastCommitTimestamp() + "L"
buildConfigField "String", "SIGNAL_URL", "\"https://textsecure-service.whispersystems.org\"" buildConfigField "String", "SIGNAL_URL", "\"https://textsecure-service.whispersystems.org\""
buildConfigField "String", "SIGNAL_CDN_URL", "\"https://cdn.signal.org\"" buildConfigField "String", "SIGNAL_CDN_URL", "\"https://cdn.signal.org\""
buildConfigField "String", "SIGNAL_SERVICE_STATUS_URL", "\"uptime.signal.org\""
buildConfigField "String", "GIPHY_PROXY_HOST", "\"giphy-proxy-production.whispersystems.org\"" buildConfigField "String", "GIPHY_PROXY_HOST", "\"giphy-proxy-production.whispersystems.org\""
buildConfigField "int", "GIPHY_PROXY_PORT", "80" buildConfigField "int", "GIPHY_PROXY_PORT", "80"
buildConfigField "String", "USER_AGENT", "\"OWA\"" buildConfigField "String", "USER_AGENT", "\"OWA\""
buildConfigField "boolean", "DEV_BUILD", "false" buildConfigField "boolean", "DEV_BUILD", "false"
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86"
}
} }
compileOptions { compileOptions {
@@ -264,6 +314,7 @@ android {
'proguard-klinker.pro', 'proguard-klinker.pro',
'proguard-retrolambda.pro', 'proguard-retrolambda.pro',
'proguard-okhttp.pro', 'proguard-okhttp.pro',
'proguard-ez-vcard.pro',
'proguard.cfg' 'proguard.cfg'
testProguardFiles 'proguard-automation.pro', testProguardFiles 'proguard-automation.pro',
'proguard.cfg' 'proguard.cfg'
@@ -277,23 +328,23 @@ android {
productFlavors { productFlavors {
play { play {
dimension "none"
ext.websiteUpdateUrl = "null" ext.websiteUpdateUrl = "null"
buildConfigField "boolean", "PLAY_STORE_DISABLED", "false" buildConfigField "boolean", "PLAY_STORE_DISABLED", "false"
buildConfigField "String", "NOPLAY_UPDATE_URL", "$ext.websiteUpdateUrl" buildConfigField "String", "NOPLAY_UPDATE_URL", "$ext.websiteUpdateUrl"
} }
website { website {
dimension "none"
ext.websiteUpdateUrl = "https://updates.signal.org/android" ext.websiteUpdateUrl = "https://updates.signal.org/android"
buildConfigField "boolean", "PLAY_STORE_DISABLED", "true" buildConfigField "boolean", "PLAY_STORE_DISABLED", "true"
buildConfigField "String", "NOPLAY_UPDATE_URL", "\"$ext.websiteUpdateUrl\"" buildConfigField "String", "NOPLAY_UPDATE_URL", "\"$ext.websiteUpdateUrl\""
} }
} }
applicationVariants.all { variant -> android.applicationVariants.all { variant ->
variant.outputs.each { output -> variant.outputs.all {
output.outputFile = new File( outputFileName = outputFileName.replace(".apk", "-${variant.versionName}.apk")
output.outputFile.parent,
output.outputFile.name.replace(".apk", "-${variant.versionName}.apk"))
} }
} }
Binary file not shown.
+2 -2
View File
@@ -1,6 +1,6 @@
#Thu Mar 09 11:46:40 PST 2017 #Mon Nov 06 08:48:17 PST 2017
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Vendored
+41 -33
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
############################################################################## ##############################################################################
## ##
@@ -6,12 +6,30 @@
## ##
############################################################################## ##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. # Attempt to set APP_HOME
DEFAULT_JVM_OPTS="" # Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle" APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"` APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum" MAX_FD="maximum"
@@ -30,6 +48,7 @@ die ( ) {
cygwin=false cygwin=false
msys=false msys=false
darwin=false darwin=false
nonstop=false
case "`uname`" in case "`uname`" in
CYGWIN* ) CYGWIN* )
cygwin=true cygwin=true
@@ -40,31 +59,11 @@ case "`uname`" in
MINGW* ) MINGW* )
msys=true msys=true
;; ;;
NONSTOP* )
nonstop=true
;;
esac esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@@ -90,7 +89,7 @@ location of your Java installation."
fi fi
# Increase the maximum file descriptors if we can. # Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n` MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -114,6 +113,7 @@ fi
if $cygwin ; then if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath # We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@@ -154,11 +154,19 @@ if $cygwin ; then
esac esac
fi fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules # Escape application args
function splitJvmOpts() { save ( ) {
JVM_OPTS=("$@") for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
} }
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS APP_ARGS=$(save "$@")
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" # Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"
Vendored
+4 -10
View File
@@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell @rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0 set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=. if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe @rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome if defined JAVA_HOME goto findJavaFromJavaHome
@@ -46,10 +46,9 @@ echo location of your Java installation.
goto fail goto fail
:init :init
@rem Get command-line arguments, handling Windowz variants @rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args :win9xME_args
@rem Slurp the command line arguments. @rem Slurp the command line arguments.
@@ -60,11 +59,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%* set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute :execute
@rem Setup the command line @rem Setup the command line
+1
View File
@@ -0,0 +1 @@
-dontwarn ezvcard.io.html.HCardPage
+2
View File
@@ -1,3 +1,5 @@
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES; **[] $VALUES;
public *; public *;
+4 -1
View File
@@ -1,2 +1,5 @@
-keep class org.sqlite.** { *; } -keep class org.sqlite.** { *; }
-keep class org.sqlite.database.** { *; } -keep class org.sqlite.database.** { *; }
-keep class net.sqlcipher.** { *; }
-dontwarn net.sqlcipher.**
+59
View File
@@ -0,0 +1,59 @@
/**
* Copyright (C) 2018 Open Whisper Systems
*
* Licensed according to the LICENSE file in this repository.
*/
package signal;
option java_package = "org.thoughtcrime.securesms.backup";
option java_outer_classname = "BackupProtos";
message SqlStatement {
message SqlParameter {
optional string stringParamter = 1;
optional uint64 integerParameter = 2;
optional double doubleParameter = 3;
optional bytes blobParameter = 4;
optional bool nullparameter = 5;
}
optional string statement = 1;
repeated SqlParameter parameters = 2;
}
message SharedPreference {
optional string file = 1;
optional string key = 2;
optional string value = 3;
}
message Attachment {
optional uint64 rowId = 1;
optional uint64 attachmentId = 2;
optional uint32 length = 3;
}
message Avatar {
optional string name = 1;
optional uint32 length = 2;
}
message DatabaseVersion {
optional uint32 version = 1;
}
message Header {
optional bytes iv = 1;
optional bytes salt = 2;
}
message BackupFrame {
optional Header header = 1;
optional SqlStatement statement = 2;
optional SharedPreference preference = 3;
optional Attachment attachment = 4;
optional DatabaseVersion version = 5;
optional bool end = 6;
optional Avatar avatar = 7;
}
+1 -1
View File
@@ -1,3 +1,3 @@
all: all:
protoc --java_out=../src/ WebRtcData.proto protoc --java_out=../src/ WebRtcData.proto Backups.proto
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<translate
android:duration="150"
android:fromXDelta="0%"
android:toXDelta="-100%" />
</set>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 B

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 B

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 593 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/actionbar_icon_holo_dark"
android:left="8dp"/>
</layer-list>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 B

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 B

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 557 B

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 B

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Some files were not shown because too many files have changed in this diff Show More