summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jason Monk <jmonk@google.com> 2016-07-26 13:04:50 -0400
committer Jason Monk <jmonk@google.com> 2016-07-26 13:04:50 -0400
commitc6fe61c59c5a3a6ae691256c9afdde3820e3dd9e (patch)
treea7c7ab392030e6f955af4aa7664128b4f5b205f8
parentc78bd7f01f3b4ba70df3913bbeb067932a7c3913 (diff)
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
-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 516de4603af5..34ce6d50cd25 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -3522,7 +3522,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 0c9bfab794d1..3326736097cd 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 682187926762..660672d191cb 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);
}
}