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