Skip to content

Commit 5f15083

Browse files
committed
Properly remove root access under DevSettings
If magiskManager is installed, management is done there, so remove root access and appops preferences from Developer Settings Change-Id: Id88d3db6495f858901f0370a27e17674da3a55b1
1 parent 904cae7 commit 5f15083

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/com/android/settings/DevelopmentSettings.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,25 @@ private SwitchPreference findAndInitSwitchPref(String key) {
640640
}
641641

642642
private boolean removeRootOptionsIfRequired() {
643+
644+
// Magisk Manager
645+
boolean magiskSupported = false;
646+
try {
647+
magiskSupported = (getPackageManager().getPackageInfo("com.topjohnwu.magisk", 0).versionCode > 0);
648+
} catch (PackageManager.NameNotFoundException e) {
649+
}
650+
651+
// if magisk is supported, management is done in MagiskManager.
652+
// remove the root access and appops preferences
653+
if (magiskSupported) {
654+
if (mRootAccess != null) {
655+
getPreferenceScreen().removePreference(mRootAccess);
656+
}
657+
if (mRootAppops != null) {
658+
getPreferenceScreen().removePreference(mRootAppops);
659+
}
660+
return true;
661+
}
643662
// user builds don't get root, and eng always gets root
644663
if (!(Build.IS_DEBUGGABLE || "eng".equals(Build.TYPE))) {
645664
if (mRootAccess != null) {

0 commit comments

Comments
 (0)