diff options
2 files changed, 15 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java index 9ec56095b393..06f3c508585a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java @@ -36,7 +36,7 @@ import java.util.function.Consumer; /** * Controls the appearance of heads up notifications in the icon area and the header itself. */ -class HeadsUpAppearanceController implements OnHeadsUpChangedListener, +public class HeadsUpAppearanceController implements OnHeadsUpChangedListener, DarkIconDispatcher.DarkReceiver { public static final int CONTENT_FADE_DURATION = 110; public static final int CONTENT_FADE_DELAY = 100; @@ -92,6 +92,7 @@ class HeadsUpAppearanceController implements OnHeadsUpChangedListener, panelView.setHeadsUpAppearanceController(this); mStackScroller.addOnExpandedHeightListener(mSetExpandedHeight); mStackScroller.addOnLayoutChangeListener(mStackScrollLayoutChangeListener); + mStackScroller.setHeadsUpAppearanceController(this); mClockView = clockView; mDarkIconDispatcher = Dependency.get(DarkIconDispatcher.class); mDarkIconDispatcher.addDarkReceiver(this); @@ -226,10 +227,10 @@ class HeadsUpAppearanceController implements OnHeadsUpChangedListener, }); } - private void updateHeader(NotificationData.Entry entry) { + public void updateHeader(NotificationData.Entry entry) { ExpandableNotificationRow row = entry.row; float headerVisibleAmount = 1.0f; - if (row.isPinned() || row == mTrackedChild) { + if (row.isPinned() || row.isHeadsUpAnimatingAway() || row == mTrackedChild) { headerVisibleAmount = mExpandFraction; } row.setHeaderVisibleAmount(headerVisibleAmount); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index e424700ea25b..eb1efd76a5c2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -98,6 +98,7 @@ import com.android.systemui.statusbar.notification.FakeShadowView; import com.android.systemui.statusbar.notification.NotificationUtils; import com.android.systemui.statusbar.notification.VisibilityLocationProvider; import com.android.systemui.statusbar.phone.DozeParameters; +import com.android.systemui.statusbar.phone.HeadsUpAppearanceController; import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.ScrimController; @@ -413,6 +414,7 @@ public class NotificationStackScrollLayout extends ViewGroup private int mAntiBurnInOffsetX; private ArrayList<BiConsumer<Float, Float>> mExpandedHeightListeners = new ArrayList<>(); private int mHeadsUpInset; + private HeadsUpAppearanceController mHeadsUpAppearanceController; public NotificationStackScrollLayout(Context context) { this(context, null); @@ -3079,8 +3081,10 @@ public class NotificationStackScrollLayout extends ViewGroup @Override public void bindRow(ExpandableNotificationRow row) { - row.setHeadsUpAnimatingAwayListener(animatingAway - -> mRoundnessManager.onHeadsupAnimatingAwayChanged(row, animatingAway)); + row.setHeadsUpAnimatingAwayListener(animatingAway -> { + mRoundnessManager.onHeadsupAnimatingAwayChanged(row, animatingAway); + mHeadsUpAppearanceController.updateHeader(row.getEntry()); + }); } @Override @@ -4635,6 +4639,11 @@ public class NotificationStackScrollLayout extends ViewGroup mExpandedHeightListeners.remove(listener); } + public void setHeadsUpAppearanceController( + HeadsUpAppearanceController headsUpAppearanceController) { + mHeadsUpAppearanceController = headsUpAppearanceController; + } + /** * A listener that is notified when the empty space below the notifications is clicked on */ |