aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.kt
AgeCommit message (Collapse)AuthorFilesLines
2020-08-05Remove GitAsyncTask and replace with non-blocking coroutines (#865)Harsh Shandilya1-250/+0
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-26Correctly set error on incorrect credentials (#972)Harsh Shandilya1-4/+3
2020-07-08global: set an import order rule and reformat with it (#924)Harsh Shandilya1-3/+4
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-03Migrate to ActivityResultContracts (#910)Harsh Shandilya1-3/+6
* 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-01Use PreferenceKeys file to manage SharedPreferences keys. (#891)Aditya Wasan1-5/+6
* 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-28UI fixups (#892)Harsh Shandilya1-1/+4
2020-06-26Use remembered credential even if it is empty (#880)Fabian Henneke1-1/+1
* Use remembered credential even if it is empty Should fix #875. * .isNull() --> == null * Update relnotes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Reword relnotes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * 2019 it is Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-06-02Remove a misguided require from GitOperation (#826)Fabian Henneke1-1/+0
2020-05-30Switch password authentication over to SSHJ (#811)Fabian Henneke1-146/+148
* Switch password authentication over to SSHJ * Address review comments and refactor further
2020-05-28Use SSHJ for SSH public key authentication (#801)Fabian Henneke1-100/+60
2020-05-10Treewide codestyle cleanup (#765)Harsh Shandilya1-6/+6
- 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-0/+3
Fixes #758 Fixes #526
2020-04-21treewide: use edit extension and cleanup some deprecationHarsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-20Fix protocol validation (#726)Harsh Shandilya1-6/+4
* GitOperation: code cleanup * WIP: Fix validation * Fixup SSH validation * Spotless * Remove logging of MalformedURLException Co-authored-by: Fabian Henneke <fabian@henneke.me> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-17Refactor Git related activities (#685)Harsh Shandilya1-69/+97
* 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>
2020-01-30Update license headers (#625)Harsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-11-06treewide: Reformat with latest ktlintHarsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-10-27Add setting to save OpenKeychain auth keyid (#554)Harsh Shandilya1-8/+5
* Add setting to save OpenKeychain auth keyid * Hide pref not disable Co-Authored-By: Reagan Sanders <vexofp@gmail.com> Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-10-02treewide: Fix typo in license headerHarsh Shandilya1-1/+1
While we're here, also clarify we're strictly GPL-3.0 and not automatically opting into future revisions of the license. Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-10-02treewide: Add copyrightsHarsh Shandilya1-0/+4
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-10-02Add Spotless to regulate codestyle (#550)Harsh Shandilya1-21/+23
* Add Spotless to regulate codestyle * treewide: Run spotless * Add spotlessCheck to CI test Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
2019-10-01Redesign UI and introduce dark theme (#519)Harsh Shandilya1-12/+10
Caveats: - The openpgp preference had to be removed because the open-intents developers are too lazy to update their libraries. Over the coming weeks I will be reimplementing a local solution for this instead. - The autofill dialog is broken but I since it is being worked on in #410 already I'm not going to bother fixing it.
2019-05-31Convert GitOperation API and implementations to KotlinHarsh Shandilya1-0/+252
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>