Commit Graph

4904 Commits (master)

Author SHA1 Message Date
Vincent Breitmoser 10466101c0 move tracking consent logic into TrackingConsentRequester 2018-07-17 15:56:16 +02:00
Vincent Breitmoser a277a37676 Show snackbar after tracking dialog 2018-07-17 15:56:16 +02:00
Vincent Breitmoser 73a4dcdcb7 don't ask for 24h if user cancels dialog (eg clicking outside) 2018-07-17 15:56:16 +02:00
Vincent Breitmoser c5d7e482e0 Add opt-in setting for tracking 2018-07-17 15:56:16 +02:00
Vincent Breitmoser c0a1fc84eb add simple tracking (no opt-in yet!) 2018-07-17 15:56:16 +02:00
Vincent Breitmoser f664b1b57b
Merge pull request #2382 from open-keychain/keychain-service-threadpool
use AsyncTask for background task execution
2018-07-17 15:52:20 +02:00
Vincent Breitmoser ebf7512a9d clean up warnings in CryptoOperationHelper 2018-07-17 14:25:14 +02:00
Vincent Breitmoser 1fcc1889ec Use CancellationSignal for cancellation in UI code 2018-07-17 14:25:14 +02:00
Vincent Breitmoser 9e079329d5 ditch ThreadPoolExecutor for AsyncTask 2018-07-17 14:25:14 +02:00
Vincent Breitmoser 2c8e219aa8 use ThreadPool for background task execution 2018-07-17 14:25:14 +02:00
Vincent Breitmoser 4ea8c4a8f6 Use LiveData and ViewModel for ManageSecurityToken fragment
This hopefully also prevents some NPEs from google play crash reports.
2018-07-17 12:20:56 +02:00
Vincent Breitmoser 6ed110f1ee Remove unused field in KeyListFragment (fixes build) 2018-07-16 17:54:33 +02:00
Vincent Breitmoser 74ee94683b request FOREGROUND_SERVICE permission
starting in Android P, this permission is required to run a foreground
service. see https://developer.android.com/reference/android/app/Service#startForeground(int,%20android.app.Notification)
2018-07-16 17:49:30 +02:00
Vincent Breitmoser 555f335dbc Introduce NotificationChannelManager 2018-07-16 13:24:44 +02:00
Vincent Breitmoser ffa5b84593 prevent NPEs in linked id creation 2018-07-16 11:10:42 +02:00
Vincent Breitmoser e7dede56ca fix NPE in KeychainService 2018-07-16 10:34:31 +02:00
Vincent Breitmoser a3021bbd83 Clean up security token transport if connection procedure failed 2018-07-15 12:29:06 +02:00
Vincent Breitmoser fbbc77335b fix NPE for data signed with an unknown key 2018-07-15 12:25:32 +02:00
Dominik Schürmann 891c0e10c4 Version 5.2-beta4 2018-07-14 15:10:11 +02:00
Vincent Breitmoser 634694b20e force reinserting keys on manual key update 2018-07-14 13:18:08 +02:00
Vincent Breitmoser e3e5f7feec use explicit order for insert operations
This prevents a problem from different column orders in database tables.
In particular, this occurred with the user_packets table, where the `rank` column moved up in order.
2018-07-14 13:05:08 +02:00
Vincent Breitmoser a69eaab0ea fix insertion of data into KeySignature table 2018-07-14 12:03:44 +02:00
Dominik Schürmann 9df9682c77 Version 5.2-beta3 2018-07-13 19:02:45 +02:00
Vincent Breitmoser a48efc6835 use key_list_item layout for RequestKeyPermissionActivity 2018-07-13 17:22:27 +02:00
Vincent Breitmoser aa9132b4c6 small NPE fix 2018-07-13 17:06:23 +02:00
Vincent Breitmoser acc8e82e92
Merge pull request #2375 from open-keychain/ditch-keychain-provider
Ditch keychain provider
2018-07-13 16:56:24 +02:00
Vincent Breitmoser 133b099b2f
Merge pull request #2379 from open-keychain/usb-permission
Request missing permission when rescanning USB devices
2018-07-13 16:56:04 +02:00
Vincent Breitmoser 54f50a7311
Merge pull request #2376 from open-keychain/notification-channel
Introduce Notification channel for passphrase cache
2018-07-13 16:33:06 +02:00
Vincent Breitmoser acb9544195 return KeychainExternalProvider as MatrixCursor 2018-07-13 16:27:12 +02:00
Vincent Breitmoser 3150d2d3f9 move UidStatus querying logic into UserIdDao 2018-07-13 16:27:12 +02:00
Vincent Breitmoser 58e0da0d8c always set trust db to initialized once it's there 2018-07-13 16:27:12 +02:00
Vincent Breitmoser 4c8fda0798 Introduce uidStatus view for external provider 2018-07-13 16:27:12 +02:00
Vincent Breitmoser 86ecd13c1d use correct sqlite expression for expiry 2018-07-13 16:26:35 +02:00
Vincent Breitmoser 0b28add654 Use SQLDelight for inserts instead of KeychainProvider 2018-07-13 16:26:35 +02:00
Vincent Breitmoser 36b48bc282 Update target sdk to 28 2018-07-13 16:24:23 +02:00
Vincent Breitmoser 76a8aa1fbc Fix selectFingerprintsForKeysolderThan query 2018-07-13 16:13:42 +02:00
Vincent Breitmoser f97531d628 Prevent flicker of dummy item during key update 2018-07-13 16:13:42 +02:00
Dominik Schürmann 1e51cf1aaf
Merge pull request #2377 from open-keychain/highlight-after-import
Scroll to new key after import
2018-07-13 15:26:55 +02:00
Dominik Schürmann 54a7860d2a
Merge pull request #2378 from open-keychain/decrypt-context-button
Use overflow menu instead of long click in decrypt file list
2018-07-13 15:25:43 +02:00
Vincent Breitmoser 84f20f6646 synchronously schedule background work, to avoid cancelling race condition 2018-07-13 14:52:50 +02:00
Vincent Breitmoser de3123b2c3
Merge pull request #2380 from kowalski7cc/adaptive-icon
Add adaptive icons, fixes #2273
2018-07-13 14:35:24 +02:00
Vincent Breitmoser c7bef6efda fix bug with KeyserverSyncManager updates in SettingsActivity 2018-07-13 14:32:58 +02:00
Kowalski Prime 17f3db6557 Add adaptive icons, fixes #2273
Add support for adaptive icons in devices running API 26 or greater, preserving old icon for older devices and providing round icon.
2018-07-13 01:24:28 +02:00
Vincent Breitmoser a4e2e2f4af Request missing permission when rescanning USB devices 2018-07-12 18:34:17 +02:00
Vincent Breitmoser 4f4be8ed47 make recreation of views atomic operation 2018-07-12 17:38:10 +02:00
Vincent Breitmoser 16802dc259 Use overflow menu instead of long click in decrypt file list
Fixes #2370
2018-07-12 17:28:19 +02:00
Vincent Breitmoser 03ddbbe9a2 small cleanup of DecryptListFragment 2018-07-12 17:19:21 +02:00
Vincent Breitmoser be1853d789 Introduce Notification channel for passphrase cache 2018-07-12 16:37:22 +02:00
Vincent Breitmoser 750aa42035 Scroll to new key after import 2018-07-12 14:12:00 +02:00
Vincent Breitmoser 00caf28ee2 use ContextCompat instead of deprecated methods 2018-07-12 13:39:13 +02:00
Vincent Breitmoser 639b6994ce set ViewKeyActivity title to key id for anonymous keys 2018-07-12 13:39:02 +02:00
Vincent Breitmoser da9f34bb8e hide identities card if there are no identities 2018-07-12 13:27:18 +02:00
Vincent Breitmoser e8bec994bf show keys with no uids in their own "anonymous" category
Fixes #2373
2018-07-12 13:17:43 +02:00
Vincent Breitmoser b5d49f9ae8 fix potential NPE in TransferFragment 2018-07-12 12:59:12 +02:00
Vincent Breitmoser 33a749a115 load data from correct masterKeyId in ViewKeyActivity
Fixes showing key info from linked contacts
2018-07-12 12:32:49 +02:00
Christian Hagau 9e4755d73c Fix whitespace 2018-07-09 00:00:00 +00:00
Vincent Breitmoser 8e73076819
Merge pull request #2355 from open-keychain/export-public
Allow export of public keys without encryption
2018-07-06 17:49:44 +02:00
Vincent Breitmoser c8136989d1 Allow export of contact keys without encryption 2018-07-06 12:50:38 +02:00
Vincent Breitmoser 71303c27eb clean up BackupRestoreFragment 2018-07-06 12:43:14 +02:00
Dominik Schürmann c21060aa70 Version 5.2-beta2 2018-07-05 21:20:04 +02:00
Vincent Breitmoser 3e00320bac Correctly fold user packet queries and display verification status 2018-07-05 20:46:30 +02:00
Vincent Breitmoser eda75276ce use temporary db for external content provider queries 2018-07-05 20:14:35 +02:00
Dominik Schürmann 69182df88c Version 5.2-beta1 2018-07-04 23:51:25 +02:00
Vincent Breitmoser cc903533a5 workaround proguard bug in ChipsLayoutManager 2018-07-04 23:50:22 +02:00
Vincent Breitmoser 63b37deafa
Merge pull request #2351 from open-keychain/sql-delight
Use SqlDelight in favor of ContentProviders
2018-07-04 22:58:56 +02:00
Vincent Breitmoser 1fad244c7a Correctly set keyserver status to unknown if importing from file 2018-07-04 22:44:09 +02:00
Vincent Breitmoser 37040f8586 update "last seen" when uploading to keyserver 2018-07-04 22:31:40 +02:00
Vincent Breitmoser 5b4f6cebf7 always reset singleton if running a unit test 2018-07-04 22:09:52 +02:00
Vincent Breitmoser 51551eb0c7 don't include revoked user packets in search string 2018-07-04 21:57:52 +02:00
Vincent Breitmoser 75cf861674 Cache instances of KeyInfoFormatter 2018-07-04 19:39:28 +02:00
Vincent Breitmoser a975586086 move MaterialChipsInput to org.sufficientlysecure namespace 2018-07-04 16:46:34 +02:00
Vincent Breitmoser 69fb637a70 fix preselecting multiple encryption recipients 2018-07-04 16:35:11 +02:00
Vincent Breitmoser 5c13b21577 Support stable ids in chip adapters 2018-07-04 14:02:52 +02:00
Dominik Schürmann d0a9cea74e disabled keys for RemoteDeduplicatePresenter 2018-07-04 14:02:52 +02:00
Vincent Breitmoser 24090cbf18 fix "Create new key" layout in SelectSignKeyIdListFragment 2018-07-04 14:02:52 +02:00
Dominik Schürmann 035a62e920 check for key status in legacy API key lists 2018-07-04 14:02:52 +02:00
Vincent Breitmoser 8a33fa8540 make search in uidList case insensitive in all places 2018-07-04 14:02:52 +02:00
Vincent Breitmoser b95c885aa0 fix race condition crash in ViewKeyActivity 2018-07-04 14:02:52 +02:00
Vincent Breitmoser 126224e751 ditch unused KeyUpdateHelper class 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 794b1dc8e0 group non-letters in "#" group, display keys with only an address in-order 2018-07-04 13:59:21 +02:00
Dominik Schürmann cb3289f874 use UID for now in KeyChoiceAdapter 2018-07-04 13:59:21 +02:00
Dominik Schürmann 2a7688e3c7 better chips for keys with emails only 2018-07-04 13:59:21 +02:00
Dominik Schürmann b350fd62f2 expired before insecure for status icons in key view 2018-07-04 13:59:21 +02:00
Dominik Schürmann d5a2c6f42d correctly remove status icon for unverified keys 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 452f3600db move EncryptRecipientDropdownAdapter to chips package 2018-07-04 13:59:21 +02:00
Dominik Schürmann 449483b4c0 dont show unverified icon 2018-07-04 13:59:21 +02:00
Dominik Schürmann 4692f2a39c use KeyInfoFormatter in more places 2018-07-04 13:59:21 +02:00
Vincent Breitmoser fada189579 add preliminary EncryptRecipientChipAdapter 2018-07-04 13:59:21 +02:00
Dominik Schürmann 1c7a2b1db1 show status icon etc in chip dropdown 2018-07-04 13:59:21 +02:00
Dominik Schürmann f8eb6275f5 move formatting of key items to new class 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 76e624f12f show partial list of keys if an error is thrown 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 93e8c74ec6 generify ChipsInput, extract SimpleChipsInput 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 71c3b71e35 better MaterialChipsInput, first iteration 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 053cbdf43e include MaterialChipsInput as subdir lib 2018-07-04 13:59:21 +02:00
Vincent Breitmoser c98e835936 drop dependency on SuperSlim 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 71b4598687 Refresh cancellation signal for newly launched operation 2018-07-04 13:59:21 +02:00
Vincent Breitmoser bf9179391b Add notification uris to ApiAppDao 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 7ab2161cba use correct filtered list for key selection in RemoteSelectidentityPresenter 2018-07-04 13:59:21 +02:00
Vincent Breitmoser b7dcb5d98d Stricter null check for selected master key id 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 5e2330c63f Grant access to right key id after generation 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 4517d2a7f5 fix two more timestamp formats 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 60ec78b9ae always insert autocrypt key before update operations 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 905dd728cc improve NPE robustnes in AutocryptInteractor 2018-07-04 13:59:21 +02:00
Vincent Breitmoser f7859e3bce first iteration, disable predicate for KeyChoiceAdapter 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 2cae2065c0 fix date in key choice adapter 2018-07-04 13:59:21 +02:00
Vincent Breitmoser cb7a774324 delete unused FilterCursorWrapper class 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 5e3e38a3cc fix NPE in switchMap LiveData instances 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 70be2c8ba1 clean up OverriddenWarnigsDao 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 0f473c89d9 ditch unused ListFragmentWorkaround 2018-07-04 13:59:21 +02:00
Vincent Breitmoser eb34f900e4 clean up package structure 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 8ee65f9b04 clean up CertifyKeyFragment 2018-07-04 13:59:21 +02:00
Vincent Breitmoser dca5dfe3aa save all signature relations in KeySignatures table 2018-07-04 13:59:21 +02:00
Vincent Breitmoser a7e6dc35a8 clean up KeySignatures.sq 2018-07-04 13:59:21 +02:00
Vincent Breitmoser a02251274b preselect key if only a single one is available 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 19dfac7fc9 querying by key id shouldn't care about revoked keys 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 799eed1ca2 fix NPE in EncryptModeAsymmetricFragment 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 6789aee8d1 use notification uris mostly correctly 2018-07-04 13:59:21 +02:00
Vincent Breitmoser a31c35a4ad refresh on any key change by default 2018-07-04 13:59:21 +02:00
Vincent Breitmoser cdb95ee844 make single-choice mode work in KeyChoiceAdapter 2018-07-04 13:59:21 +02:00
Vincent Breitmoser fdefd30a46 fix NPE in ImportKeysAdapter 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 225b11c1db more debug actions 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 39f5c5fd03 ignore redundantly inserted allowed api keys 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 471aa34d38 show all keys for SelectPublicKeyFragment 2018-07-04 13:59:21 +02:00
Vincent Breitmoser a2eb6349b8 inserting api apps redundantly is fine, as long as the signature matches 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 016e7d68ee add debug actions activity (reachable from shortcuts) 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 4a6e89a503 aside: add shortcuts 2018-07-04 13:59:21 +02:00
Vincent Breitmoser b819e1a83e remove unified query from KeychainProvider 2018-07-04 13:59:21 +02:00
Vincent Breitmoser febe9cbe92 use MaterialChipsInput for encryption recipients 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 387ec6ed96 ditch unused KeyCursorAdapter classes 2018-07-04 13:59:21 +02:00
Vincent Breitmoser abac3b2445 use KeyChoiceAdapter in SelectSignKeyIdListFragment 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 57b96dac2a use KeyChoiceAdapter in SelectPublicKeyFragment 2018-07-04 13:59:21 +02:00
Vincent Breitmoser 9ea36286dc use FlexibleAdapter for new KeyChoiceAdapter 2018-07-02 14:50:11 +02:00
Vincent Breitmoser dbc1e5f523 use KeyRepository in BackupRestoreFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 375dd39ed1 use LiveData to load data in TransferFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 353c75e49c use KeyRepository in ContactHelper 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 4ac8c275f3 get notification URIs from DatabaseNotificationManager 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 83d5aafadb use LiveData for signing key spinners 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 1635c261b8 ditch CachedPublicKeyRing, and some cleanup 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 31830a8c86 extract database access from CachedPublicKeyRing 2018-07-02 14:50:11 +02:00
Vincent Breitmoser aa640f3227 Small layout fix to key list item 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 8d835b3b7f use LiveData to load key data in DecryptFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 4416ddf11c Get rid of more places where URIs are used for loading 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 1425f34321 back to using an operation for interactive update (for progress dialog) 2018-07-02 14:50:11 +02:00
Vincent Breitmoser a64d898716 hide view key fragment cards until data is loaded 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 4cdc57c690 clean up KeychainDatabase a bit 2018-07-02 14:50:11 +02:00
Vincent Breitmoser c8481d0247 use Enum for verification status of certificates 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 64bde4c680 extract findByUserId and findByEmail usage from KeychainProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser fa127add45 use LiveData in ViewKeyKeybaseFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser e6fe353469 minor cleanup in UploadKeyActivity 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 0793300b73 use LiveData in QrCodeViewActivity 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 5d8bc8fc50 remove unused SelectIdentityKeyListFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 4fcc5253ae use LiveData in LinkedIdWizard and related Fragments 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 2a5b93d9c5 fix unit tests 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 38bf421023 simplify ViewKeyFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 8d584df44c ditch LoaderFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 5cfe0d140f use LiveData to load data in ViewKeyActivity 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 2d1ff8cdcc use LiveData in ViewKeyAdvActivity 2018-07-02 14:50:11 +02:00
Vincent Breitmoser d57a409fac extract select by signer from KeychainProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 6cd065a3bd extract subkey loading from KeychainProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 500c219fa0 Extract remaining user id loading from KeychainProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser cf0b659e78 Some cleanup in user id loading 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 921431b05f more Dao work 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 1556db897f introduce AbstractDao, fix import of keys (missing delete in KeychainProvider) 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 587b8b4cc9 Don't use backstack for back button handling in MainActivity 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 729121c13c add comment to buildfiles about android debug-db for convenience 2018-07-02 14:50:11 +02:00
Vincent Breitmoser b4ac6cd337 Split up FlexibleKeyItem, re-add support for dummy item if user has no secret keys 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 377bf55b70 extract linked id loading from ContentProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 9ad29318e8 extract deletion of keys from ContentProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser f87209d242 use FlexibleAdapter with LiveData in KeyListFragment 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 72f3ed89a6 update build tools to 27.1.1, and gradle wrapper to 4.8 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 77c89cfa98 extract reading of public key data from ContentProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 6585e7113d move loading of certs into CertificationDao 2018-07-02 14:50:11 +02:00
Vincent Breitmoser f3ef530b96 ditch ViewCertActivity and cert fragment in AdvKeyView 2018-07-02 14:50:11 +02:00
Vincent Breitmoser de708288fb minor layout fix with autocrypt ids 2018-07-02 14:50:11 +02:00
Vincent Breitmoser e144a402b5 extract autocrypt_peers from KeychainProvider into AutocryptPeerDao 2018-07-02 14:50:11 +02:00
Vincent Breitmoser bae90f1b23 extract UpdatedKeys access from KeychainProvider into KeyMetadataDao 2018-07-02 14:50:11 +02:00
Vincent Breitmoser d133b732e5 use SQLDelight, remove ApiApps access from KeychainProvider 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 59c9f52e85 Store secret keys in private storage instead of database 2018-07-02 14:50:11 +02:00
Vincent Breitmoser a3fd1609df fix table reference 2018-07-02 14:50:11 +02:00
Vincent Breitmoser f22c761376 fix unit tests, add shadow for WorkerManager 2018-07-02 14:50:11 +02:00
Vincent Breitmoser 8bf71b893c use KeyserverSyncWorker for updating keys in the foreground, too 2018-07-02 14:50:11 +02:00
Vincent Breitmoser b1818e5cc6
Merge pull request #2354 from wiktor-k/dark-nav-bar
Color navigation bar dark when using dark theme
2018-06-25 19:59:57 +02:00
Vincent Breitmoser b854331daa Show notification during key sync 2018-06-21 19:21:41 +02:00
Vincent Breitmoser 40b7701f58 use WorkManager for key sync 2018-06-21 19:21:41 +02:00
Vincent Breitmoser 08ab5669a5 extract getDrawableAsNotificationBitmap into ResourceUtils 2018-06-21 19:21:41 +02:00
Vincent Breitmoser 1593cc0826 use WorkManager to schedule temporary file cleanups 2018-06-21 19:21:41 +02:00
Vincent Breitmoser b29d98d5a2 add WorkManager arch component 2018-06-21 19:21:41 +02:00
Vincent Breitmoser d57fffb7ba remove capturing pattern group names for compatibility
Fixes #2352
2018-06-21 19:17:22 +02:00
Vincent Breitmoser 651e799fe2 fix fragment management in AppSettingsActivity 2018-06-21 13:40:31 +02:00
Wiktor Kwapisiewicz 60cc6169ca
Color navigation bar dark when using dark theme 2018-06-20 16:38:38 +02:00
Dominik Schürmann aa596e0165 fix string 2018-06-20 12:31:38 +02:00
Dominik Schürmann e8328a39b1
Merge pull request #2348 from open-keychain/live-data
Use LiveData in favor of ContentLoader in ViewKeyFragment
2018-06-19 16:44:06 +02:00
Dominik Schürmann 289ba7cadc fix NPE in EncryptDecryptFragment on empty clipboard 2018-06-19 15:41:44 +02:00
Vincent Breitmoser 89aa99a13f show Snackbar if clipboard contains key data 2018-06-19 13:28:29 +02:00
Vincent Breitmoser 8adf4a8a64 move notification of key changes into DAOs 2018-06-14 16:52:43 +02:00
Vincent Breitmoser 10d3ca814c Use LiveData in favor of ContentLoader for ViewKeyFragment 2018-06-14 16:52:43 +02:00
Vincent Breitmoser 700e06dcb9 Catch SecurityException when opening URIs during decrypt 2018-06-14 14:24:56 +02:00
Vincent Breitmoser 0ef46ecb81 use DateUtils instead of PrettyTime (fixes related crash) 2018-06-14 14:21:14 +02:00
Vincent Breitmoser 87e56580a6 Some dark theme fixes for key search activity
Fixes #2287
2018-06-14 14:08:07 +02:00
Vincent Breitmoser 996856ddde Fix NPE on missing charset in HkpKeyserverClient
Hopefully fixes #2345
2018-06-14 13:52:47 +02:00
Vincent Breitmoser 5db5db2a0c clear cache after changing passphrase
Fixes #2239
2018-06-13 18:25:35 +02:00
Vincent Breitmoser 69756eb84a prevent NPE in divider decoration 2018-06-12 18:36:13 +02:00
Dominik Schürmann e80bc488e3 Version 5.1.1 2018-06-12 18:10:48 +02:00
Vincent Breitmoser fc6084a7ef set cursor factory before the cursor is actually created 2018-06-12 18:09:47 +02:00
Vincent Breitmoser 4967a49949 fix date queries in autocrypt handling 2018-06-12 16:44:27 +02:00
Vincent Breitmoser 4f6852ccfc log api calls 2018-06-12 15:39:53 +02:00
Vincent Breitmoser c309c75fee fix error in savePublicKey 2018-06-12 15:39:42 +02:00
Vincent Breitmoser 6e67c14949 correctly parcel SaveKeyringParcel 2018-06-12 13:39:00 +02:00
Vincent Breitmoser 6070e7a9f9 delay cleanup after Application.onCreate 2018-06-12 13:32:29 +02:00
Vincent Breitmoser dc913fc8ca remove branding of glow effect 2018-06-12 13:24:59 +02:00
Vincent Breitmoser abc50f7e40 fix crash in ImportKeysAdapter
Fixes #2343
2018-06-12 11:06:54 +02:00
Vincent Breitmoser a0f48b8353 log elapsed time for secure messaging setup 2018-06-12 11:06:54 +02:00
Dominik Schürmann 3bdafeabc3 Version 5.1 2018-06-11 10:20:25 +02:00
Dominik Schürmann 2c6ad54e02 Pull from transifex 2018-06-11 10:19:26 +02:00
Dominik Schürmann 6022d18e2b Changelog 5.1 2018-06-11 10:09:22 +02:00
Dominik Schürmann a2b2cadcd1 Merge remote-tracking branch 'origin/fix-external-provider' 2018-06-11 10:00:34 +02:00
Vincent Breitmoser 571c02180f clean up ExternalKeychainProvider, remove content resolver hack 2018-06-09 20:29:46 +02:00
Vincent Breitmoser fffc98f00a
Merge pull request #2341 from open-keychain/usb-ledger
Support Ledger Nano S
2018-06-08 11:06:40 +02:00
Vincent Breitmoser 635ee3e876 Don't pass through selection in ExternalKeychainProvider
The external provider uses the selectionArgs parameter in a non-standard
way, so it doesn't make sense to pass selection to the query
independently. Also enabling strict mode here, to nail down the fields
that can be requested to the contract of the provider.
2018-06-07 14:39:16 +02:00
Vincent Breitmoser 0c0c095ad8 add Ledger Nano S to supported devices 2018-06-07 14:34:09 +02:00
Vincent Breitmoser 122a8d97f8 refresh connection capabilities even if connection was already established
This is relevant for he Ledger Nano S, which may change "key slots"
interactively.
2018-06-07 14:34:09 +02:00
Vincent Breitmoser 35e7fece0d Add trivial short apdu protocol for T=0 2018-06-07 14:34:09 +02:00
jatoko e965475540 HKP server handling adopted to conform to draft-shaw-openpgp-hkp-00
- updated regex
- added error if server does not implement hkp function
- added algorithm extraction from downloaded key if hkp fails
-- fixes algorithm shown unknown if hkp response field is empty
2018-05-30 17:10:39 +02:00
Vincent Breitmoser 53fa371c9c
Merge pull request #2331 from open-keychain/fix_personalized_learning
Disable personalized learning for password input widgets
2018-05-29 16:41:04 +02:00
Vincent Breitmoser 98dc854d03 Use 0-9 for generated admin pin (derp) 2018-05-23 16:24:05 +02:00
Vincent Breitmoser d00e27ad2e Attempt to fix change of key attributes during smartcard key creation 2018-05-23 15:45:43 +02:00
Vincent Breitmoser 1e05b7999e
Merge pull request #2329 from wiktor-k/wkd-url
Extend WKD support to include WKD URLs
2018-05-23 15:30:46 +02:00
Wiktor Kwapisiewicz 7e3c985c54
Add intent filter for handling WKD link in Firefox
Firefox for Android requires `mimeType` condition on the intent filter.
Built-in browsers (e.g. Chrome) need an intent filter that will *not* have
`mimeType` conditions.

