summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java42
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt6
3 files changed, 12 insertions, 38 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
index 408293cffd99..815b86e0adb8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
@@ -805,7 +805,7 @@ public class NotificationShelf extends ActivatableNotificationView implements
iconState.hidden = isAppearing
|| (view instanceof ExpandableNotificationRow
&& ((ExpandableNotificationRow) view).isLowPriority()
- && mShelfIcons.hasMaxNumDot())
+ && mShelfIcons.areIconsOverflowing())
|| (transitionAmount == 0.0f && !iconState.isAnimating(icon))
|| row.isAboveShelf()
|| row.showingPulsing()
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java
index c189acec2930..4ee2de11abdf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java
@@ -141,7 +141,6 @@ public class NotificationIconContainer extends ViewGroup {
/* Maximum number of icons in short shelf on lockscreen when also showing overflow dot. */
public static final int MAX_ICONS_ON_LOCKSCREEN = 3;
public static final int MAX_STATIC_ICONS = 4;
- private static final int MAX_DOTS = 1;
private boolean mIsStaticLayout = true;
private final HashMap<View, IconState> mIconStates = new HashMap<>();
@@ -166,8 +165,7 @@ public class NotificationIconContainer extends ViewGroup {
private IconState mLastVisibleIconState;
private IconState mFirstVisibleIconState;
private float mVisualOverflowStart;
- // Keep track of overflow in range [0, 3]
- private int mNumDots;
+ private boolean mIsShowingOverflowDot;
private StatusBarIconView mIsolatedIcon;
private Rect mIsolatedIconLocation;
private int[] mAbsolutePosition = new int[2];
@@ -387,8 +385,8 @@ public class NotificationIconContainer extends ViewGroup {
}
}
- public boolean hasMaxNumDot() {
- return mNumDots >= MAX_DOTS;
+ public boolean areIconsOverflowing() {
+ return mIsShowingOverflowDot;
}
private boolean areAnimationsEnabled(StatusBarIconView icon) {
@@ -494,7 +492,7 @@ public class NotificationIconContainer extends ViewGroup {
: 1f;
translationX += iconState.iconAppearAmount * view.getWidth() * drawingScale;
}
- mNumDots = 0;
+ mIsShowingOverflowDot = false;
if (firstOverflowIndex != -1) {
translationX = mVisualOverflowStart;
for (int i = firstOverflowIndex; i < childCount; i++) {
@@ -502,15 +500,14 @@ public class NotificationIconContainer extends ViewGroup {
IconState iconState = mIconStates.get(view);
int dotWidth = mStaticDotDiameter + mDotPadding;
iconState.setXTranslation(translationX);
- if (mNumDots < MAX_DOTS) {
- if (mNumDots == 0 && iconState.iconAppearAmount < 0.8f) {
+ if (!mIsShowingOverflowDot) {
+ if (iconState.iconAppearAmount < 0.8f) {
iconState.visibleState = StatusBarIconView.STATE_ICON;
} else {
iconState.visibleState = StatusBarIconView.STATE_DOT;
- mNumDots++;
+ mIsShowingOverflowDot = true;
}
- translationX += (mNumDots == MAX_DOTS ? MAX_DOTS * dotWidth : dotWidth)
- * iconState.iconAppearAmount;
+ translationX += dotWidth * iconState.iconAppearAmount;
mLastVisibleIconState = iconState;
} else {
iconState.visibleState = StatusBarIconView.STATE_HIDDEN;
@@ -618,10 +615,6 @@ public class NotificationIconContainer extends ViewGroup {
return Math.min(getWidth(), translation);
}
- private float getMaxOverflowStart() {
- return getLayoutEnd() - mIconSize;
- }
-
public void setChangingViewPositions(boolean changingViewPositions) {
mChangingViewPositions = changingViewPositions;
}
@@ -645,25 +638,6 @@ public class NotificationIconContainer extends ViewGroup {
mSpeedBumpIndex = speedBumpIndex;
}
- public boolean hasOverflow() {
- return mNumDots > 0;
- }
-
- // Give some extra room for btw notifications if we can
- public int getNoOverflowExtraPadding() {
- if (mNumDots != 0) {
- return 0;
- }
-
- int collapsedPadding = mIconSize;
-
- if (collapsedPadding + getFinalTranslationX() > getWidth()) {
- collapsedPadding = getWidth() - getFinalTranslationX();
- }
-
- return collapsedPadding;
- }
-
public int getIconSize() {
return mIconSize;
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt
index 086e5df50f3f..b80b825d87dc 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt
@@ -92,7 +92,7 @@ class NotificationIconContainerTest : SysuiTestCase() {
iconContainer.calculateIconXTranslations()
assertEquals(10f, iconState.xTranslation)
- assertFalse(iconContainer.hasOverflow())
+ assertFalse(iconContainer.areIconsOverflowing())
}
@Test
@@ -121,7 +121,7 @@ class NotificationIconContainerTest : SysuiTestCase() {
assertEquals(30f, iconContainer.getIconState(iconThree).xTranslation)
assertEquals(40f, iconContainer.getIconState(iconFour).xTranslation)
- assertFalse(iconContainer.hasOverflow())
+ assertFalse(iconContainer.areIconsOverflowing())
}
@Test
@@ -150,7 +150,7 @@ class NotificationIconContainerTest : SysuiTestCase() {
assertEquals(10f, iconContainer.getIconState(iconOne).xTranslation)
assertEquals(20f, iconContainer.getIconState(iconTwo).xTranslation)
assertEquals(30f, iconContainer.getIconState(iconThree).xTranslation)
- assertTrue(iconContainer.hasOverflow())
+ assertTrue(iconContainer.areIconsOverflowing())
}
@Test