diff --git a/app/src/main/java/corewala/buran/ui/GemActivity.kt b/app/src/main/java/corewala/buran/ui/GemActivity.kt index 0c4f9fc..8b78868 100644 --- a/app/src/main/java/corewala/buran/ui/GemActivity.kt +++ b/app/src/main/java/corewala/buran/ui/GemActivity.kt @@ -257,24 +257,20 @@ class GemActivity : AppCompatActivity() { inSearch = true } R.id.overflow_menu_sign -> { - if(!prefs.getString(Buran.PREF_KEY_CLIENT_CERT_URI, null).isNullOrEmpty()) { - if (prefs.getBoolean("use_biometrics", false) and certPassword.isNullOrEmpty()) { - biometricSecureRequest(binding.addressEdit.text.toString()) - }else if(certPassword.isNullOrEmpty()){ - if (certPassword.isNullOrEmpty()) { - certPassword = prefs.getString( - Buran.PREF_KEY_CLIENT_CERT_PASSWORD, - null - ) - } - refresh() - }else{ - certPassword = null - refresh() - updateClientCertIcon() + if (prefs.getBoolean("use_biometrics", false) and certPassword.isNullOrEmpty()) { + biometricSecureRequest(binding.addressEdit.text.toString()) + }else if(certPassword.isNullOrEmpty()){ + if (certPassword.isNullOrEmpty()) { + certPassword = prefs.getString( + Buran.PREF_KEY_CLIENT_CERT_PASSWORD, + null + ) } + refresh() }else{ - Snackbar.make(binding.root, getString(R.string.no_certificate), Snackbar.LENGTH_LONG).show() + certPassword = null + refresh() + updateClientCertIcon() } } @@ -315,6 +311,16 @@ class GemActivity : AppCompatActivity() { } } } + if(!prefs.getString(Buran.PREF_KEY_CLIENT_CERT_URI, null).isNullOrEmpty()){ + OverflowPopup.setItemVisibility(R.id.overflow_menu_sign, true) + if(certPassword.isNullOrEmpty()){ + OverflowPopup.setItemTitle(R.id.overflow_menu_sign, getString(R.string.load_cert)) + }else{ + OverflowPopup.setItemTitle(R.id.overflow_menu_sign, getString(R.string.unload_cert)) + } + }else{ + OverflowPopup.setItemVisibility(R.id.overflow_menu_sign, false) + } } binding.home.setOnClickListener { diff --git a/app/src/main/java/corewala/buran/ui/modals_menus/overflow/OverflowPopup.kt b/app/src/main/java/corewala/buran/ui/modals_menus/overflow/OverflowPopup.kt index 7295260..a44af39 100644 --- a/app/src/main/java/corewala/buran/ui/modals_menus/overflow/OverflowPopup.kt +++ b/app/src/main/java/corewala/buran/ui/modals_menus/overflow/OverflowPopup.kt @@ -16,9 +16,11 @@ import corewala.buran.R object OverflowPopup { + lateinit var popup: PopupMenu + fun show(view: View?, onMenuOption: (menuId: Int) -> Unit){ if(view != null) { - val popup = PopupMenu(view.context, view) + popup = PopupMenu(view.context, view) val inflater: MenuInflater = popup.menuInflater inflater.inflate(R.menu.overflow_menu, popup.menu) popup.setOnMenuItemClickListener { menuItem -> @@ -31,6 +33,14 @@ object OverflowPopup { } } + fun setItemTitle(id: Int, title: String){ + popup.menu.findItem(id).title = title + } + + fun setItemVisibility(id: Int, visible: Boolean){ + popup.menu.findItem(id).isVisible = visible + } + fun insertMenuItemIcons(context: Context, popupMenu: PopupMenu) { val menu: Menu = popupMenu.menu if (hasIcon(menu)) { diff --git a/app/src/main/res/menu/overflow_menu.xml b/app/src/main/res/menu/overflow_menu.xml index 68998bf..30b1e05 100644 --- a/app/src/main/res/menu/overflow_menu.xml +++ b/app/src/main/res/menu/overflow_menu.xml @@ -6,7 +6,7 @@ android:title="@string/search"/> + android:title="@string/load_cert"/> diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f8abcea..da55b23 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -73,8 +73,8 @@ Confirmez votre identité Utilisez vos informations biométriques pour continuer Certificat Client biométrique - Certificat - Aucun Certificat Client sélectionné + Chargez Certificat + Déchargez Certificat Choisir comme capsule d\'accueil Rechercher des nouvelles versions Nouvelle version disponible diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8dcbaf6..d00f6ca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -73,8 +73,8 @@ Confirm your identity Verify your biometric credentials to continue Client Certificate biometrics - Certificate - No Client Certificate selected + Load Certificate + Unload Certificate Set home capsule Check for updates New version available