Using two common MIME types: `application/octet-stream` is mentioned in
the I-D and `application/pgp-keys` is a common type for keys used in the
wild.
2018-05-23 15:07:04 +02:00
Wiktor Kwapisiewicz 92e7995b83 Add preference toggle for switching on/off WKD 2018-05-23 15:06:59 +02:00
Wiktor Kwapisiewicz fe78850b3d Automatically construct CloudSearchPrefs using auto-value 2018-05-23 15:06:59 +02:00
Vincent Breitmoser aa1e9ffb97
Merge pull request #2323 from wiktor-k/ndef-openpgp4fpr
Add support for NDEF tags with `openpgp4fpr` URIs
2018-05-23 13:20:05 +02:00
Wiktor Kwapisiewicz f6b3887f93 Follow redirects when fetching keys over WKD
Some hosts (like `kernel.org`) redirect all requests to a subdomain (in
this case `www`). As WKD queries are always over HTTPS following redirects
would be safe.
2018-05-22 22:13:12 +02:00
Wiktor Kwapisiewicz 222231066e Show import key dialog when clicking on WKD URL
This change extends WKD support for direct Web Key Directory URLs
similarily to Facebook key URLs and HKP URLs.

When a link with scheme `https` and path starting with
`/.well-known/openpgpkey/hu/` is clicked Android will suggest importing
the key with OpenKeychain.

