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