diff options
2 files changed, 20 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java index 4ccd0cd3353b..99682fcfccbf 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java @@ -374,6 +374,10 @@ public class NotificationShelf extends ActivatableNotificationView implements clipTransientViews(); setClipTopAmount(clipTopAmount); + boolean isHidden = getViewState().hidden || clipTopAmount >= getIntrinsicHeight(); + if (mShowNotificationShelf) { + setVisibility(isHidden ? View.INVISIBLE : View.VISIBLE); + } setBackgroundTop(backgroundTop); setFirstElementRoundness(firstElementRoundness); mShelfIcons.setSpeedBumpIndex(mAmbientState.getSpeedBumpIndex()); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java index 3e4fe20a8cab..308f297c157a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java @@ -412,6 +412,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd outline.setRoundRect(mBackgroundAnimationRect, MathUtils.lerp(mCornerRadius / 2.0f, mCornerRadius, xProgress)); + outline.setAlpha(1.0f - mAmbientState.getHideAmount()); } else { ViewOutlineProvider.BACKGROUND.getOutline(view, outline); } @@ -1044,6 +1045,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd requestChildrenUpdate(); updateFirstAndLastBackgroundViews(); updateAlgorithmLayoutMinHeight(); + updateOwnTranslationZ(); } @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER) @@ -4776,6 +4778,20 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd updateAlgorithmHeightAndPadding(); updateBackgroundDimming(); requestChildrenUpdate(); + updateOwnTranslationZ(); + } + + private void updateOwnTranslationZ() { + // Since we are clipping to the outline we need to make sure that the shadows aren't + // clipped when pulsing + float ownTranslationZ = 0; + if (mKeyguardBypassController.getBypassEnabled() && mAmbientState.isHiddenAtAll()) { + ExpandableView firstChildNotGone = getFirstChildNotGone(); + if (firstChildNotGone != null && firstChildNotGone.showingPulsing()) { + ownTranslationZ = firstChildNotGone.getTranslationZ(); + } + } + setTranslationZ(ownTranslationZ); } private void updateVisibility() { |