Fixes #2270.
2018-05-22 22:13:00 +02:00
Wiktor Kwapisiewicz bc25b345fc Extract out contruction of Web Key Directory URLs
Moves `toWebKeyDirectoryURL` to a separate class adding unit tests
for URL correctness as well as support for spaces at the beginning
and end of the e-mail. Spaces are frequently automatically inserted
by soft keyboards.
2018-05-22 21:32:53 +02:00
Wiktor Kwapisiewicz 759e51e6f4
Add support for NDEF tags with `openpgp4fpr` URIs
This change allows importing keys from NDEF tags that have fingerprint
encoded as an `openpgp4fpr` URI when the application is in background.
After scanning a tag the `Import keys` activity is shown with results of
the search for key fingerprint encoded in the tag.
2018-05-22 09:25:52 +02:00
Christian Hagau 546ff281b7 Disable personalized learning for password/pin/backup code input widgets 2018-05-22 00:00:00 +00:00
Vincent Breitmoser 090eb7e6e3
Merge pull request #2314 from wiktor-k/wkd
Search for keys in Web Key Directory
2018-05-21 20:46:16 +02:00
Vincent Breitmoser 2a33245b20 fix nfc sweetspot activity 2018-05-21 20:25:56 +02:00
Wiktor Kwapisiewicz fa3b32eddc
Add ability to search for keys using WKD protocol
If a search pattern that looks like an email address is found
an additional query using Web Key Directory will be performed.

