From 77ecdc7c0427d706e9c43d062c0340f022493bbd Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Tue, 12 Mar 2024 16:22:33 +0800 Subject: [PATCH] Enforce BaseUserRestriction for DISALLOW_CONFIG_SCREEN_TIMEOUT Fix: 329202191 Test: pm set-user-restriction --user 0 no_config_screen_timeout 1 Change-Id: Icd35365f446296fb53b1068d278d4cf5fd25939e --- .../display/ScreenTimeoutPreferenceController.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/display/ScreenTimeoutPreferenceController.java b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java index 125411678fe..5809c79bbcf 100644 --- a/src/com/android/settings/display/ScreenTimeoutPreferenceController.java +++ b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java @@ -23,6 +23,7 @@ import static com.android.settings.display.ScreenTimeoutSettings.FALLBACK_SCREEN 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 @@ public class ScreenTimeoutPreferenceController extends BasePreferenceController .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) {