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:
committed by
android-build-team Robot
parent
6597f16fcb
commit
65dd52bb2b
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user