Implements basic flow described in "Key Discovery" [0] I-D.
Querying SRV records is not supported.

Fixes partially #2270.

[0]: https://tools.ietf.org/html/draft-koch-openpgp-webkey-service-05#section-3.1
2018-05-12 21:14:56 +02:00
Vincent Breitmoser 225fdbb79a
Merge pull request #2318 from wiktor-k/vcard-key
Extend QR scanner to support VCards with KEY field
2018-05-11 17:17:17 +02:00
Wiktor Kwapisiewicz 01aadf6a1f
Extend QR scanner to support VCards with KEY field
Currently QR scanner supports only `openpgp4fpr` URIs. VCard specification
allows embedding public key information as an URI in `KEY` field [0]. Two
schemes used with this field - `https` and `data` are either insecure or
not practical [1]. As the value of `KEY` field is a URI one can use
`openpgp4fpr` URI there to have both secure and small links.

This change will extract URI from `KEY` field from a scanned VCard and
process it just like it would be a URI scanned directly. When a `openpgp4fpr`
URI is put there the UI would search and import the key and show the confirm
dialog.

Example VCard with this URI:

    BEGIN:VCARD
    FN:Test WKD
    EMAIL:test-wkd@metacode.biz
    KEY:OPENPGP4FPR:74EC8D3DA82A79DAA25DF10C6BA55ED83ABAE1BB
    END:VCARD

