From 2ffd1abb279bb0e1a8895ef26b805a1a1651516c Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 16 Aug 2020 02:16:02 +0530 Subject: Fix external storage UX (#1022) * build: update to Kotlin 1.4 Signed-off-by: Harsh Shandilya * UserPreference: finish if directory selection was triggered from an intent Signed-off-by: Harsh Shandilya * PasswordStore: switch permission request to ActivityResultContracts Signed-off-by: Harsh Shandilya * PasswordStore: fix activity reference Signed-off-by: Harsh Shandilya * 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 * Assorted collection of hackery to make external storage use palatable Signed-off-by: Harsh Shandilya * Update changelog Signed-off-by: Harsh Shandilya --- app/src/main/java/com/zeapo/pwdstore/UserPreference.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/com/zeapo/pwdstore/UserPreference.kt') diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt index 7f01e063..3b73d6e5 100644 --- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt +++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt @@ -464,7 +464,7 @@ class UserPreference : AppCompatActivity() { when (intent?.getStringExtra("operation")) { "get_ssh_key" -> getSshKey() "make_ssh_key" -> makeSshKey(false) - "git_external" -> selectExternalGitRepository() + "git_external" -> selectExternalGitRepository(fromIntent = true) } prefsFragment = PrefsFragment() @@ -477,7 +477,7 @@ class UserPreference : AppCompatActivity() { } @Suppress("Deprecation") // for Environment.getExternalStorageDirectory() - fun selectExternalGitRepository() { + fun selectExternalGitRepository(fromIntent: Boolean = false) { MaterialAlertDialogBuilder(this) .setTitle(this.resources.getString(R.string.external_repository_dialog_title)) .setMessage(this.resources.getString(R.string.external_repository_dialog_text)) @@ -506,6 +506,10 @@ class UserPreference : AppCompatActivity() { .show() } prefs.edit { putString(PreferenceKeys.GIT_EXTERNAL_REPO, repoPath) } + if (fromIntent) { + setResult(RESULT_OK) + finish() + } }.launch(null) } -- cgit v1.2.3