From 4f20c49abb500c6b74558119675314a6210c4221 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 13 Apr 2020 00:31:25 +0530 Subject: [PATCH 1/2] Request WRITE_EXTERNAL_STORAGE for external password repository (#698) * PasswordStore: request WRITE_EXTERNAL_STORAGE permission instead We wish to be able to write to our password store directory as well. Fixes #697 Fixes #365 Signed-off-by: Harsh Shandilya * Reword changelog entry Signed-off-by: Harsh Shandilya --- CHANGELOG.md | 1 + app/src/main/java/com/zeapo/pwdstore/PasswordStore.kt | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14cfa0528..2308cce8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. ### Fixed - Text input box theming +- Password repository held in non-hidden storage no longer fails ## [1.6.0] - 2020-03-20 diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.kt b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.kt index 9844d5a2a..f12835383 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.kt +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.kt @@ -107,7 +107,7 @@ class PasswordStore : AppCompatActivity() { var savedInstance = savedInstanceState if (savedInstanceState != null && (!settings.getBoolean("git_external", false) || ContextCompat.checkSelfPermission( - activity, Manifest.permission.READ_EXTERNAL_STORAGE) + activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) { savedInstance = null } @@ -129,9 +129,9 @@ class PasswordStore : AppCompatActivity() { super.onResume() // do not attempt to checkLocalRepository() if no storage permission: immediate crash if (settings.getBoolean("git_external", false)) { - if (ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) + if (ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { - if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_EXTERNAL_STORAGE)) { + if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { val snack = Snackbar.make( findViewById(R.id.main_layout), getString(R.string.access_sdcard_text), @@ -139,7 +139,7 @@ class PasswordStore : AppCompatActivity() { .setAction(R.string.dialog_ok) { ActivityCompat.requestPermissions( activity, - arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), + arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), REQUEST_EXTERNAL_STORAGE) } snack.show() @@ -151,7 +151,7 @@ class PasswordStore : AppCompatActivity() { // No explanation needed, we can request the permission. ActivityCompat.requestPermissions( activity, - arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), + arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), REQUEST_EXTERNAL_STORAGE) } } else { From 11c7e369860a7ee2d5b0ca9e42c55dd232ac2f07 Mon Sep 17 00:00:00 2001 From: Fabian Henneke Date: Sun, 12 Apr 2020 21:10:40 +0200 Subject: [PATCH 2/2] Raise targetSdk to 29 (#682) Signed-off-by: Harsh Shandilya --- app/src/main/AndroidManifest.xml | 1 + .../main/java/com/zeapo/pwdstore/crypto/PgpActivity.kt | 8 ++++---- .../com/zeapo/pwdstore/sshkeygen/ShowSshKeyFragment.kt | 2 +- .../main/java/com/zeapo/pwdstore/utils/ClipboardUtils.kt | 4 ++-- dependencies.gradle | 4 ++-- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index eb5895d51..037691988 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,6 +23,7 @@ android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" + android:requestLegacyExternalStorage="true" tools:ignore="GoogleAppIndexingWarning">