From fe43b4bc056543ebcd6cfd6f33ea82f8eea929f8 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 24 Jun 2022 22:44:22 +0200 Subject: [PATCH] show the Overlay permission snackbar just once --- .../com/simplemobiletools/dialer/activities/MainActivity.kt | 4 +++- .../kotlin/com/simplemobiletools/dialer/helpers/Config.kt | 4 ++++ .../kotlin/com/simplemobiletools/dialer/helpers/Constants.kt | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index 3d518002..8ae82d18 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -61,10 +61,12 @@ class MainActivity : SimpleActivity() { if (isDefaultDialer()) { checkContactPermissions() - if (!Settings.canDrawOverlays(this)) { + if (!config.wasOverlaySnackbarConfirmed && !Settings.canDrawOverlays(this)) { val snackbar = Snackbar.make(main_holder, R.string.allow_displaying_over_other_apps, Snackbar.LENGTH_INDEFINITE).setAction(R.string.ok) { + config.wasOverlaySnackbarConfirmed = true startActivity(Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION)) } + snackbar.setBackgroundTint(getProperBackgroundColor().darkenColor()) snackbar.setTextColor(getProperTextColor()) snackbar.setActionTextColor(getProperTextColor()) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt index 1cbc15b5..94ec51de 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt @@ -67,4 +67,8 @@ class Config(context: Context) : BaseConfig(context) { var isCustomOrderSelected: Boolean get() = prefs.getBoolean(FAVORITES_CUSTOM_ORDER_SELECTED, false) set(selected) = prefs.edit().putBoolean(FAVORITES_CUSTOM_ORDER_SELECTED, selected).apply() + + var wasOverlaySnackbarConfirmed: Boolean + get() = prefs.getBoolean(WAS_OVERLAY_SNACKBAR_CONFIRMED, false) + set(wasOverlaySnackbarConfirmed) = prefs.edit().putBoolean(WAS_OVERLAY_SNACKBAR_CONFIRMED, wasOverlaySnackbarConfirmed).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt index b478c957..fc44663c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt @@ -14,6 +14,7 @@ const val DISABLE_SWIPE_TO_ANSWER = "disable_swipe_to_answer" const val SHOW_TABS = "show_tabs" const val FAVORITES_CONTACTS_ORDER = "favorites_contacts_order" const val FAVORITES_CUSTOM_ORDER_SELECTED = "favorites_custom_order_selected" +const val WAS_OVERLAY_SNACKBAR_CONFIRMED = "was_overlay_snackbar_confirmed" const val ALL_TABS_MASK = TAB_CONTACTS or TAB_FAVORITES or TAB_CALL_HISTORY