Commit Graph

779 Commits (8031c788d9972381ef3ade51f8da1e49f0925e5a)

Author SHA1 Message Date
Moxie Marlinspike 3439657bba Guard against fragment disappearing before callback.
// FREEBIE
11 years ago
Moxie Marlinspike 4ccb7ebab6 Don't completely disable GCM.
// FREEBIE
11 years ago
Jake McGinty bf69a90b69 rollback to appcompat v20
v21 appears to just not be ready for production given the bugs.
// FREEBIE
11 years ago
Moxie Marlinspike bf19307916 Make GCM re-registration failure notification based.
// FREEBIE
11 years ago
Moxie Marlinspike d42c4229fd Update to latest zxing QR code scanner.
Closes #2078

// FREEBIE
11 years ago
Moxie Marlinspike e9b383d277 Add jobs for pending push messages during migration.
// FREEBIE
11 years ago
Moxie Marlinspike ea9a5decac Update gradle-witness and actually use spongycastle.
// FREEBIE
11 years ago
Jake McGinty eaf89735b8 encapsulated delivery icon to separate from lock
and as a bonus some tweaked text sizes and colors
// FREEBIE
11 years ago
Moxie Marlinspike 174324e2a0 Potential fix for BroadcastReceiver crash.
// FREEBIE
11 years ago
Moxie Marlinspike 35821d444e Move responsibility for Context injection out of JavaSerializer.
// FREEBIE
11 years ago
Moxie Marlinspike 5b08791086 Fix regression with providers being registered.
// FREEBIE
11 years ago
Jake McGinty 43adc75428 add icon back
// FREEBIE
11 years ago
Moxie Marlinspike 9215322846 Abstract out TrustStore interface.
// FREEBIE
11 years ago
Moxie Marlinspike bea26e83da Correctly process push messages with identity key conflicts. 11 years ago
Moxie Marlinspike a85dbce041 Correctly handle PKWM via SMS. 11 years ago
Moxie Marlinspike baaa3514d4 Fix delivery receipts in group messages.
Fixes #2056
Fixes #2067
Fixes #2087
11 years ago
Moxie Marlinspike 71fdaac1b2 Fix regressions for registration. 11 years ago
Moxie Marlinspike fb31319e52 Put everything under either internal or api. 11 years ago
Moxie Marlinspike 08ed90c5ec Split out Util functions. 11 years ago
Moxie Marlinspike 0d102f76cc Move ListenableFutureTask up to parent. 11 years ago
Moxie Marlinspike 28cb1ed85b Move DirectoryUtil up to parent. 11 years ago
Moxie Marlinspike cd9b20dc9d Move dependency up to parent. 11 years ago
Moxie Marlinspike f09abff407 Refactor out old classes. 11 years ago
Moxie Marlinspike 0d06d50a65 Let's have JobManager only deal with checked exceptions.
Also, switch to Builder for JobManager construction.
11 years ago
Moxie Marlinspike d9d4ec9d9d Fix some bugs with PKWM padding and attachment detection. 11 years ago
Moxie Marlinspike 9a6f65988f Add support for dependency injection, and accompanying tests. 11 years ago
Moxie Marlinspike 601e233d47 Add account management interface to libtextsecure api 11 years ago
Moxie Marlinspike ae178fc4ec Move API around a little, eliminate TransportDetails interface. 11 years ago
Moxie Marlinspike cafe03a70a Transition the outbound pipeline to JobManager jobs. 11 years ago
Moxie Marlinspike 99f42e2ee1 Move API around. 11 years ago
Moxie Marlinspike a3f1d9cdfd Beginning of libtextsecure refactor.
1) Break out appropriate components.

2) Switch the incoming pipeline from SendReceiveService to
   the JobManager.
11 years ago
Jake McGinty 4cab657ebe clear pending slides when attachment reselected
Fixes #2012

