diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt index 9148f9f0..d8eb3df9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt @@ -330,7 +330,7 @@ class MainActivity : SimpleActivity() { override fun onBackPressed() { if (fragment.mView.breadcrumbs.childCount <= 1) { - if (!wasBackJustPressed) { + if (!wasBackJustPressed && config.pressBackTwice) { wasBackJustPressed = true toast(R.string.press_back_again) Handler().postDelayed({ diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/SettingsActivity.kt index 5ad2ec39..ff692f1f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/SettingsActivity.kt @@ -31,6 +31,7 @@ class SettingsActivity : SimpleActivity() { setupChangeDateTimeFormat() setupFontSize() setupShowHidden() + setupPressBackTwice() setupHiddenItemPasswordProtection() setupAppPasswordProtection() setupFileDeletionPasswordProtection() @@ -115,6 +116,24 @@ class SettingsActivity : SimpleActivity() { config.showHidden = settings_show_hidden.isChecked } + private fun setupPressBackTwice() { + settings_press_back_twice.isChecked = config.pressBackTwice + settings_press_back_twice_holder.setOnClickListener { + if (config.pressBackTwice) { + togglePressBackTwice() + } else { + handleHiddenFolderPasswordProtection { + togglePressBackTwice() + } + } + } + } + + private fun togglePressBackTwice() { + settings_press_back_twice.toggle() + config.pressBackTwice = settings_press_back_twice.isChecked + } + private fun setupHiddenItemPasswordProtection() { settings_password_protection.isChecked = config.isHiddenPasswordProtectionOn settings_password_protection_holder.setOnClickListener { diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Config.kt index e5d12264..20ac05a7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Config.kt @@ -22,6 +22,10 @@ class Config(context: Context) : BaseConfig(context) { var shouldShowHidden = showHidden || temporarilyShowHidden + var pressBackTwice: Boolean + get() = prefs.getBoolean(PRESS_BACK_TWICE, true) + set(pressBackTwice) = prefs.edit().putBoolean(PRESS_BACK_TWICE, pressBackTwice).apply() + var homeFolder: String get(): String { var path = prefs.getString(HOME_FOLDER, "")!! diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Constants.kt index c7849e50..67226614 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/helpers/Constants.kt @@ -5,6 +5,7 @@ const val MAX_COLUMN_COUNT = 20 // shared preferences const val SHOW_HIDDEN = "show_hidden" +const val PRESS_BACK_TWICE = "press_back_twice" const val HOME_FOLDER = "home_folder" const val TEMPORARILY_SHOW_HIDDEN = "temporarily_show_hidden" const val IS_ROOT_AVAILABLE = "is_root_available" diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 5b4e3d3a..34929270 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -129,6 +129,29 @@ + + + + + + Enable root access + Press back twice to exit