diff options
| author | 2020-01-17 18:20:54 +0000 | |
|---|---|---|
| committer | 2020-01-17 18:20:54 +0000 | |
| commit | 452f8d67a17c559c7e7c70f90fe21b0e77b076e0 (patch) | |
| tree | 0de2ed50c0570af7e4a2f52b97929d53c867449d | |
| parent | 90c420f6e4c7a557519143bbcf68f216faeb39ae (diff) | |
| parent | e8df04cc1121b8d2477040be640662ef21b5e5dc (diff) | |
Merge "Updated StatusBarIconController and StatusBarSignalPolicy to check icon blacklist from config value, config_statusBarIconBlacklist."
10 files changed, 23 insertions, 13 deletions
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 896315725644..e52010600ab3 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -484,4 +484,13 @@ <!-- Package name for controls plugin --> <string name="config_controlsPluginPackageName" translatable="false">com.android.systemui.controls.panel</string> + <!-- Defines the blacklist for system icons. That is to say, the icons in the status bar that + are part of the blacklist are never displayed. Each item in the blacklist must be a string + defined in core/res/res/config.xml to properly blacklist the icon. + --> + <string-array name="config_statusBarIconBlackList" translatable="false"> + <item>@*android:string/status_bar_rotate</item> + <item>@*android:string/status_bar_headset</item> + </string-array> + </resources> diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index d68fe15844c1..a46ab3a9e35b 100644 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -288,7 +288,8 @@ public class BatteryMeterView extends LinearLayout implements @Override public void onTuningChanged(String key, String newValue) { if (StatusBarIconController.ICON_BLACKLIST.equals(key)) { - ArraySet<String> icons = StatusBarIconController.getIconBlacklist(newValue); + ArraySet<String> icons = StatusBarIconController.getIconBlacklist( + getContext(), newValue); setVisibility(icons.contains(mSlotBattery) ? View.GONE : View.VISIBLE); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java index 5daef24cbad2..75da5d123972 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java @@ -76,12 +76,12 @@ public interface StatusBarIconController { public static final String ICON_BLACKLIST = "icon_blacklist"; - public static ArraySet<String> getIconBlacklist(String blackListStr) { + /** Reads the default blacklist from config value unless blacklistStr is provided. */ + static ArraySet<String> getIconBlacklist(Context context, String blackListStr) { ArraySet<String> ret = new ArraySet<>(); - if (blackListStr == null) { - blackListStr = "rotate,headset"; - } - String[] blacklist = blackListStr.split(","); + String[] blacklist = blackListStr == null + ? context.getResources().getStringArray(R.array.config_statusBarIconBlackList) + : blackListStr.split(","); for (String slot : blacklist) { if (!TextUtils.isEmpty(slot)) { ret.add(slot); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java index aa062eb2e051..bfcbceaef9af 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java @@ -111,7 +111,7 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu return; } mIconBlacklist.clear(); - mIconBlacklist.addAll(StatusBarIconController.getIconBlacklist(newValue)); + mIconBlacklist.addAll(StatusBarIconController.getIconBlacklist(mContext, newValue)); ArrayList<Slot> currentSlots = getSlots(); ArrayMap<Slot, List<StatusBarIconHolder>> slotsToReAdd = new ArrayMap<>(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java index 8286d26e9999..d2e92629ed78 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java @@ -117,7 +117,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba if (!StatusBarIconController.ICON_BLACKLIST.equals(key)) { return; } - ArraySet<String> blockList = StatusBarIconController.getIconBlacklist(newValue); + ArraySet<String> blockList = StatusBarIconController.getIconBlacklist(mContext, newValue); boolean blockAirplane = blockList.contains(mSlotAirplane); boolean blockMobile = blockList.contains(mSlotMobile); boolean blockWifi = blockList.contains(mSlotWifi); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java index 4f0af9e166c9..759bad4f77b7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java @@ -298,7 +298,7 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C mShowSeconds = TunerService.parseIntegerSwitch(newValue, false); updateShowSeconds(); } else { - setClockVisibleByUser(!StatusBarIconController.getIconBlacklist(newValue) + setClockVisibleByUser(!StatusBarIconController.getIconBlacklist(getContext(), newValue) .contains("clock")); updateClockVisibility(); } diff --git a/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java index 905b9a398b68..66372c311325 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java @@ -64,7 +64,7 @@ public class BatteryPreference extends DropDownPreference implements TunerServic @Override public void onTuningChanged(String key, String newValue) { if (StatusBarIconController.ICON_BLACKLIST.equals(key)) { - mBlacklist = StatusBarIconController.getIconBlacklist(newValue); + mBlacklist = StatusBarIconController.getIconBlacklist(getContext(), newValue); mBatteryEnabled = !mBlacklist.contains(mBattery); } if (!mHasSetValue) { diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java index a526603372bd..f7d0c9fb9d86 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java @@ -61,7 +61,7 @@ public class ClockPreference extends DropDownPreference implements TunerService. public void onTuningChanged(String key, String newValue) { if (StatusBarIconController.ICON_BLACKLIST.equals(key)) { mReceivedClock = true; - mBlacklist = StatusBarIconController.getIconBlacklist(newValue); + mBlacklist = StatusBarIconController.getIconBlacklist(getContext(), newValue); mClockEnabled = !mBlacklist.contains(mClock); } else if (Clock.CLOCK_SECONDS.equals(key)) { mReceivedSeconds = true; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java index 6f23e207c048..de8ccfa848e3 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java @@ -57,7 +57,7 @@ public class StatusBarSwitch extends SwitchPreference implements Tunable { if (!StatusBarIconController.ICON_BLACKLIST.equals(key)) { return; } - mBlacklist = StatusBarIconController.getIconBlacklist(newValue); + mBlacklist = StatusBarIconController.getIconBlacklist(getContext(), newValue); setChecked(!mBlacklist.contains(getKey())); } diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java index 19f0ba24b0fd..142fdc21aff1 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java @@ -117,7 +117,7 @@ public class TunerServiceImpl extends TunerService { String blacklistStr = getValue(StatusBarIconController.ICON_BLACKLIST); if (blacklistStr != null) { ArraySet<String> iconBlacklist = - StatusBarIconController.getIconBlacklist(blacklistStr); + StatusBarIconController.getIconBlacklist(mContext, blacklistStr); iconBlacklist.add("rotate"); iconBlacklist.add("headset"); |