Merge "Enforce BaseUserRestriction for DISALLOW_CONFIG_BRIGHTNESS" into main

This commit is contained in:
Tom Hsu
2024-03-25 03:00:38 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 2 deletions

View File

@@ -36,7 +36,10 @@
android:key="auto_brightness_entry" android:key="auto_brightness_entry"
android:title="@string/auto_brightness_title" android:title="@string/auto_brightness_title"
android:fragment="com.android.settings.display.AutoBrightnessSettings" android:fragment="com.android.settings.display.AutoBrightnessSettings"
settings:controller="com.android.settings.display.AutoBrightnessPreferenceController"/> settings:useAdminDisabledSummary="true"
settings:userRestriction="no_config_brightness"
settings:controller="com.android.settings.display.AutoBrightnessPreferenceController" />
<SwitchPreferenceCompat <SwitchPreferenceCompat
android:key="even_dimmer_activated" android:key="even_dimmer_activated"
android:title="@string/even_dimmer_display_title" android:title="@string/even_dimmer_display_title"

View File

@@ -18,11 +18,15 @@ import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;
import android.content.Context; import android.content.Context;
import android.os.Process;
import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
import androidx.preference.Preference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController; import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.PrimarySwitchPreference;
public class AutoBrightnessPreferenceController extends TogglePreferenceController { public class AutoBrightnessPreferenceController extends TogglePreferenceController {
@@ -55,6 +59,17 @@ public class AutoBrightnessPreferenceController extends TogglePreferenceControll
: UNSUPPORTED_ON_DEVICE; : UNSUPPORTED_ON_DEVICE;
} }
@Override
public void updateState(Preference preference) {
super.updateState(preference);
PrimarySwitchPreference pref = (PrimarySwitchPreference) preference;
if (pref.isEnabled() && UserManager.get(mContext).hasBaseUserRestriction(
UserManager.DISALLOW_CONFIG_BRIGHTNESS, Process.myUserHandle())) {
pref.setEnabled(false);
pref.setSwitchEnabled(false);
}
}
@Override @Override
public CharSequence getSummary() { public CharSequence getSummary() {
return mContext.getText(isChecked() return mContext.getText(isChecked()