diff --git a/packages/SystemUI/res/values-sw600dp-port/config.xml b/packages/SystemUI/res/values-sw600dp-port/config.xml
new file mode 100644
index 0000000000000..ab7661a4b6c45
--- /dev/null
+++ b/packages/SystemUI/res/values-sw600dp-port/config.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ 3
+
+
diff --git a/packages/SystemUI/res/values-sw600dp-port/dimens.xml b/packages/SystemUI/res/values-sw600dp-port/dimens.xml
index 78dd8c4e60536..b8a6cfe49400b 100644
--- a/packages/SystemUI/res/values-sw600dp-port/dimens.xml
+++ b/packages/SystemUI/res/values-sw600dp-port/dimens.xml
@@ -1,6 +1,6 @@
- 2dp
+ 0dp
diff --git a/packages/SystemUI/res/values-sw720dp-port/dimens.xml b/packages/SystemUI/res/values-sw720dp-port/dimens.xml
new file mode 100644
index 0000000000000..74b266dc59d06
--- /dev/null
+++ b/packages/SystemUI/res/values-sw720dp-port/dimens.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ 2dp
+
+
diff --git a/packages/SystemUI/res/values-sw720dp/config.xml b/packages/SystemUI/res/values-sw720dp/config.xml
new file mode 100644
index 0000000000000..56b8e54b18f16
--- /dev/null
+++ b/packages/SystemUI/res/values-sw720dp/config.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ 5
+
+
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index bb59794c830dc..372aa3956714c 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -36,5 +36,9 @@
true
+
+ 5
+
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
index 172aaa1c33fbb..c85a8cc4b8d25 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -80,9 +80,6 @@ public class TabletStatusBar extends StatusBar implements
public static final boolean DEBUG = false;
public static final String TAG = "TabletStatusBar";
- public static final int MAX_NOTIFICATION_ICONS = 5;
- // IME switcher icon is big and occupy width of two icons
- public static final int MAX_NOTIFICATION_ICONS_IME_BUTTON_VISIBLE = MAX_NOTIFICATION_ICONS - 1;
public static final int MSG_OPEN_NOTIFICATION_PANEL = 1000;
public static final int MSG_CLOSE_NOTIFICATION_PANEL = 1001;
@@ -104,6 +101,7 @@ public class TabletStatusBar extends StatusBar implements
int mNaturalBarHeight = -1;
int mIconSize = -1;
int mIconHPadding = -1;
+ private int mMaxNotificationIcons = 5;
H mHandler = new H();
@@ -343,6 +341,13 @@ public class TabletStatusBar extends StatusBar implements
mIconSize = newIconSize;
reloadAllNotificationIcons(); // reload the tray
}
+
+ final int numIcons = res.getInteger(R.integer.config_maxNotificationIcons);
+ if (numIcons != mMaxNotificationIcons) {
+ mMaxNotificationIcons = numIcons;
+ if (DEBUG) Slog.d(TAG, "max notification icons: " + mMaxNotificationIcons);
+ reloadAllNotificationIcons();
+ }
}
protected View makeStatusBarView() {
@@ -1429,9 +1434,11 @@ public class TabletStatusBar extends StatusBar implements
// When IME button is visible, the number of notification icons should be decremented
// to fit the upper limit.
+ // IME switcher icon is big and occupy width of one icon
+ final int maxNotificationIconsImeButtonVisible = mMaxNotificationIcons - 1;
final int maxNotificationIconsCount =
(mInputMethodSwitchButton.getVisibility() != View.GONE) ?
- MAX_NOTIFICATION_ICONS_IME_BUTTON_VISIBLE : MAX_NOTIFICATION_ICONS;
+ maxNotificationIconsImeButtonVisible : mMaxNotificationIcons;
for (int i=0; i< maxNotificationIconsCount; i++) {
if (i>=N) break;
toShow.add(mNotificationData.get(N-i-1).icon);