// FREEBIE
11 years ago
Jake McGinty 7df49811b7 replace ABS with AppCompat
// FREEBIE
11 years ago
Jake McGinty ff2ac8a66e refactor ListenableFutureTask and make saves async
// FREEBIE
11 years ago
Jake McGinty 53da1f849a in-app image media preview
// FREEBIE
11 years ago
Jake McGinty 34aece0b43 revert content-type generics
// FREEBIE
11 years ago
Moxie Marlinspike 9768de2d5e Short circuit self-send.
// FREEBIE
11 years ago
Moxie Marlinspike 4cdc0a3e61 Make signed prekey generation happen through the job queue. 11 years ago
Moxie Marlinspike b568ce70b2 Make delivery receipts work correctly for groups. 11 years ago
Moxie Marlinspike b308996885 Switch to using our own JobManager.
// FREEBIE
11 years ago
Moxie Marlinspike 73d896f378 Index shouldn't be unique. 11 years ago
Moxie Marlinspike 36ec1d84a1 Implement delivery receipts.
1) Support a "receipt" push message type.

2) Identify messages by timestamp.

3) Introduce a JobManager to handle the queue for network
   dependent jobs.
11 years ago
Moxie Marlinspike 20cf775b1e Fix up routing activity actions. 11 years ago
Moxie Marlinspike 73b75a4a27 Fix build. 11 years ago
Moxie Marlinspike 27b5bf54cc Remove 1 mod 8. 11 years ago
Moxie Marlinspike 819982af7b Rearrange decrypt API.
1) Change SessionBuilder to only establish sessions via
   KeyExchangeMessage and PreKeyBundles.

2) Change SessionCipher to decrypt either WhisperMessage
   or PreKeyWhisperMessage items, automatically building
   a session for the latter.

3) Change SessionCipher to tear down new sessions built
   with PreKeyWhisperMessages if the embedded WhsiperMessage
   fails to decrypt.
11 years ago
Moxie Marlinspike 42cf53e487 Rename "pendingPreKey" to "unacknowledgedPreKeyMessage" 11 years ago
Moxie Marlinspike 3f299936bf Only create signed prekey if push registered. 11 years ago
Moxie Marlinspike 5f5ddd7c26 Generate SignedPreKey records, improve SignedPreKey cleanup. 11 years ago
Moxie Marlinspike 0d532afd8e Rename 'device key' to 'signed prekey'. 11 years ago
Moxie Marlinspike 07fd17ccda Add padding for push messages.
1) Use 'bit padding.'

1) By default, pad at 160 byte increments.
11 years ago
Moxie Marlinspike 811479d168 Add first cut of protocol v3 support.
1) Use the new /v2/keys API for storing/retrieving prekey bundles.

2) For sessions built with PreKeyBundle and PreKeyWhisperMessage,
   use a v3 ratcheting session when available.
11 years ago
Moxie Marlinspike 931605a1c4 Move identity key verification into libaxolotol. With tests. 11 years ago
Moxie Marlinspike a601c56af1 Collapse SessionRecord, SessionState, and PreKeyRecord interfaces. 11 years ago
Moxie Marlinspike 5a3c19fe3e Javadocs, and some minor refactoring. 11 years ago
Moxie Marlinspike af45e5d544 SessionBuilder improvements, more extensive SessionBuilder tests. 11 years ago
Moxie Marlinspike 72af8b11c2 Move session construction and KeyExchangeMessage into libaxolotl.
1) Add plain two-way key exchange support libaxolotl by moving
   all the KeyExchangeMessage code there.

2) Move the bulk of KeyExchangeProcessor code to libaxolotl
   for setting up sessions based on retrieved prekeys, received
   prekeybundles, or exchanged key exchange messages.
11 years ago
Moxie Marlinspike a1db221caf Collapse KeyExchangeMessage and KeyExchangeProcessor interfaces. 11 years ago
Moxie Marlinspike 14b8f97de2 Reorganize session store load/store operations. 11 years ago
Moxie Marlinspike d902c12941 Break core ratchet out into libaxolotol.
1) Break the core cryptography functions out into libaxolotol.

2) The objective for this code is a Java library that isn't
   dependent on any Android functions.  However, while the
   code has been separated from any Android functionality,
   it is still an 'android library project' because of the
   JNI.
11 years ago
Jake McGinty 31167d11dd use wildcard media types, don't crash on preview fail
// FREEBIE
11 years ago
Jake McGinty 6e3751a0c5 sane fallback for media selection on exception
Fixes #1763
// FREEBIE
11 years ago
Jake McGinty b5941fb3fd actually fallback when mms local params unset
// FREEBIE
11 years ago
Jake McGinty 2075bba86c switch back to BufferedInputStream
// FREEBIE
11 years ago
Jake McGinty 89fb80fcc5 MmsConnection refactor
- Use Apache HttpClient v4.x, only library that seems to like HTTP proxies
- Remove custom redirect logic in favor of library's

