From 2ae28ca91b4739367e7aed75df1604b9eef22218 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 3 Sep 2017 19:34:54 +0200 Subject: [PATCH] show the root access toggle only if root is available --- .../kotlin/com/simplemobiletools/filemanager/Config.kt | 4 ++++ .../kotlin/com/simplemobiletools/filemanager/Constants.kt | 1 + .../filemanager/activities/MainActivity.kt | 8 ++++++++ .../filemanager/activities/SettingsActivity.kt | 2 ++ 4 files changed, 15 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt index 658b34cd..90616901 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt @@ -68,6 +68,10 @@ class Config(context: Context) : BaseConfig(context) { fun hasCustomSorting(path: String) = prefs.contains(SORT_FOLDER_PREFIX + path) + var isRootAvailable: Boolean + get() = prefs.getBoolean(IS_ROOT_AVAILABLE, false) + set(isRootAvailable) = prefs.edit().putBoolean(IS_ROOT_AVAILABLE, isRootAvailable).apply() + var enableRootAccess: Boolean get() = prefs.getBoolean(ENABLE_ROOT_ACCESS, false) set(enableRootAccess) = prefs.edit().putBoolean(ENABLE_ROOT_ACCESS, enableRootAccess).apply() diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt index 1374b234..7c908a1a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt @@ -10,4 +10,5 @@ val FAVORITES = "favorites" val SORT_ORDER = "sort_order" val SORT_FOLDER_PREFIX = "sort_folder_" val TEMPORARILY_SHOW_HIDDEN = "temporarily_show_hidden" +val IS_ROOT_AVAILABLE = "is_root_available" val ENABLE_ROOT_ACCESS = "enable_root_access" diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt index 06b9cc92..6e60aa85 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt @@ -25,6 +25,7 @@ import com.simplemobiletools.filemanager.SCROLL_STATE import com.simplemobiletools.filemanager.dialogs.ChangeSortingDialog import com.simplemobiletools.filemanager.extensions.config import com.simplemobiletools.filemanager.fragments.ItemsFragment +import com.stericson.RootTools.RootTools import kotlinx.android.synthetic.main.activity_main.* import java.util.* @@ -45,6 +46,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br tryInitFileManager() storeStoragePaths() checkWhatsNewDialog() + checkIfRootAvailable() } override fun onResume() { @@ -246,6 +248,12 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br } } + private fun checkIfRootAvailable() { + Thread({ + config.isRootAvailable = RootTools.isRootAvailable() + }).start() + } + private fun checkWhatsNewDialog() { arrayListOf().apply { add(Release(26, R.string.release_26)) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt index 05a1fce3..59040add 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt @@ -3,6 +3,7 @@ package com.simplemobiletools.filemanager.activities import android.content.Intent import android.os.Bundle import com.simplemobiletools.commons.dialogs.SecurityDialog +import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.handleHiddenFolderPasswordProtection import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.helpers.SHOW_ALL_TABS @@ -73,6 +74,7 @@ class SettingsActivity : SimpleActivity() { } private fun setupEnableRootAccess() { + settings_enable_root_access_holder.beVisibleIf(config.isRootAvailable) settings_enable_root_access.isChecked = config.enableRootAccess settings_enable_root_access_holder.setOnClickListener { if (!config.enableRootAccess) {