diff --git a/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt b/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt index 8305e181..ba3c2d1a 100644 --- a/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt +++ b/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt @@ -185,9 +185,13 @@ class SettingsFragment : ScreenFragment() { preferences[Preferences.Key.ProxyHost]?.setEnabled(enabled) preferences[Preferences.Key.ProxyPort]?.setEnabled(enabled) } - preferences[Preferences.Key.RootPermission]?.setEnabled( - Shell.getCachedShell()?.isRoot ?: Shell.getShell().isRoot - ) + if (key != null && !(Shell.getCachedShell()?.isRoot ?: Shell.getShell().isRoot) + ) { + Preferences[Preferences.Key.RootPermission] = false + preferences[Preferences.Key.RootPermission]?.setEnabled(false) + } else if (Shell.getCachedShell()?.isRoot ?: Shell.getShell().isRoot) { + preferences[Preferences.Key.RootPermission]?.setEnabled(true) + } if (key == Preferences.Key.Theme) { requireActivity().recreate() }