From 6fc1fafe991d8c2a21340e41293fe130c88d48fa Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 13 Mar 2022 18:37:29 +0530 Subject: Misc PGP v2 fixes (#1784) * Don't throw in PGPKeyImportActivity when no file is selected * PGPSettings: mark import option as dependent on V2 backend pref --- .../dev/msfjarvis/aps/ui/pgp/PGPKeyImportActivity.kt | 17 +++++++++-------- .../java/dev/msfjarvis/aps/ui/settings/PGPSettings.kt | 10 ++++++---- 2 files changed, 15 insertions(+), 12 deletions(-) (limited to 'app/src/main') diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/pgp/PGPKeyImportActivity.kt b/app/src/main/java/dev/msfjarvis/aps/ui/pgp/PGPKeyImportActivity.kt index b97de5e0..02ea4fc3 100644 --- a/app/src/main/java/dev/msfjarvis/aps/ui/pgp/PGPKeyImportActivity.kt +++ b/app/src/main/java/dev/msfjarvis/aps/ui/pgp/PGPKeyImportActivity.kt @@ -29,7 +29,7 @@ class PGPKeyImportActivity : AppCompatActivity() { registerForActivityResult(OpenDocument()) { uri -> runCatching { if (uri == null) { - throw IllegalStateException("Selected URI was null") + return@runCatching null } val keyInputStream = contentResolver.openInputStream(uri) @@ -41,13 +41,14 @@ class PGPKeyImportActivity : AppCompatActivity() { } .mapBoth( { key -> - require(key != null) { "Key cannot be null here" } - MaterialAlertDialogBuilder(this) - .setTitle(getString(R.string.pgp_key_import_succeeded)) - .setMessage(getString(R.string.pgp_key_import_succeeded_message, tryGetId(key))) - .setPositiveButton(android.R.string.ok) { _, _ -> finish() } - .setOnCancelListener { finish() } - .show() + if (key != null) { + MaterialAlertDialogBuilder(this) + .setTitle(getString(R.string.pgp_key_import_succeeded)) + .setMessage(getString(R.string.pgp_key_import_succeeded_message, tryGetId(key))) + .setPositiveButton(android.R.string.ok) { _, _ -> finish() } + .setOnCancelListener { finish() } + .show() + } }, { throwable -> MaterialAlertDialogBuilder(this) diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/settings/PGPSettings.kt b/app/src/main/java/dev/msfjarvis/aps/ui/settings/PGPSettings.kt index 86f23c32..b81af006 100644 --- a/app/src/main/java/dev/msfjarvis/aps/ui/settings/PGPSettings.kt +++ b/app/src/main/java/dev/msfjarvis/aps/ui/settings/PGPSettings.kt @@ -18,13 +18,15 @@ class PGPSettings(private val activity: FragmentActivity) : SettingsProvider { override fun provideSettings(builder: PreferenceScreen.Builder) { builder.apply { - checkBox(Feature.EnablePGPainlessBackend.configKey) { - title = "Enable new PGP backend" - persistent = true - } + val enablePGPainless = + checkBox(Feature.EnablePGPainlessBackend.configKey) { + title = "Enable new PGP backend" + persistent = true + } pref("_") { title = "Import PGP key" persistent = false + dependency = enablePGPainless.key onClick { activity.launchActivity(PGPKeyImportActivity::class.java) false -- cgit v1.2.3