Merge "Enforce BaseUserRestriction for DISALLOW_CONFIG_BRIGHTNESS" into main
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index a59b30b..0c6d673 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -36,7 +36,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"
diff --git a/src/com/android/settings/display/AutoBrightnessPreferenceController.java b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
index d925de3..bf21183 100644
--- a/src/com/android/settings/display/AutoBrightnessPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
@@ -18,11 +18,15 @@
 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 {
 
@@ -56,6 +60,17 @@
     }
 
     @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()
                 ? R.string.auto_brightness_summary_on