Loading packages/SystemUI/res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -507,6 +507,8 @@ <!-- 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. TODO: See if we can rename this config variable. --> <string-array name="config_statusBarIconBlackList" translatable="false"> <item>@*android:string/status_bar_rotate</item> Loading packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +3 −3 Original line number Diff line number Diff line Loading @@ -234,7 +234,7 @@ public class BatteryMeterView extends LinearLayout implements } Dependency.get(TunerService.class) .addTunable(this, StatusBarIconController.ICON_BLACKLIST); .addTunable(this, StatusBarIconController.ICON_HIDE_LIST); mIsSubscribedForTunerUpdates = true; } Loading Loading @@ -287,8 +287,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( if (StatusBarIconController.ICON_HIDE_LIST.equals(key)) { ArraySet<String> icons = StatusBarIconController.getIconHideList( getContext(), newValue); setVisibility(icons.contains(mSlotBattery) ? View.GONE : View.VISIBLE); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +7 −6 Original line number Diff line number Diff line Loading @@ -83,15 +83,16 @@ public interface StatusBarIconController { public void removeIcon(String slot, int tag); public void removeAllIconsForSlot(String slot); public static final String ICON_BLACKLIST = "icon_blacklist"; // TODO: See if we can rename this tunable name. String ICON_HIDE_LIST = "icon_blacklist"; /** Reads the default blacklist from config value unless blacklistStr is provided. */ static ArraySet<String> getIconBlacklist(Context context, String blackListStr) { /** Reads the default hide list from config value unless hideListStr is provided. */ static ArraySet<String> getIconHideList(Context context, String hideListStr) { ArraySet<String> ret = new ArraySet<>(); String[] blacklist = blackListStr == null String[] hideList = hideListStr == null ? context.getResources().getStringArray(R.array.config_statusBarIconBlackList) : blackListStr.split(","); for (String slot : blacklist) { : hideListStr.split(","); for (String slot : hideList) { if (!TextUtils.isEmpty(slot)) { ret.add(slot); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java +9 −9 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu private static final String TAG = "StatusBarIconController"; private final ArrayList<IconManager> mIconGroups = new ArrayList<>(); private final ArraySet<String> mIconBlacklist = new ArraySet<>(); private final ArraySet<String> mIconHideList = new ArraySet<>(); // Points to light or dark context depending on the... context? private Context mContext; Loading @@ -79,7 +79,7 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu loadDimens(); commandQueue.addCallback(this); Dependency.get(TunerService.class).addTunable(this, ICON_BLACKLIST); Dependency.get(TunerService.class).addTunable(this, ICON_HIDE_LIST); } @Override Loading @@ -89,12 +89,12 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu for (int i = 0; i < allSlots.size(); i++) { Slot slot = allSlots.get(i); List<StatusBarIconHolder> holders = slot.getHolderListInViewOrder(); boolean blocked = mIconBlacklist.contains(slot.getName()); boolean hidden = mIconHideList.contains(slot.getName()); for (StatusBarIconHolder holder : holders) { int tag = holder.getTag(); int viewIndex = getViewIndex(getSlotIndex(slot.getName()), holder.getTag()); group.onIconAdded(viewIndex, slot.getName(), blocked, holder); group.onIconAdded(viewIndex, slot.getName(), hidden, holder); } } } Loading @@ -107,11 +107,11 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu @Override public void onTuningChanged(String key, String newValue) { if (!ICON_BLACKLIST.equals(key)) { if (!ICON_HIDE_LIST.equals(key)) { return; } mIconBlacklist.clear(); mIconBlacklist.addAll(StatusBarIconController.getIconBlacklist(mContext, newValue)); mIconHideList.clear(); mIconHideList.addAll(StatusBarIconController.getIconHideList(mContext, newValue)); ArrayList<Slot> currentSlots = getSlots(); ArrayMap<Slot, List<StatusBarIconHolder>> slotsToReAdd = new ArrayMap<>(); Loading Loading @@ -142,9 +142,9 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu private void addSystemIcon(int index, StatusBarIconHolder holder) { String slot = getSlotName(index); int viewIndex = getViewIndex(index, holder.getTag()); boolean blocked = mIconBlacklist.contains(slot); boolean hidden = mIconHideList.contains(slot); mIconGroups.forEach(l -> l.onIconAdded(viewIndex, slot, blocked, holder)); mIconGroups.forEach(l -> l.onIconAdded(viewIndex, slot, hidden, holder)); } @Override Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java +23 −23 Original line number Diff line number Diff line Loading @@ -52,12 +52,12 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba private final SecurityController mSecurityController; private final Handler mHandler = Handler.getMain(); private boolean mBlockAirplane; private boolean mBlockMobile; private boolean mBlockWifi; private boolean mBlockEthernet; private boolean mHideAirplane; private boolean mHideMobile; private boolean mHideWifi; private boolean mHideEthernet; private boolean mActivityEnabled; private boolean mForceBlockWifi; private boolean mForceHideWifi; // Track as little state as possible, and only for padding purposes private boolean mIsAirplaneMode = false; Loading @@ -80,7 +80,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba mNetworkController = Dependency.get(NetworkController.class); mSecurityController = Dependency.get(SecurityController.class); Dependency.get(TunerService.class).addTunable(this, StatusBarIconController.ICON_BLACKLIST); Dependency.get(TunerService.class).addTunable(this, StatusBarIconController.ICON_HIDE_LIST); mNetworkController.addCallback(this); mSecurityController.addCallback(this); } Loading Loading @@ -114,21 +114,21 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba @Override public void onTuningChanged(String key, String newValue) { if (!StatusBarIconController.ICON_BLACKLIST.equals(key)) { if (!StatusBarIconController.ICON_HIDE_LIST.equals(key)) { return; } ArraySet<String> blockList = StatusBarIconController.getIconBlacklist(mContext, newValue); boolean blockAirplane = blockList.contains(mSlotAirplane); boolean blockMobile = blockList.contains(mSlotMobile); boolean blockWifi = blockList.contains(mSlotWifi); boolean blockEthernet = blockList.contains(mSlotEthernet); if (blockAirplane != mBlockAirplane || blockMobile != mBlockMobile || blockEthernet != mBlockEthernet || blockWifi != mBlockWifi) { mBlockAirplane = blockAirplane; mBlockMobile = blockMobile; mBlockEthernet = blockEthernet; mBlockWifi = blockWifi || mForceBlockWifi; ArraySet<String> hideList = StatusBarIconController.getIconHideList(mContext, newValue); boolean hideAirplane = hideList.contains(mSlotAirplane); boolean hideMobile = hideList.contains(mSlotMobile); boolean hideWifi = hideList.contains(mSlotWifi); boolean hideEthernet = hideList.contains(mSlotEthernet); if (hideAirplane != mHideAirplane || hideMobile != mHideMobile || hideEthernet != mHideEthernet || hideWifi != mHideWifi) { mHideAirplane = hideAirplane; mHideMobile = hideMobile; mHideEthernet = hideEthernet; mHideWifi = hideWifi || mForceHideWifi; // Re-register to get new callbacks. mNetworkController.removeCallback(this); mNetworkController.addCallback(this); Loading @@ -140,7 +140,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba boolean activityIn, boolean activityOut, String description, boolean isTransient, String statusLabel) { boolean visible = statusIcon.visible && !mBlockWifi; boolean visible = statusIcon.visible && !mHideWifi; boolean in = activityIn && mActivityEnabled && visible; boolean out = activityOut && mActivityEnabled && visible; Loading Loading @@ -189,7 +189,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba // Visibility of the data type indicator changed boolean typeChanged = statusType != state.typeId && (statusType == 0 || state.typeId == 0); state.visible = statusIcon.visible && !mBlockMobile; state.visible = statusIcon.visible && !mHideMobile; state.strengthId = statusIcon.icon; state.typeId = statusType; state.contentDescription = statusIcon.contentDescription; Loading Loading @@ -270,7 +270,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba @Override public void setEthernetIndicators(IconState state) { boolean visible = state.visible && !mBlockEthernet; boolean visible = state.visible && !mHideEthernet; int resId = state.icon; String description = state.contentDescription; Loading @@ -284,7 +284,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba @Override public void setIsAirplaneMode(IconState icon) { mIsAirplaneMode = icon.visible && !mBlockAirplane; mIsAirplaneMode = icon.visible && !mHideAirplane; int resId = icon.icon; String description = icon.contentDescription; Loading Loading
packages/SystemUI/res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -507,6 +507,8 @@ <!-- 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. TODO: See if we can rename this config variable. --> <string-array name="config_statusBarIconBlackList" translatable="false"> <item>@*android:string/status_bar_rotate</item> Loading
packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +3 −3 Original line number Diff line number Diff line Loading @@ -234,7 +234,7 @@ public class BatteryMeterView extends LinearLayout implements } Dependency.get(TunerService.class) .addTunable(this, StatusBarIconController.ICON_BLACKLIST); .addTunable(this, StatusBarIconController.ICON_HIDE_LIST); mIsSubscribedForTunerUpdates = true; } Loading Loading @@ -287,8 +287,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( if (StatusBarIconController.ICON_HIDE_LIST.equals(key)) { ArraySet<String> icons = StatusBarIconController.getIconHideList( getContext(), newValue); setVisibility(icons.contains(mSlotBattery) ? View.GONE : View.VISIBLE); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +7 −6 Original line number Diff line number Diff line Loading @@ -83,15 +83,16 @@ public interface StatusBarIconController { public void removeIcon(String slot, int tag); public void removeAllIconsForSlot(String slot); public static final String ICON_BLACKLIST = "icon_blacklist"; // TODO: See if we can rename this tunable name. String ICON_HIDE_LIST = "icon_blacklist"; /** Reads the default blacklist from config value unless blacklistStr is provided. */ static ArraySet<String> getIconBlacklist(Context context, String blackListStr) { /** Reads the default hide list from config value unless hideListStr is provided. */ static ArraySet<String> getIconHideList(Context context, String hideListStr) { ArraySet<String> ret = new ArraySet<>(); String[] blacklist = blackListStr == null String[] hideList = hideListStr == null ? context.getResources().getStringArray(R.array.config_statusBarIconBlackList) : blackListStr.split(","); for (String slot : blacklist) { : hideListStr.split(","); for (String slot : hideList) { if (!TextUtils.isEmpty(slot)) { ret.add(slot); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java +9 −9 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu private static final String TAG = "StatusBarIconController"; private final ArrayList<IconManager> mIconGroups = new ArrayList<>(); private final ArraySet<String> mIconBlacklist = new ArraySet<>(); private final ArraySet<String> mIconHideList = new ArraySet<>(); // Points to light or dark context depending on the... context? private Context mContext; Loading @@ -79,7 +79,7 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu loadDimens(); commandQueue.addCallback(this); Dependency.get(TunerService.class).addTunable(this, ICON_BLACKLIST); Dependency.get(TunerService.class).addTunable(this, ICON_HIDE_LIST); } @Override Loading @@ -89,12 +89,12 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu for (int i = 0; i < allSlots.size(); i++) { Slot slot = allSlots.get(i); List<StatusBarIconHolder> holders = slot.getHolderListInViewOrder(); boolean blocked = mIconBlacklist.contains(slot.getName()); boolean hidden = mIconHideList.contains(slot.getName()); for (StatusBarIconHolder holder : holders) { int tag = holder.getTag(); int viewIndex = getViewIndex(getSlotIndex(slot.getName()), holder.getTag()); group.onIconAdded(viewIndex, slot.getName(), blocked, holder); group.onIconAdded(viewIndex, slot.getName(), hidden, holder); } } } Loading @@ -107,11 +107,11 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu @Override public void onTuningChanged(String key, String newValue) { if (!ICON_BLACKLIST.equals(key)) { if (!ICON_HIDE_LIST.equals(key)) { return; } mIconBlacklist.clear(); mIconBlacklist.addAll(StatusBarIconController.getIconBlacklist(mContext, newValue)); mIconHideList.clear(); mIconHideList.addAll(StatusBarIconController.getIconHideList(mContext, newValue)); ArrayList<Slot> currentSlots = getSlots(); ArrayMap<Slot, List<StatusBarIconHolder>> slotsToReAdd = new ArrayMap<>(); Loading Loading @@ -142,9 +142,9 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu private void addSystemIcon(int index, StatusBarIconHolder holder) { String slot = getSlotName(index); int viewIndex = getViewIndex(index, holder.getTag()); boolean blocked = mIconBlacklist.contains(slot); boolean hidden = mIconHideList.contains(slot); mIconGroups.forEach(l -> l.onIconAdded(viewIndex, slot, blocked, holder)); mIconGroups.forEach(l -> l.onIconAdded(viewIndex, slot, hidden, holder)); } @Override Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java +23 −23 Original line number Diff line number Diff line Loading @@ -52,12 +52,12 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba private final SecurityController mSecurityController; private final Handler mHandler = Handler.getMain(); private boolean mBlockAirplane; private boolean mBlockMobile; private boolean mBlockWifi; private boolean mBlockEthernet; private boolean mHideAirplane; private boolean mHideMobile; private boolean mHideWifi; private boolean mHideEthernet; private boolean mActivityEnabled; private boolean mForceBlockWifi; private boolean mForceHideWifi; // Track as little state as possible, and only for padding purposes private boolean mIsAirplaneMode = false; Loading @@ -80,7 +80,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba mNetworkController = Dependency.get(NetworkController.class); mSecurityController = Dependency.get(SecurityController.class); Dependency.get(TunerService.class).addTunable(this, StatusBarIconController.ICON_BLACKLIST); Dependency.get(TunerService.class).addTunable(this, StatusBarIconController.ICON_HIDE_LIST); mNetworkController.addCallback(this); mSecurityController.addCallback(this); } Loading Loading @@ -114,21 +114,21 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba @Override public void onTuningChanged(String key, String newValue) { if (!StatusBarIconController.ICON_BLACKLIST.equals(key)) { if (!StatusBarIconController.ICON_HIDE_LIST.equals(key)) { return; } ArraySet<String> blockList = StatusBarIconController.getIconBlacklist(mContext, newValue); boolean blockAirplane = blockList.contains(mSlotAirplane); boolean blockMobile = blockList.contains(mSlotMobile); boolean blockWifi = blockList.contains(mSlotWifi); boolean blockEthernet = blockList.contains(mSlotEthernet); if (blockAirplane != mBlockAirplane || blockMobile != mBlockMobile || blockEthernet != mBlockEthernet || blockWifi != mBlockWifi) { mBlockAirplane = blockAirplane; mBlockMobile = blockMobile; mBlockEthernet = blockEthernet; mBlockWifi = blockWifi || mForceBlockWifi; ArraySet<String> hideList = StatusBarIconController.getIconHideList(mContext, newValue); boolean hideAirplane = hideList.contains(mSlotAirplane); boolean hideMobile = hideList.contains(mSlotMobile); boolean hideWifi = hideList.contains(mSlotWifi); boolean hideEthernet = hideList.contains(mSlotEthernet); if (hideAirplane != mHideAirplane || hideMobile != mHideMobile || hideEthernet != mHideEthernet || hideWifi != mHideWifi) { mHideAirplane = hideAirplane; mHideMobile = hideMobile; mHideEthernet = hideEthernet; mHideWifi = hideWifi || mForceHideWifi; // Re-register to get new callbacks. mNetworkController.removeCallback(this); mNetworkController.addCallback(this); Loading @@ -140,7 +140,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba boolean activityIn, boolean activityOut, String description, boolean isTransient, String statusLabel) { boolean visible = statusIcon.visible && !mBlockWifi; boolean visible = statusIcon.visible && !mHideWifi; boolean in = activityIn && mActivityEnabled && visible; boolean out = activityOut && mActivityEnabled && visible; Loading Loading @@ -189,7 +189,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba // Visibility of the data type indicator changed boolean typeChanged = statusType != state.typeId && (statusType == 0 || state.typeId == 0); state.visible = statusIcon.visible && !mBlockMobile; state.visible = statusIcon.visible && !mHideMobile; state.strengthId = statusIcon.icon; state.typeId = statusType; state.contentDescription = statusIcon.contentDescription; Loading Loading @@ -270,7 +270,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba @Override public void setEthernetIndicators(IconState state) { boolean visible = state.visible && !mBlockEthernet; boolean visible = state.visible && !mHideEthernet; int resId = state.icon; String description = state.contentDescription; Loading @@ -284,7 +284,7 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba @Override public void setIsAirplaneMode(IconState icon) { mIsAirplaneMode = icon.visible && !mBlockAirplane; mIsAirplaneMode = icon.visible && !mHideAirplane; int resId = icon.icon; String description = icon.contentDescription; Loading