Part 2 of removing shade blinking while moving heads-up notification

While touching HUN we're immediately setting some height of shade and in split shade - because QS are expanded by default - that causes QS height update as well which makes shade expanded for fraction of a second. Solution here is to not update QS height at this stage while HUN is visible but the rest of the shade should not be.

Test: Show HUN, try dragging it up or down and see no blinking of shade
Fixes: 234940017
Change-Id: I6dbaf211d15779573d89bd1bd1c87201207a5e71
This commit is contained in:
Michal Brzezinski
2022-09-12 17:32:29 +01:00
parent 8fa46d1410
commit baeac78271

View File

@@ -3128,8 +3128,17 @@ public final class NotificationPanelViewController extends PanelViewController {
positionClockAndNotifications();
}
}
if (mQsExpandImmediate || (mQsExpanded && !mQsTracking && mQsExpansionAnimator == null
&& !mQsExpansionFromOverscroll)) {
// Below is true when QS are expanded and we swipe up from the same bottom of panel to
// close the whole shade with one motion. Also this will be always true when closing
// split shade as there QS are always expanded so every collapsing motion is motion from
// expanded QS to closed panel
boolean collapsingShadeFromExpandedQs = mQsExpanded && !mQsTracking
&& mQsExpansionAnimator == null && !mQsExpansionFromOverscroll;
boolean goingBetweenClosedShadeAndExpandedQs =
mQsExpandImmediate || collapsingShadeFromExpandedQs;
// we don't want to update QS expansion when HUN is visible because then the whole shade is
// initially hidden, even though it has non-zero height
if (goingBetweenClosedShadeAndExpandedQs && !mHeadsUpManager.isTrackingHeadsUp()) {
float qsExpansionFraction;
if (mSplitShadeEnabled) {
qsExpansionFraction = 1;