Showing the notification icon properly now when the pulse is suppressed

Previously the notification would be hidden so if the user would pull
out the phone from the pocket, they might not see what notification
actually alerted.

Bug: 138336424
Test: add notification while on AOD, block prox sensor, see icon
Change-Id: I101640c9d0226948e44a4bf36a7ca91dd135fe66
Merged-In: I8f7bd7a6a0562942ed3e12f28705043722d177e8
(cherry picked from commit 15803b51e3)
This commit is contained in:
Selim Cinek
2019-07-25 20:41:29 -07:00
committed by android-build-team Robot
parent 6597f16fcb
commit 65dd52bb2b
3 changed files with 8 additions and 5 deletions

View File

@@ -512,7 +512,7 @@ public class NotificationShelf extends ActivatableNotificationView implements
float viewEnd = row.getTranslationY() + row.getActualHeight();
boolean isPinned = (row.isPinned() || row.isHeadsUpAnimatingAway())
&& !mAmbientState.isDozingAndNotPulsing(row);
boolean shouldClipOwnTop = row.showingAmbientPulsing()
boolean shouldClipOwnTop = row.showingAmbientPulsing() && !mAmbientState.isFullyDark()
|| (mAmbientState.isPulseExpanding() && childIndex == 0);
if (viewEnd > notificationClipEnd && !shouldClipOwnTop
&& (mAmbientState.isShadeExpanded() || !isPinned)) {
@@ -752,8 +752,9 @@ public class NotificationShelf extends ActivatableNotificationView implements
iconState.scaleY = 1.0f;
iconState.hidden = false;
}
if (row.isAboveShelf() || (!row.isInShelf() && (isLastChild && row.areGutsExposed()
|| row.getTranslationZ() > mAmbientState.getBaseZHeight()))) {
if ((row.isAboveShelf() || (!row.isInShelf() && (isLastChild && row.areGutsExposed()
|| row.getTranslationZ() > mAmbientState.getBaseZHeight())))
&& !mAmbientState.isFullyDark()) {
iconState.hidden = true;
}
int backgroundColor = getBackgroundColorWithoutTint();

View File

@@ -1355,7 +1355,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
mIsClipped = clipped;
}
if (!mAmbientPulseManager.hasNotifications() && mAmbientState.isFullyDark()) {
if (!mPulsing && mAmbientState.isFullyDark()) {
setClipBounds(null);
} else if (mAmbientState.isDarkAtAll()) {
clipToOutline = true;
@@ -5169,6 +5169,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
return;
}
mPulsing = pulsing;
updateClipping();
mAmbientState.setPulsing(pulsing);
mSwipeHelper.setPulsing(pulsing);
updateNotificationAnimationStates();

View File

@@ -501,7 +501,8 @@ public class StackScrollAlgorithm {
continue;
}
ExpandableNotificationRow row = (ExpandableNotificationRow) child;
if (!row.showingAmbientPulsing() || (i == 0 && ambientState.isPulseExpanding())) {
if (!row.showingAmbientPulsing() || ambientState.isFullyDark()
|| (i == 0 && ambientState.isPulseExpanding())) {
continue;
}
ExpandableViewState viewState = row.getViewState();