Fixes #1904
// FREEBIE
11 years ago
Jake McGinty b8a3e87f3d custom redirect logic
// FREEBIE
11 years ago
Jake McGinty 7316f17674 don't crash if we can't get an mccmnc
Fixes #1916
// FREEBIE
11 years ago
Veeti Paananen 609e69a801 Show date and year for ancient (> 1 year old) messages
The timestamp shown for very old messages only includes the time without
a date at all. Fix it. FREEBIE.
11 years ago
Jake McGinty 1b3bd32805 fallback to rough scaling if low memory
// FREEBIE
11 years ago
Moxie Marlinspike 877f2a25a9 Merge pull request #1887 from mcginty/mms-3xx
allow url client to follow redirects before checking response code
11 years ago
Jake McGinty eb462f0345 force redirects, get inputstream first 11 years ago
Moxie Marlinspike 102b40543d Merge pull request #1886 from mcginty/mms-bad-pdu-logging
enable more verbose PDU parse logging
11 years ago
Jake McGinty 12077c6dad enable more verbose PDU parse logging
// FREEBIE
11 years ago
Jake McGinty 7441c191a7 Format outgoing MMS using SMIL.
// FREEBIE

Closes #1879
11 years ago
Lukas Barth b355991b0b Remove superfluous repetition
//FREEBIE
11 years ago
Jake McGinty a0842f329f disable localized collators in ApnDB
// FREEBIE
11 years ago
Jake McGinty 9b495d8c83 prevent another cursor leak
// FREEBIE
11 years ago
Moxie Marlinspike 5264ebed67 Avoid leaking cursor.
// FREEBIE

Closes #1838
11 years ago
Jake McGinty 7f51f9fd5b apntool and ApnDatabase
// FREEBIE
11 years ago
Moxie Marlinspike 40495a2261 Merge pull request #1854 from mcginty/content-description
improve some content descriptions
11 years ago
Jake McGinty a6c1fdd914 improve some content descriptions
// FREEBIE
11 years ago
Jake McGinty 020d61dd6e migrate nav panel items to actionbar
Fixes #1819
Closes #1839
// FREEBIE
11 years ago
Moxie Marlinspike f4e9c4a710 Minor MMS cleanup.
// FREEBIE

Closes #1827
11 years ago
Jake McGinty 28e14f47cf use URLConnection for MMS because it's better
// FREEBIE
11 years ago
Jake McGinty 213715a0dc braces around loop, proper spacing
// FREEBIE
11 years ago
Moxie Marlinspike 7b0479ff0f requestRouteToHost of URL rather than MMSC on MMS Download
// FREEBIE

Closes #1806
11 years ago
rymdhund feabbb33d2 MMS Fixes
1) Respect proxyIfPossible flag and make sure to try all mms APNs

2) Reorder mmsc connection process
11 years ago
rymdhund d3da409774 Add time to saved media filenames
see #1689
// FREEBIE
11 years ago
Jake McGinty b61e7839f4 prevent MMS notification NPE
// FREEBIE
11 years ago
Jake McGinty 306c127803 fix EmojiLRU concurrency exception
// FREEBIE
11 years ago
Jake McGinty 239a11bfd2 fix unused argument
// FREEBIE
11 years ago
Jake McGinty de63b0dd96 make reminder a custom view, make push reminder
// FREEBIE
11 years ago
Jake McGinty eb4ac40051 don't use old emoji recents, broken
Fixes #1782
// FREEBIE
11 years ago
Moxie Marlinspike 8726dd51be Can't toast on this thread.
// FREEBIE
11 years ago
Moxie Marlinspike 861d27279d Whoops, add GcmRegistrationService to Manifest.
// FREEBIE
11 years ago
Veeti Paananen 9e74b5c892 Remove gray placeholder squares while loading emoji 11 years ago
Veeti Paananen 3597915d17 Add a backspace key to the emoji drawer 11 years ago
Veeti Paananen 40ce0cebe0 Fix emoji backwards compatibility recents crash
The old emoji drawer stored emoji with a .png suffix. Replace it during
list deserialization.
11 years ago
Jake McGinty 7d688846f9 Move default SMS and system import to "reminders"
// FREEBIE
Closes #1730
11 years ago
McLoo acc7c4c1c6 Null check for cipher text to prevent NPE on decryption
Fixes #1703
Closes #1728
// FREEBIE
11 years ago
Jake McGinty 530ad7bc86 new emoji drawer
// FREEBIE
Closes #1746
11 years ago
Jake McGinty bea3c33223 disable passphrase creation on registration
// FREEBIE
Closes #1726
11 years ago
Moxie Marlinspike 9ef14a0f64 Upgrade to new GCM API. 11 years ago
Moxie Marlinspike 40698212bb Create a Curve25519 asymmetric master secret for users without.
Fixes #1701
11 years ago
Veeti Paananen 19ae5043cc Add number of messages to the notification number attribute
Although not used by stock Android, many custom ROM's (and possibly OEM
versions?) have a setting to display the "number" count of a notification
overlayed on the status bar icon. Add support for this.