[0]: https://tools.ietf.org/html/rfc6350#section-6.8.1

[1]: https://www.av8n.com/computer/htm/distributing-keys.htm#sec-fing
2018-05-10 15:22:09 +02:00
Dominik Schürmann e7990ebe7c Version 5.0.2 2018-05-08 17:49:36 +02:00
Dominik Schürmann e6233d1017
Merge pull request #2313 from open-keychain/simplify-backup-code
Simplify backup code fragment
2018-05-08 17:48:45 +02:00
Vincent Breitmoser cb6913f6dd Simplify backup code fragment 2018-05-08 15:20:36 +02:00
Dominik Schürmann cfc5cc4c44 Version 5.0.1 2018-05-05 23:58:41 +02:00
Vincent Breitmoser 8edd084212 allow setting custom headers in autocrypt setup message 2018-05-03 15:27:04 +02:00
Vincent Breitmoser a63aca623d make sure all keys are allowed for transfer call 2018-05-03 15:26:27 +02:00
Vincent Breitmoser be58f2ff4c Add autocrypt key transfer api method 2018-05-03 15:26:24 +02:00
Dominik Schürmann 5db00cd924
Merge pull request #2301 from open-keychain/api-choose-sign-key
New identity chooser dialog for API
2018-05-03 14:58:20 +02:00
Vincent Breitmoser f8e6e08410 incorporate feedback 2018-05-02 20:02:53 +02:00