aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt
AgeCommit message (Collapse)AuthorFilesLines
2020-12-05Refactor package structure (#1233)Harsh Shandilya1-265/+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-11-01build: compile against SDK 30 and resolve deprecationsHarsh Shandilya1-1/+2
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-21GitServerConfigActivity: add quick-fix for HTTPS URLs with custom portsHarsh Shandilya1-11/+24
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-21GitServerConfigActivity: set auth mode visibility on launch as wellHarsh Shandilya1-14/+22
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-17Use BottomSheet in place of Snackbar for longer messages (#1157)ashoksinghal1-3/+17
2020-09-21Refactor auth mode check/uncheck (#1115)Harsh Shandilya1-7/+11
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-19Add check for potential issues with SSH URLHarsh Shandilya1-0/+17
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-14Add tentative workaround for dialog crashes and refactor Git-related code ↵Harsh Shandilya1-4/+14
(#1100) * Ensure we're creating dialogs on the main thread Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unused operation type Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Refactor launchGitOperation to use an enum Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-07UX fixups and improvements (#1086)Harsh Shandilya1-5/+27
* git: re-add back button handling Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Hide unsupported authentication methods Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * GitCommandExecutor: cleanup and address build warning Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Address review comments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * DecryptActivity: hide menu items until decrypt finishes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * GitServerConfigActivity: don't finish on failure Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-07Fix behavior on failing Git operations (#1084)Fabian Henneke1-2/+10
2020-09-05GitServerConfigActivity: use runCatching to replace exception handlingHarsh Shandilya1-17/+11
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04Revamp onboarding logic (#1068)Harsh Shandilya1-2/+8
2020-09-03Refactor Git operations and auth (#1066)Fabian Henneke1-2/+11
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-26Get rid of explicit Git server protocol (#1054)Fabian Henneke1-46/+13
* 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 Henneke1-32/+32
2020-08-24Improve Git server config activity (#1051)Fabian Henneke1-31/+52
2020-08-15Fix external storage UX (#1022)Harsh Shandilya1-2/+11
* 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-11Switch to URL-based Git config and refactor Git settings (#1008)Fabian Henneke1-69/+22
* 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-06Refactor uses of applicationContext and startActivityForResult (#997)Fabian Henneke1-2/+2
* 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 Shandilya1-2/+4
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-29Add ability to change default branch (#977)Harsh Shandilya1-1/+10
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-27Fix delete store message formatting (#975)Fabian Henneke1-1/+1
2020-07-01Use PreferenceKeys file to manage SharedPreferences keys. (#891)Aditya Wasan1-6/+7
* Use PreferenceKeys file to manage SharedPreferences keys. Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Use PreferenceKeys in all files Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Divide PreferenceKeys into multiple regions Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix build error Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Use PreferenceKeys in more files Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Reformat code Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix build error Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix merge issues Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
2020-06-14Misc UI fixups (#851)Harsh Shandilya1-1/+5
2020-06-12Break down PGP Activity into focused sections (#776)Harsh Shandilya1-1/+1
2020-05-27Introduce and switch to FragmentViewBindingDelegate (#797)Harsh Shandilya1-2/+2
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-05-23Make connection mode a <= 1 toggle group to prevent UI overflow (#778)Fabian Henneke1-15/+19
2020-05-14Add specific error messages to GitServerConfigActivityFabian Henneke1-15/+16
2020-05-10Treewide codestyle cleanup (#765)Harsh Shandilya1-18/+18
- Updated gitignore and checked in the IDE's codestyle config - Removed spotless as the underlying ktlint backend has failed to resolve the super frustrating import order bug[1] in nearly a year - Reformat the entire codebase based on the previously committed code style configuration. 1: https://github.com/pinterest/ktlint/issues/527
2020-05-08Introduce no-auth mode for connections (#768)Harsh Shandilya1-16/+19
Fixes #758 Fixes #526
2020-04-17Refactor Git related activities (#685)Harsh Shandilya1-0/+185
* Refactor git logic into separate parts * Extract hardcoded strings * Add KDoc to updateHostname, remove unused field * Cleanups * Fix dialog message * Wire in repository clone flow * spotless * Remove unused method * Cleanup GitActivity - Rename to GitOperationActivity. - Ensure identityBuilder is always closed regardless of what fragment uses it. - Remove hardcoded "Operation" strings and replace with REQUEST_ARG_OP. - Apply a transparent theme to GitOperationActivity make the UI less jarring. * Tweak some stupidly worded dialog messages As pointed out in #629, these strings are shoddily worded and do not express any clear intent to the user, leaving them confused and angry. * GitOperationActivity: wrap Context to ensure right theme is used * spotless * undo build.gradle change * Use correct parent theme, remove now useless wrapping * GitServerConfigActivity: fix repository clone flow * temp: disable leakcanary framework leaks on Samsung are pissing me off * Make system bars transparent in git activity * Tweak HTTPS password layout * Unhardcode wrong passphrase string * Store SSH passphrase in EncryptedSharedPreferences Also revamp the dialog to look a bit better * Implement support for remembering HTTPS password Fixes #521 * Try to patch HTTPS remote creation logic * Update security-crypto * Clear saved passphrase/password on auth failure * Revert "Update security-crypto" Broken on R DP2.1 This reverts commit 4b20371dd42c512a3dd3b759859abb6c1ffd2961. * Revert "temp: disable leakcanary" This reverts commit 2db7d41bd67b79c6dc8c5b359a7b27100379f45f. * Update CHANGELOG * Remove spacer * Remove useless override * Wrap git server activity in a ScrollView * GitOperation: always finish calling activity when dialogs are dismissed * Wipe saved password/passphrase when hostname changes * Don't commit prefs updates * Don't call listFiles excessively * Finish activity after saving configuration * Make ConnectionMode and Protocol enum classes * Change SSH key passphrase key, don't wipe on host change * Reimplement BaseGitActivity.updateUrl (was updateHostname) * Use SharedPreferences.edit KTX extension * Disable inapplicable connection modes depending on scheme * BaseGitActivity: annotate onDestroy with CallSuper We'll leak the identityBuilder connection otherwise * Move input hack for AlertDialog into an extension function We re-use this in many places * Fix protocol/mode toggle issue and consistenly name options * Fix a crash when opening GitServerConfigActivity without a repo * Fix OpenKeychain callbacks by moving onActivityResult to BaseGitActivity * Run spotlessApply Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <fabian@henneke.me>