Closes #1637
11 years ago
rymdhund d1dd50e31c Add date to saved media filenames
Fixes #1689
Closes #1693
11 years ago
Jake McGinty f6e04d0f89 use latest android number as recipient number
Fixes #791
// FREEBIE
11 years ago
Jake McGinty da0eb5a779 no longer load a recipient for each filter text
// FREEBIE
11 years ago
McLoo d429f9113b Replace XML serializer in plaintext export
Fixes #342

- using regex pattern/matcher to escape chars below 0x0020 and
  above 0xd7ff
- using String.Replace to escape XML entities
- changed XmlPullParser from Xml.newPullParser() to
  XmlPullParserFactory parser to fix import on GB
11 years ago
Moxie Marlinspike 8f85eb1822 Remove unused files.
Fixes #1522

// FREEBIE
11 years ago
Moxie Marlinspike 358c923891 Merge pull request #1630 from mcginty/remove-keys-list
remove ReviewIdentitiesActivity
11 years ago
Lukas Barth 2d9cd8eb52 Fixing race condition and other mistakes. Fixes #1603.
// FREEBIE
11 years ago
Jake McGinty 5121ab0eed temporarily disable encrypted backup
// FREEBIE
11 years ago
Jake McGinty f63f95404e remove ReviewIdentitiesActivity
// FREEBIE
11 years ago
Jake McGinty 5ce6dc954a move FLAG_SECURE to PassphraseRequiredMixin
Fixes #1402
// FREEBIE
11 years ago
Özgür Emir c85a8bbb38 Always show the time of the received message. 11 years ago
agrajaghh 0f9a6e6296 add custom phone number type 11 years ago
phenx-de d8cb893681 Fixes "subtitle is not updated when select all is pressed"
// FREEBIE
11 years ago
Michael Kaiser 1ad54e7b88 Fix more leaked service connections
PassphraseRequiredMixin might check for a bound service at a time where
the bind has been requested but the service connection has not been
established yet, and therefore fail to call unbindService, leading to a
leaked service connection. This fixes #1518.
11 years ago
Moxie Marlinspike 0d35e2bfa9 Fix the "Tap for X fallback" labels. 11 years ago
Moxie Marlinspike 983bf672cf Fix UI side of broken MMS fallback.
1) Actually tell the SendReceiveService to send the MMS if it is
   one.

2) Display the correct string (SMS vs MMS) in the fallback dialog.
11 years ago
Moxie Marlinspike 1c2e1a07f5 Fixes for outgoing SMS/MMS direct and fallback behavior.
1) Correct MMS fallback settings.

2) Prevent SMS/MMS messages from leaking out under certain
   circumstances when they shouldn't.
11 years ago
Moxie Marlinspike 2d739a324e Validate MMS delivery destination.
We can't depend on validated Recipients anymore, so this adds
parity to the validation the SMS transport does now.

Fixes #1592
11 years ago
Moxie Marlinspike ba1055df8e Correct contextual send language.
1) Use "secure" and "insecure" vs "encrypted" and "unencrypted.

2) Use MMS instead of SMS where appropriate.

