diff options
| author | Harsh Shandilya <msfjarvis@gmail.com> | 2020-09-09 11:27:03 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-09 07:57:03 +0200 |
| commit | 276aa4ea7cec53d37dd4dc777119c3114535b628 (patch) | |
| tree | e72c2cd989ae8beaea31866762efc01b9bdec1ac /app/src/main/java/com/zeapo/pwdstore/OnboardingActivity.kt | |
| parent | 9e0fb93f910bd1e890103d44fda56f52ab5c821e (diff) | |
| download | HardenedPass-276aa4ea7cec53d37dd4dc777119c3114535b628.tar.gz HardenedPass-276aa4ea7cec53d37dd4dc777119c3114535b628.zip | |
Fix directory selection in onboarding if storage permissions are granted (#1090)
* 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>
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/OnboardingActivity.kt')
| -rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/OnboardingActivity.kt | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/OnboardingActivity.kt b/app/src/main/java/com/zeapo/pwdstore/OnboardingActivity.kt index d26860dc..5e415766 100644 --- a/app/src/main/java/com/zeapo/pwdstore/OnboardingActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/OnboardingActivity.kt @@ -21,7 +21,7 @@ import com.zeapo.pwdstore.git.BaseGitActivity import com.zeapo.pwdstore.git.GitServerConfigActivity import com.zeapo.pwdstore.utils.PasswordRepository import com.zeapo.pwdstore.utils.PreferenceKeys -import com.zeapo.pwdstore.utils.checkRuntimePermission +import com.zeapo.pwdstore.utils.isPermissionGranted import com.zeapo.pwdstore.utils.getString import com.zeapo.pwdstore.utils.listFilesRecursively import com.zeapo.pwdstore.utils.sharedPrefs @@ -116,12 +116,10 @@ class OnboardingActivity : AppCompatActivity() { settings.edit { putBoolean(PreferenceKeys.GIT_EXTERNAL, true) } val externalRepo = settings.getString(PreferenceKeys.GIT_EXTERNAL_REPO) if (externalRepo == null) { - if (!checkRuntimePermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + if (!isPermissionGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { registerForActivityResult(RequestPermission()) { granted -> if (granted) { - externalDirectorySelectAction.launch(Intent(this, UserPreference::class.java).apply { - putExtra("operation", "git_external") - }) + externalDirectorySelectAction.launch(UserPreference.createDirectorySelectionIntent(this)) } }.launch(Manifest.permission.WRITE_EXTERNAL_STORAGE) } @@ -130,7 +128,7 @@ class OnboardingActivity : AppCompatActivity() { .setTitle(resources.getString(R.string.directory_selected_title)) .setMessage(resources.getString(R.string.directory_selected_message, externalRepo)) .setPositiveButton(resources.getString(R.string.use)) { _, _ -> - if (!checkRuntimePermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + if (!isPermissionGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { registerForActivityResult(RequestPermission()) { granted -> if (granted) { initializeRepositoryInfo() @@ -141,14 +139,14 @@ class OnboardingActivity : AppCompatActivity() { } } .setNegativeButton(resources.getString(R.string.change)) { _, _ -> - if (!checkRuntimePermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + if (!isPermissionGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { registerForActivityResult(RequestPermission()) { granted -> if (granted) { - repositoryInitAction.launch(Intent(this, UserPreference::class.java).apply { - putExtra("operation", "git_external") - }) + repositoryInitAction.launch(UserPreference.createDirectorySelectionIntent(this)) } }.launch(Manifest.permission.WRITE_EXTERNAL_STORAGE) + } else { + repositoryInitAction.launch(UserPreference.createDirectorySelectionIntent(this)) } } .show() @@ -198,7 +196,7 @@ class OnboardingActivity : AppCompatActivity() { private fun initializeRepositoryInfo() { val externalRepo = settings.getBoolean(PreferenceKeys.GIT_EXTERNAL, false) val externalRepoPath = settings.getString(PreferenceKeys.GIT_EXTERNAL_REPO) - if (externalRepo && !checkRuntimePermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + if (externalRepo && !isPermissionGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { return } if (externalRepo && externalRepoPath != null) { |
