Enforce BaseUserRestriction for DISALLOW_CONFIG_BRIGHTNESS

- For Adaptive brightness

Fix: 330855652
Test: Manual test. see b/330855652
Change-Id: Iea848c9d92abdf152d3eb827fbe1fb141f4687d7
This commit is contained in:
tomhsu
2024-03-22 11:45:44 +00:00
parent cc10abe1c2
commit 7465e27d85
2 changed files with 20 additions and 2 deletions

View File

@@ -35,7 +35,10 @@
android:key="auto_brightness_entry"
android:title="@string/auto_brightness_title"
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
android:key="even_dimmer_activated"
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 android.content.Context;
import android.os.Process;
import android.os.UserManager;
import android.provider.Settings;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.PrimarySwitchPreference;
public class AutoBrightnessPreferenceController extends TogglePreferenceController {
@@ -55,6 +59,17 @@ public class AutoBrightnessPreferenceController extends TogglePreferenceControll
: 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
public CharSequence getSummary() {
return mContext.getText(isChecked()