Enforce BaseUserRestriction for DISALLOW_CONFIG_SCREEN_TIMEOUT
Fix: 329202191
Test: pm set-user-restriction --user 0 no_config_screen_timeout 1
Change-Id: Icd35365f446296fb53b1068d278d4cf5fd25939e
diff --git a/src/com/android/settings/display/ScreenTimeoutPreferenceController.java b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
index 1254116..5809c79 100644
--- a/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
+++ b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
@@ -23,6 +23,7 @@
import android.app.admin.DevicePolicyManager;
import android.content.Context;
+import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
@@ -67,9 +68,13 @@
.getString(DISABLED_BY_IT_ADMIN_TITLE,
() -> mContext.getString(R.string.disabled_by_policy_title)));
((RestrictedPreference) preference).setDisabledByAdmin(admin);
- } else {
- preference.setSummary(getTimeoutSummary(maxTimeout));
+ return;
}
+ if (UserManager.get(mContext).hasBaseUserRestriction(
+ UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT, Process.myUserHandle())) {
+ preference.setEnabled(false);
+ }
+ preference.setSummary(getTimeoutSummary(maxTimeout));
}
private CharSequence getTimeoutSummary(long maxTimeout) {