summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanel.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/settings/ToggleSeekBar.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/settings/ToggleSliderView.java7
4 files changed, 39 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 8f41084b2b2c..310e12e7945b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -317,6 +317,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
}
public void refreshAllTiles() {
+ mBrightnessController.checkRestrictionAndSetEnabled();
for (TileRecord r : mRecords) {
r.tile.refreshState();
}
diff --git a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java
index 3db30fcbbe6b..15e92f48890f 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java
+++ b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java
@@ -31,6 +31,7 @@ import android.os.PowerManager;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
+import android.os.UserManager;
import android.provider.Settings;
import android.service.vr.IVrManager;
import android.service.vr.IVrStateCallbacks;
@@ -39,6 +40,7 @@ import android.widget.ImageView;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settingslib.RestrictedLockUtils;
import com.android.systemui.Dependency;
import java.util.ArrayList;
@@ -384,6 +386,18 @@ public class BrightnessController implements ToggleSlider.Listener {
}
}
+ public void checkRestrictionAndSetEnabled() {
+ mBackgroundHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ ((ToggleSliderView)mControl).setEnforcedAdmin(
+ RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
+ UserManager.DISALLOW_CONFIG_BRIGHTNESS,
+ mUserTracker.getCurrentUserId()));
+ }
+ });
+ }
+
private void setMode(int mode) {
Settings.System.putIntForUser(mContext.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE, mode,
diff --git a/packages/SystemUI/src/com/android/systemui/settings/ToggleSeekBar.java b/packages/SystemUI/src/com/android/systemui/settings/ToggleSeekBar.java
index 722aba591ea8..8ed4c75e8673 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/ToggleSeekBar.java
+++ b/packages/SystemUI/src/com/android/systemui/settings/ToggleSeekBar.java
@@ -17,14 +17,21 @@
package com.android.systemui.settings;
import android.content.Context;
+import android.content.Intent;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.SeekBar;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.systemui.Dependency;
+import com.android.systemui.plugins.ActivityStarter;
+
public class ToggleSeekBar extends SeekBar {
private String mAccessibilityLabel;
+ private RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin = null;
+
public ToggleSeekBar(Context context) {
super(context);
}
@@ -39,6 +46,12 @@ public class ToggleSeekBar extends SeekBar {
@Override
public boolean onTouchEvent(MotionEvent event) {
+ if (mEnforcedAdmin != null) {
+ Intent intent = RestrictedLockUtils.getShowAdminSupportDetailsIntent(
+ mContext, mEnforcedAdmin);
+ Dependency.get(ActivityStarter.class).postStartActivityDismissingKeyguard(intent, 0);
+ return true;
+ }
if (!isEnabled()) {
setEnabled(true);
}
@@ -57,4 +70,8 @@ public class ToggleSeekBar extends SeekBar {
info.setText(mAccessibilityLabel);
}
}
+
+ public void setEnforcedAdmin(RestrictedLockUtils.EnforcedAdmin admin) {
+ mEnforcedAdmin = admin;
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/settings/ToggleSliderView.java b/packages/SystemUI/src/com/android/systemui/settings/ToggleSliderView.java
index 07b9ec27629f..90744a62677d 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/ToggleSliderView.java
+++ b/packages/SystemUI/src/com/android/systemui/settings/ToggleSliderView.java
@@ -29,6 +29,7 @@ import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
+import com.android.settingslib.RestrictedLockUtils;
import com.android.systemui.R;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
@@ -95,6 +96,12 @@ public class ToggleSliderView extends RelativeLayout implements ToggleSlider {
}
}
+ public void setEnforcedAdmin(RestrictedLockUtils.EnforcedAdmin admin) {
+ mToggle.setEnabled(admin == null);
+ mSlider.setEnabled(admin == null);
+ mSlider.setEnforcedAdmin(admin);
+ }
+
public void setOnChangedListener(Listener l) {
mListener = l;
}