summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2016-07-26 13:04:50 -0400
committergitbuildkicker <android-build@google.com>2016-08-31 22:21:07 -0700
commit086ec0f6b911567cf8445dd0e8c762e06d8caa43 (patch)
treec777705b35231beea301367f266d87a256c3d94d
parentd7789d084053d24b79705f72c9b7aae67e2408b7 (diff)
downloadbase-086ec0f6b911567cf8445dd0e8c762e06d8caa43.tar.gz
Fix double status bar icons
Don't allow the status bar icon slot list to be changed because it confuses the relationship between StatusBarIconList and StatusBarIconController. Set it in the constructor to enforce this. Change-Id: Ieeea0a9efad88179d1cccc0e5702899333de2e72 Fixes: 28524184 (cherry picked from commit c6fe61c59c5a3a6ae691256c9afdde3820e3dd9e) (cherry picked from commit 12124d7ecaf074fa1014d01934aeb24667e90cf4)
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java7
3 files changed, 4 insertions, 12 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index f7b258f62f09..323a2a56fa02 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -3442,7 +3442,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
repositionNavigationBar();
updateRowStates();
- mIconController.defineSlots();
mScreenPinningRequest.onConfigurationChanged();
mNetworkController.onConfigurationChanged();
}
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 f415ae588c4e..716a44ed0161 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
@@ -112,6 +112,8 @@ public class StatusBarIconController extends StatusBarIconList implements Tunabl
public StatusBarIconController(Context context, View statusBar, View keyguardStatusBar,
PhoneStatusBar phoneStatusBar) {
+ super(context.getResources().getStringArray(
+ com.android.internal.R.array.config_statusBarIcons));
mContext = context;
mPhoneStatusBar = phoneStatusBar;
mSystemIconArea = (LinearLayout) statusBar.findViewById(R.id.system_icon_area);
@@ -137,7 +139,6 @@ public class StatusBarIconController extends StatusBarIconList implements Tunabl
mDarkModeIconColorSingleTone = context.getColor(R.color.dark_mode_icon_color_single_tone);
mLightModeIconColorSingleTone = context.getColor(R.color.light_mode_icon_color_single_tone);
mHandler = new Handler();
- defineSlots();
loadDimens();
TunerService.get(mContext).addTunable(this, ICON_BLACKLIST);
@@ -197,11 +198,6 @@ public class StatusBarIconController extends StatusBarIconList implements Tunabl
R.dimen.status_bar_icon_padding);
}
- public void defineSlots() {
- defineSlots(mContext.getResources().getStringArray(
- com.android.internal.R.array.config_statusBarIcons));
- }
-
private void addSystemIcon(int index, StatusBarIcon icon) {
String slot = getSlot(index);
int viewIndex = getViewIndex(index);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java
index 97b31f248fa1..94adea0fcd7b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java
@@ -25,14 +25,11 @@ public class StatusBarIconList {
private ArrayList<String> mSlots = new ArrayList<>();
private ArrayList<StatusBarIcon> mIcons = new ArrayList<>();
- public void defineSlots(String[] slots) {
- mSlots.clear();
+ public StatusBarIconList(String[] slots) {
final int N = slots.length;
for (int i=0; i < N; i++) {
mSlots.add(slots[i]);
- if (mIcons.size() < mSlots.size()) {
- mIcons.add(null);
- }
+ mIcons.add(null);
}
}