aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com
AgeCommit message (Collapse)AuthorFilesLines
2020-08-29Simplify decrypt intent creation (#1069)Alexander Kirillov1-6/+7
2020-08-28Add Activity to view the Git commit log (#1056)Nosweh7-17/+240
2020-08-27Do not return stored password on first retry (#1061)Fabian Henneke1-1/+1
2020-08-27Remember HTTPS password throughout a sync operation (#1062)Fabian Henneke1-3/+14
* Remember HTTPS password throughout a sync operation * Add CHANGELOG.md entry Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-27Delete HTTPS instead of SSH key password on error (#1060)Fabian Henneke1-1/+1
2020-08-27Expand show hidden folders to also cover files (#1059)Harsh Shandilya6-12/+32
* PasswordItem: only strip .gpg suffixes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add preference key and migration for showing all hidden contents Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Allow showing both hidden files and directories Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add tests for hidden folder setting migration Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add changelog entry Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Slightly improve migration logic Skip migration if old key is not found and always delete the previous key even if its set to false. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Tweak wording Suggested-by: Fabian Henneke <fabian@henneke.me> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Assert previous key's removal in tests Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-26Get rid of explicit Git server protocol (#1054)Fabian Henneke4-62/+38
* Double check Git server protocol Ensure that the Git server protocol is not at odds with the URL scheme. Also move the Protocol switches below the URL to make it clear that the URL should be entered first. * Remove protocol selection from server config The protocol is now extracted from the URL, and the authentication mode selection is validated by GitSettings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Don't use pref values for auth modes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Apply suggestions from code review Remove now unused protocol mismatch result type Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Simplify migration logic and fix tests Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Revert "Simplify migration logic and fix tests" This reverts commit 1c4c4ba5fbc212843cb6b74dd29ac858eaea7582. * Detect URLs with null scheme as ssh * Add changelog entry Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-08-26Rename ConnectionMode to AuthMode and remove clone_ prefix (#1053)Fabian Henneke8-64/+64
2020-08-24Improve Git server config activity (#1051)Fabian Henneke3-41/+79
2020-08-24Return HTTPS URI username from CredentialsProvider (#1049)Fabian Henneke1-1/+2
Let the PasswordFinderCredentialsProvider support Username as a CredentialItem type and return the user part of the repository URI when it is requested.
2020-08-23Prevent racing double commits on password creation (#1047)Fabian Henneke1-6/+8
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23BiometricAuthenticator: also allow Class 2 biometric implementations (#1046)Harsh Shandilya1-1/+1
Android OEMs are hellspawn Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23BiometricAuthenticator: fix multiple regressions from AndroidX update (#1045)Harsh Shandilya1-7/+10
Fixes: 80e43e5675bf ("Update dependencies (#1039)") Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-22Don't use git config for setting author and email (#1043)Harsh Shandilya3-45/+5
Fixes #1038 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-22Autofill: add support for Bromite and Ungoogled Chromium (#1041)Devin J. Pohly1-0/+5
2020-08-21Update dependencies (#1039)Harsh Shandilya2-4/+4
* build: uprev dependencies Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Address deprecation warnings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update autofill, appcompat and core Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21Merge branch 'release' into developHarsh Shandilya1-9/+1
* release: build: bump version Update CHANGELOG Revert "Reland symlink support (#1020)" Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21Revert "Reland symlink support (#1020)"Harsh Shandilya1-9/+1
This does not work below API 27. Fixes #1032 This reverts commit 087ab547c123e90eb4207bfe9080486d54fbf3ef.
2020-08-20Fix incorrect preference key (#1033)Harsh Shandilya1-1/+1
This too should have been base64 encoded Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-20Sort by recently used (#1031)Diogenes Molinares6-0/+58
* Sort passwords by recently used * reformat * modified CHANGELOG.md * restore format CHANGELOG.md * added new sharedPreferences file to manage recent password history * associate timestamp when rename category * associate timestamp when rename password * reformat * Update CHANGELOG.md Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Update app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Update app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * use kotlin edit extension * Add changelog entry correctly Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Save paths as Base64 hashes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Missed it Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18Add SSHJ backend for OpenKeychain authentication (#995)Fabian Henneke10-483/+335
* Update sshj to 0.30.0 and improve algorithm order Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types and bugfixes related to RSA certificates and Android Keystore backed keys. Along the way, this improves the algorithm preferences to be consistent with the Mozilla Intermediate SSH configuration (as far as possible, given that most certificate types and some encryption algorithms are not yet supported). We also add "ext-info-c" to the kex algorithm proposal to work around certain kinds of "user agent sniffing" that limits the support of rsa-sha2-* key types. * Add SSHJ backend for OpenKeychain authentication * Address review comments Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18Preserve SSH key passphrase on connection errors (#979)Fabian Henneke1-1/+0
* Update sshj to 0.30.0 and improve algorithm order Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types and bugfixes related to RSA certificates and Android Keystore backed keys. Along the way, this improves the algorithm preferences to be consistent with the Mozilla Intermediate SSH configuration (as far as possible, given that most certificate types and some encryption algorithms are not yet supported). We also add "ext-info-c" to the kex algorithm proposal to work around certain kinds of "user agent sniffing" that limits the support of rsa-sha2-* key types. * Preserve SSH key passphrase on connection errors Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18Update sshj to 0.30.0 and improve algorithm order (#1026)Fabian Henneke1-17/+20
Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types and bugfixes related to RSA certificates and Android Keystore backed keys. Along the way, this improves the algorithm preferences to be consistent with the Mozilla Intermediate SSH configuration (as far as possible, given that most certificate types and some encryption algorithms are not yet supported). We also add "ext-info-c" to the kex algorithm proposal to work around certain kinds of "user agent sniffing" that limits the support of rsa-sha2-* key types.
2020-08-17Allow adding digits and symbols in XkPasswd generator using mask-like values ↵glowinthedark3-5/+13
(#1023) * - XkPasswordGeneratorDialogFragment: add symbol/number mask to allow appending numbers+symbols via a mask such as `ddds` which would generate random.password123!; position of `d` and `s` is not currently considered; only the count is relevant * - update CHANGELOG.md * - update CHANGELOG.md * - rename constants * Update CHANGELOG.md Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> * - add missing marginTop * - add missing marginTop Co-authored-by: null <null> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: glowinthedark <glowinthedark> Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-08-15Fix external storage UX (#1022)Harsh Shandilya5-31/+36
* build: update to Kotlin 1.4 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * UserPreference: finish if directory selection was triggered from an intent Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordStore: switch permission request to ActivityResultContracts Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordStore: fix activity reference Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * GitOperationActivity: make invalid values more obvious Would have caught this issue much sooner if I had just done this Fixes: 3d8cea596600 ("Improve permission handling logic (#732)") Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Assorted collection of hackery to make external storage use palatable Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-14Reland symlink support (#1020)Fabian Henneke1-1/+9
* Add symlink support to JGit (#1016) * Add symlink support to JGit * Fix a typo Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> * Prevent crash when following a broken symlink Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-13Restore workaround for preventing empty commits (#1019)Harsh Shandilya5-25/+41
* Revert "Add symlink support to JGit (#1016)" This reverts commit 5032696cec9da86c2ad97b9931e8d85feb18da0c. * Restore workaround for empty commits and document commands Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update app/src/main/java/com/zeapo/pwdstore/git/GitCommandExecutor.kt
2020-08-12Create only one SSH session per GitOperation (#1012)Fabian Henneke3-60/+34
2020-08-12Improve Git error message handling (#1011)Fabian Henneke2-37/+23
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-12Improve clone operation semantics (#1010)Harsh Shandilya2-2/+12
* Improve clone operation semantics Fixes #1003 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-11Notify user when remote branch is up-to-date (#1009)Harsh Shandilya1-0/+11
* Notify user when remote branch is up-to-date Fixes #1000 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-11Switch to URL-based Git config and refactor Git settings (#1008)Fabian Henneke29-349/+306
* Make Git config URL-based and refactor * Use Kotlin style null handling for string prefs * Also show an error if generated URL can't be parsed * Add some testcases for migration strategy Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Replicate key selection flow for directory creation (#999)Harsh Shandilya4-19/+57
* Replicate key selection flow Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Review fixes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Set --user 0 in adb options to prevent automatically installing to work profile Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fix committing regression Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Disable automatic copy on decrypt by default (#1006)Harsh Shandilya1-1/+1
Fixes #476 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Prompt user to install OpenKeychain when missing (#1005)Harsh Shandilya1-3/+59
* Prompt user to install OpenKeychain when missing Fixes #996 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-06Refactor uses of applicationContext and startActivityForResult (#997)Fabian Henneke25-190/+158
* Refactor uses of applicationContext and startActivityForResult This commit applies three types of refactoring: 1. Remove context argument from PasswordRepository companion functions by relying on Application.instance. 2. Introduce a sharedPrefs extension function on Context that returns the default SharedPreferences for the applicationContext. 3. Use OpenDocument() and OpenDocumentTree() contracts. * Drop toPasswordItem argument
2020-08-05Remove GitAsyncTask and replace with non-blocking coroutines (#865)Harsh Shandilya31-645/+623
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-31Switch to non-deprecated stdlib methods (#990)Harsh Shandilya1-2/+2
min and max were deprecated in favor of minOrNull and maxOrNull respectively to match their names to the typical naming format used by stdlib methods with nullable return types Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-30Add "challenge" and "verification" to OTP heuristic terms (#984)Fabian Henneke1-0/+2
2020-07-29Upgrade to Kotlin 1.4 (#978)Harsh Shandilya8-36/+54
* build: uprev to Kotlin 1.4 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove explicit type argument Not required anymore with Kotlin 1.4 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: enable Kotlin 1.4 language features Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * all: add trailing commas where reasonable Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-07-29Add ability to change default branch (#977)Harsh Shandilya6-21/+47
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-29Fix TOTP import button check semantics (#982)Harsh Shandilya1-5/+3
* Improve TOTP checking semantics Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fix return label Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * update CHANGELOG Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Move updateViewState() call outside with(binding) scope Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-28PasswordFragment: bring back dividers (#980)Harsh Shandilya1-0/+2
2020-07-27Fix delete store message formatting (#975)Fabian Henneke1-1/+1
2020-07-27Add specific warning for short key IDs in .gpg-id (#974)Fabian Henneke1-1/+5
2020-07-26Correctly set error on incorrect credentials (#972)Harsh Shandilya1-4/+3
2020-07-26Allow creating nested directoriesHarsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-26Show parent path on all typesHarsh Shandilya1-10/+9
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-25Properly handle files without passwords (#969)Harsh Shandilya2-8/+17
* Properly handle files without passwords Fixes #967 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fix tests Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Only look for TOTP URI Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-23Wire in fallback key selection flow (#958)Harsh Shandilya3-134/+235
Co-authored-by: Fabian Henneke <fabian@henneke.me>