From b94b52a42ddc2325b539d0956fd0adcf35308b52 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 17 Apr 2020 18:36:07 +0530 Subject: Refactor Git related activities (#685) * 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 Co-authored-by: Fabian Henneke --- app/src/main/res/values/colors.xml | 2 ++ app/src/main/res/values/strings.xml | 20 +++++++++++++++----- app/src/main/res/values/styles.xml | 15 +++++++++++++++ 3 files changed, 32 insertions(+), 5 deletions(-) (limited to 'app/src/main/res/values') diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 13bc049d..54a3af70 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -19,6 +19,8 @@ #668eacbb #000000 @color/primary_dark_color + #aaff7043 + #44ff7043 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bd2aa75e..dafad85a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -19,7 +19,7 @@ Please clone or create a new repository below before trying to add a password or running any synchronization operation. - You have to select your PGP key ID before initializing the repository + A valid PGP key must be selected in Settings before initializing the repository Are you sure you want to delete the password %1$s? Move Edit @@ -57,7 +57,7 @@ Did you forget to specify a username? - You have to set the information about the server before synchronizing with the server + Please fix the remote server configuration in settings before proceeding Please import or generate your SSH key file in the preferences No SSH key Import @@ -228,8 +228,8 @@ OK Yes No - On my way… - Nah… later + Go to Settings + Go back Oops… Cancel Synchronize repository @@ -309,7 +309,7 @@ Error occurred during the push operation: Clear ssh-key saved passphrase Clear saved preference for HOTP incrementing - Remember the passphrase in the app configuration (insecure) + Remember key passphrase Hackish tools Abort rebase and push new branch Hard reset to remote branch @@ -349,4 +349,14 @@ Dark Set by Battery Saver System default + SSH + HTTPS + SSH key + Password + OpenKeychain + Successfully saved configuration + Configuration error: please verify your settings and try again + Unable to open the ssh-key + Please check that it was imported. + Wrong passphrase diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 090b56b9..b5a03bb4 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -33,6 +33,21 @@ @color/primary_color + + -- cgit v1.2.3