QS Header Icon settings [1/2]
Adds toggles for the settings shortcut, quick tiles edit,
multiuser switch, and expand indicator
Change-Id: Ic22e7d33aa25bc838ab4f88d5977c92b2deed5bb
Modify QS header icon settings mod [1/2]
- Switched the logic so that enabling the setting disables the icon so that
all switches are disabled by default
- Also removed the Settings expanded option
Change-Id: Ie7607a49fd8f788c2d5b3d78c4ea1e3cedb44a55
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 193eea2..1b923a7 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -4062,6 +4062,30 @@
public static final String SCREENSHOT_SHUTTER_SOUND = "screenshot_shutter_sound";
/**
+ * Whether to show or hide the Settings Shortcut
+ * @hide
+ */
+ public static final String QS_SETTINGS_ICON_TOGGLE = "qs_settings_icon_toggle";
+
+ /**
+ * Whether to show or hide the edit icon
+ * @hide
+ */
+ public static final String QS_EDIT_TOGGLE = "qs_edit_toggle";
+
+ /**
+ * Whether to show or hide the multiuser switch
+ * @hide
+ */
+ public static final String QS_MULTIUSER_SWITCH_TOGGLE = "qs_multiuser_switch_toggle";
+
+ /**
+ * Whether to show or hide the expand indicator
+ * @hide
+ */
+ public static final String QS_EXPAND_INDICATOR_TOGGLE = "qs_expand_indicator_toggle";
+
+ /**
* Settings to backup. This is here so that it's in the same place as the settings
* keys and easy to update.
*
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
index 49f92a1..5ae977e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
@@ -19,12 +19,14 @@
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
+import android.content.ContentResolver;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.RippleDrawable;
import android.os.UserManager;
import android.os.UserHandle;
+import android.provider.Settings;
import android.util.AttributeSet;
import android.util.SparseBooleanArray;
import android.view.View;
@@ -102,6 +104,11 @@
private SparseBooleanArray mRoamingsBySubId = new SparseBooleanArray();
private boolean mIsRoaming;
+ private boolean hasSettingsIcon;
+ private boolean hasEdit;
+ private boolean hasExpandIndicator;
+ private boolean hasMultiUserSwitch;
+
public QuickStatusBarHeader(Context context, AttributeSet attrs) {
super(context, attrs);
}
@@ -279,9 +286,16 @@
mSettingsContainer.findViewById(R.id.tuner_icon).setVisibility(
TunerService.isTunerEnabled(mContext) ? View.VISIBLE : View.INVISIBLE);
final boolean isDemo = UserManager.isDeviceInDemoMode(mContext);
- mMultiUserSwitch.setVisibility(mExpanded && mMultiUserSwitch.hasMultipleUsers() && !isDemo
- ? View.VISIBLE : View.INVISIBLE);
- mEdit.setVisibility(isDemo || !mExpanded ? View.INVISIBLE : View.VISIBLE);
+ hasMultiUserSwitch = !isMultiUserSwitchDisabled();
+ mMultiUserSwitch.setVisibility(mExpanded && hasMultiUserSwitch && !isDemo
+ ? View.VISIBLE : View.GONE);
+ mMultiUserAvatar.setVisibility(hasMultiUserSwitch ? View.VISIBLE : View.GONE);
+ hasEdit = !isEditDisabled();
+ mEdit.setVisibility(hasEdit && !isDemo && mExpanded ? View.VISIBLE : View.GONE);
+ hasSettingsIcon = !isSettingsIconDisabled();
+ mSettingsButton.setVisibility(hasSettingsIcon ? View.VISIBLE : View.GONE);
+ hasExpandIndicator = !isExpandIndicatorDisabled();
+ mExpandIndicator.setVisibility(hasExpandIndicator ? View.VISIBLE : View.GONE);
}
private void updateDateTimePosition() {
@@ -302,7 +316,6 @@
mHost.getNetworkController().removeSignalCallback(this);
}
}
-
@Override
public void setActivityStarter(ActivityStarter activityStarter) {
mActivityStarter = activityStarter;
@@ -408,4 +421,24 @@
public void onUserInfoChanged(String name, Drawable picture) {
mMultiUserAvatar.setImageDrawable(picture);
}
+
+ public boolean isSettingsIconDisabled() {
+ return Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.QS_SETTINGS_ICON_TOGGLE, 0) == 1;
+ }
+
+ public boolean isEditDisabled() {
+ return Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.QS_EDIT_TOGGLE, 0) == 1;
+ }
+
+ public boolean isExpandIndicatorDisabled() {
+ return Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.QS_EXPAND_INDICATOR_TOGGLE, 0) == 1;
+ }
+
+ public boolean isMultiUserSwitchDisabled() {
+ return Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.QS_MULTIUSER_SWITCH_TOGGLE, 0) == 1;
+ }
}