From c60a2534d5f63d448f9c26d6ac8a933a74249d84 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 21 Mar 2021 14:03:51 +0530 Subject: Inform users that GPG key selection is mandatory (#1355) * Inform users that GPG key selection is mandatory Fixes #1342 Signed-off-by: Harsh Shandilya * changelog: add GPG key selection improvements Signed-off-by: Harsh Shandilya --- .../java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt | 3 +++ .../zeapo/pwdstore/ui/onboarding/fragments/KeySelectionFragment.kt | 7 +++++-- app/src/main/res/values/strings.xml | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt b/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt index baabfbf5..e4dbb7d9 100644 --- a/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt @@ -24,6 +24,7 @@ import com.github.michaelbull.result.onFailure import com.github.michaelbull.result.onSuccess import com.github.michaelbull.result.runCatching import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.google.android.material.snackbar.Snackbar import com.google.zxing.integration.android.IntentIntegrator import com.google.zxing.integration.android.IntentIntegrator.QR_CODE import com.zeapo.pwdstore.R @@ -114,6 +115,8 @@ class PasswordCreationActivity : BasePgpActivity(), OpenPgpServiceConnection.OnB } } } + } else { + snackbar(message = getString(R.string.gpg_key_select_mandatory), length = Snackbar.LENGTH_LONG) } } diff --git a/app/src/main/java/com/zeapo/pwdstore/ui/onboarding/fragments/KeySelectionFragment.kt b/app/src/main/java/com/zeapo/pwdstore/ui/onboarding/fragments/KeySelectionFragment.kt index 3dc03954..9abfe655 100644 --- a/app/src/main/java/com/zeapo/pwdstore/ui/onboarding/fragments/KeySelectionFragment.kt +++ b/app/src/main/java/com/zeapo/pwdstore/ui/onboarding/fragments/KeySelectionFragment.kt @@ -13,6 +13,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.edit import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope +import com.google.android.material.snackbar.Snackbar import com.zeapo.pwdstore.R import com.zeapo.pwdstore.crypto.GetKeyIdsActivity import com.zeapo.pwdstore.databinding.FragmentKeySelectionBinding @@ -21,6 +22,7 @@ import com.zeapo.pwdstore.utils.PreferenceKeys import com.zeapo.pwdstore.utils.commitChange import com.zeapo.pwdstore.utils.finish import com.zeapo.pwdstore.utils.sharedPrefs +import com.zeapo.pwdstore.utils.snackbar import com.zeapo.pwdstore.utils.viewBinding import java.io.File import kotlinx.coroutines.Dispatchers @@ -48,10 +50,11 @@ class KeySelectionFragment : Fragment(R.layout.fragment_key_selection) { )) } } + finish() } else { - throw IllegalStateException("Failed to initialize repository state.") + requireActivity() + .snackbar(message = getString(R.string.gpg_key_select_mandatory), length = Snackbar.LENGTH_LONG) } - finish() } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 885753e9..af8fa88a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -417,5 +417,6 @@ Fill and save passwords (saving requires that no accessibility services are enabled) Clear saved host key Successfully cleared saved host key! + Selecting a GPG key is necessary to proceed -- cgit v1.2.3