Fixes #1602
11 years ago
phenx-de a54d20f3ef Add "%s selected" subtitle to Conversation List batch mode. 11 years ago
phenx-de ea0fa58265 Add preview of encryption channel in compose text hint. 11 years ago
Moxie Marlinspike 359fe280e8 Fix for broken build (*ahem* @phenx-de *ahem*) =)
// FREEBIE
11 years ago
Jake McGinty 34e147838a use apply for preferences instead of commit
// FREEBIE
11 years ago
phenx-de d8e6a93584 Use contextual action bar menu for conversation items. 11 years ago
Moxie Marlinspike 0e6773b4b7 Remove directory refresh preference.
This is present on the contact screen now, so there's no longer
any need for it here.
11 years ago
McLoo fb13d33e2e Show drafts emojified when Android version is below KitKat 11 years ago
Pascal Hartig 92fd8ededd Sort contacts case-insentively
This fixes the case sensitive ordering of contacts in the view
for creating new conversations.

Fix #1502
11 years ago
agrajaghh 8713a85beb Add notification for key change event.
Fixes #1460
11 years ago
Marek Wehmer 9b82411c3d Better share intent handling.
1) Guess mime type from share intent EXTRA_STREAM uri.

2) Always include EXTRA_TEXT (if present)
11 years ago
Veeti Paananen bd889d8fa9 Reword the very confusing screen security setting 11 years ago
Moxie Marlinspike d51adab76b Use "date sent" as timestamp for push, "date received" for SMS.
The "sent time" is not reliable on SMS messages.  This switches
to using "sent time" by default for push messages, but "received
time" for SMS messages.
11 years ago
Chris V b990202468 Allow passphrase unlock from "unlock" keyboard action. 11 years ago
Pascal Hartig 7208018097 Clear search when opening the drawer
Before this change opening the drawer while a filter was active
would hide the search bar but keep the conversation list filtered,
so there was no indication of an active filter.
11 years ago
Moxie Marlinspike c719a48a2c Move media attachment long-click event to context menu.
Long-click on a media attachment will now bring up the normal
context menu for a ConversationItem long-click, but with the
addition of a "save attachment" option.

This allows users to long-click on messages with media in them
and still see the other contextual menu options.

// FREEBIE
11 years ago
Moxie Marlinspike 68747142d6 Add correct contextual menu options on 'Send' button.
[Send TextSecure message | Send unencrypted SMS | Send encrypted SMS]

// FREEBIE
11 years ago
Lukas Barth 7c9282f306 Cache circle cropped photos on Recipient. 11 years ago
Lukas Barth fa3cb871d0 Use ACTION_OPEN_DOCUMENT for Android >= KitKat.
Fixes #926.

We have to do this, since with the new Storage Access Framework,
otherwise we can open the Uri only *once*. This would work well
unless someone saves a draft and goes back to the conversation -
then the Uri is opened again without the required permissions.

See:

https://developer.android.com/guide/topics/providers/document-provider.html#client

...for details.
11 years ago
Jabro 12e92b9cdf Added APN Settings for T-Mobile UK
Fixes #1558
11 years ago
Moxie Marlinspike df1c96a662 Do country code detection if we can't get the full number off SIM. 11 years ago
Michael Bennett 468eb3382c Add sorting by default phone number
Currently the order of numbers is times contacted -> displayName ->
phone type (mobile vs. home, etc.). This adds whether the number has
been saved as the default number for a contact to sort numbers belonging
to the same contact.

Fixes #580
11 years ago
Moxie Marlinspike 12d217991c Use dynamic PBE iteration count.
Fixes #184
Fixes #247
11 years ago
Ruben Pollan 5785860631 Support for multiple APN settings on the same provider 11 years ago
Moxie Marlinspike addea8d340 Validate recipients at send time rather than when constructed.
Fixes #665
11 years ago
Jake McGinty 829097d891 send email addresses as mms
// FREEBIE
11 years ago
Michael Kaiser 1cb4d479f1 Finish activity before restarting it
The current activity needs to be finished before calling startActivity.
Otherwise, activities with launchMode singleTask (ConversationListActivity)
will receive a new Intent instead of getting restarted. And in response
to the new Intent, they will run onResume once again and trigger a second restart.

Fixes #1292
11 years ago