aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/utils
AgeCommit message (Collapse)AuthorFilesLines
2020-12-05Refactor package structure (#1233)Harsh Shandilya13-1138/+0
* idea: default test runner to Gradle * Kick off package structure revamp * Reparent all classes under dev.msfjarvis.aps Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-23Rollback automatic synchronization feature (#1165)Harsh Shandilya1-1/+0
* Revert "Add option to automatically sync repository on app launch (#1137)" Fixes #1163 This reverts commit 92f1aab25da12411aa256c3b763e0cb6182e9320. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: add entry for auto sync rollback Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-22Remove accessibility autofill support (#1162)Harsh Shandilya1-4/+0
* autofill: remove Accessibility backend Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: update Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19Convert PasswordRepository to an objectHarsh Shandilya2-162/+158
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-19PasswordRepository: split out PasswordSortOrderHarsh Shandilya2-39/+46
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-15Add option to automatically sync repository on app launch (#1137)Aditya Wasan1-0/+1
* Add option to automatically sync repository on app launch Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Pull repo if user is not authenticated Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Address review comments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Hijack incoming intent rather than copying it Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Initialize password repository before using it Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-11ProxyUtils: correctly handle the 'no proxy' case (#1148)Harsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-08Introduce app-wide HTTPS proxy setting (#1134)Harsh Shandilya3-0/+78
2020-10-05Resolve lock contention from lazy delegates (#1135)Harsh Shandilya1-1/+1
2020-10-02build: uprev dependenciesHarsh Shandilya1-5/+4
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-18Misc cleanups to build and extension functions (#1108)Harsh Shandilya3-154/+209
2020-09-15Update on-boarding UI (#1099)Aditya Wasan2-1/+54
* Add onboarding flow from v2 Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Minor fixes Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add changelog entry Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Remove old activity from manifest Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Remove view type prefix from view ids Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Review fixes Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Treewide: Reformat code Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Moar review fixes Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Revert "Treewide: Reformat code" This reverts commit 348ef0050942526a55890b245afec8d7fee4d81e. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * onboarding: cleanup OnboardingActivity init Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unused layout Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unnecessary ConstraintLayout Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Shorten animation duration Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * onboarding: use viewBinding extension in fragments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-13PasswordRepository: properly gate symlink feature (#1098)Harsh Shandilya1-7/+9
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-11Disable SSH multiplexing if not supported (#1093)Fabian Henneke1-0/+1
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-09Fix directory selection in onboarding if storage permissions are granted (#1090)Harsh Shandilya1-1/+1
* OnboardingActivity: fix directory change option Add an else clause to cover the case when storage permission is granted already Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * all: rename permission grant method The new name is a bit more explicit about its purpose Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * UserPreference: add static method for external directory selection intent Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-08Use same checks as BiometricAuthenticator in UserPreference (#1088)Aditya Wasan1-3/+6
2020-09-05PasswordRepository: use runCatching to replace exception handlingHarsh Shandilya1-8/+11
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05Extensions: use runCatching to replace exception handlingHarsh Shandilya1-2/+4
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05Otp: use runCatching to replace exception handlingHarsh Shandilya1-28/+11
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05PasswordRepository: add custom FS factory for symlink capabilities (#1081)Harsh Shandilya1-0/+33
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-09-04Add migration to new SshKey backend (#1076)Fabian Henneke2-1/+4
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04Revamp onboarding logic (#1068)Harsh Shandilya2-5/+7
2020-09-03Refactor Git operations and auth (#1066)Fabian Henneke2-35/+10
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-01Add Keystore backend for SSH public key authentication (#1070)Fabian Henneke3-5/+7
2020-08-28Add Activity to view the Git commit log (#1056)Nosweh1-0/+23
2020-08-27Expand show hidden folders to also cover files (#1059)Harsh Shandilya3-5/+14
* 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 Henneke1-0/+1
* 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-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 Shandilya1-42/+0
Fixes #1038 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21Update dependencies (#1039)Harsh Shandilya1-3/+2
* 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-20Sort by recently used (#1031)Diogenes Molinares2-0/+18
* 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-15Fix external storage UX (#1022)Harsh Shandilya1-1/+1
* 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-13Restore workaround for preventing empty commits (#1019)Harsh Shandilya1-0/+4
* 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 Henneke1-6/+0
2020-08-11Switch to URL-based Git config and refactor Git settings (#1008)Fabian Henneke3-7/+13
* 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 Shandilya1-1/+0
* 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-06Refactor uses of applicationContext and startActivityForResult (#997)Fabian Henneke2-17/+16
* 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 Shandilya4-22/+46
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-29Add ability to change default branch (#977)Harsh Shandilya1-0/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-25Properly handle files without passwords (#969)Harsh Shandilya1-5/+12
* 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 Shandilya1-3/+0
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-16Remove manual key selection and start actually using `.gpg-id` (#916)Harsh Shandilya1-0/+2
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com> Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-14Revert "Work around Chrome Autofill issue (#921)" (#933)Fabian Henneke1-1/+0
2020-07-14Fix navigation bar theming and reformat (#930)Harsh Shandilya1-0/+5
2020-07-08global: set an import order rule and reformat with it (#924)Harsh Shandilya5-5/+9
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-07Work around Chrome Autofill issue (#921)Fabian Henneke1-0/+1
2020-07-03Migrate to ActivityResultContracts (#910)Harsh Shandilya1-5/+5
* Move git directory selection to ActivityResultContracts Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * global: replace all android.app.Activity references Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * res: resolve ObsoleteSdkInt lint warning Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * layout: silence some overdraw warnings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordFragment: address deprecation Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordStore: start addressing deprecation warnings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * autofill: silence deprecation warnings for legacy implementation I don't want to ever touch these files Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Reset scrollTarget after use Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Refresh password list after each swipe Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Convert if to when Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Migrate UserPreference to ActivityResultContracts Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Also validate result in git directory selection Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * AutofillSaveActivity: Switch to ActivityResultContracts Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * AutofillDecryptActivity: Switch to ActivityResultContracts Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * AutofillFilterActivity: Switch to ActivityResultContracts Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Improve deletion flow - Silently delete empty directory - Always refresh password list upon completion Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Uniform naming for activity result handlers Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
2020-07-01Scroll to files and enter folders when created (#909)Fabian Henneke1-0/+17
2020-07-01Run a treewide reformat (#908)Fabian Henneke2-0/+2
Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>