Merge "Fixing mQsVisible state in split shade" into tm-qpr-dev am: a502a821ba

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21145259

Change-Id: I012edd958e45ff316913ce483834bb5961f743d1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Michał Brzeziński
2023-01-31 16:30:52 +00:00
committed by Automerger Merge Worker

View File

@@ -3151,17 +3151,11 @@ public final class NotificationPanelViewController implements Dumpable {
} }
// The padding on this area is large enough that we can use a cheaper clipping strategy // The padding on this area is large enough that we can use a cheaper clipping strategy
mKeyguardStatusViewController.setClipBounds(clipStatusView ? mLastQsClipBounds : null); mKeyguardStatusViewController.setClipBounds(clipStatusView ? mLastQsClipBounds : null);
if (!qsVisible && mSplitShadeEnabled) { // Increase the height of the notifications scrim when not in split shade
// On the lockscreen when qs isn't visible, we don't want the bounds of the shade to // (e.g. portrait tablet) so the rounded corners are not visible at the bottom,
// be visible, otherwise you can see the bounds once swiping up to see bouncer // in this case they are rendered off-screen
mScrimController.setNotificationsBounds(0, 0, 0, 0); final int notificationsScrimBottom = mSplitShadeEnabled ? bottom : bottom + radius;
} else { mScrimController.setNotificationsBounds(left, top, right, notificationsScrimBottom);
// Increase the height of the notifications scrim when not in split shade
// (e.g. portrait tablet) so the rounded corners are not visible at the bottom,
// in this case they are rendered off-screen
final int notificationsScrimBottom = mSplitShadeEnabled ? bottom : bottom + radius;
mScrimController.setNotificationsBounds(left, top, right, notificationsScrimBottom);
}
if (mSplitShadeEnabled) { if (mSplitShadeEnabled) {
mKeyguardStatusBarViewController.setNoTopClipping(); mKeyguardStatusBarViewController.setNoTopClipping();
@@ -3222,6 +3216,12 @@ public final class NotificationPanelViewController implements Dumpable {
private int calculateQsBottomPosition(float qsExpansionFraction) { private int calculateQsBottomPosition(float qsExpansionFraction) {
if (mTransitioningToFullShadeProgress > 0.0f) { if (mTransitioningToFullShadeProgress > 0.0f) {
return mTransitionToFullShadeQSPosition; return mTransitionToFullShadeQSPosition;
} else if (mSplitShadeEnabled) {
// in split shade - outside lockscreen transition handled above - we simply jump between
// two qs expansion values - either shade is closed and qs expansion is 0 or shade is
// open and qs expansion is 1
int qsBottomTarget = mQs.getDesiredHeight() + mLargeScreenShadeHeaderHeight;
return qsExpansionFraction > 0 ? qsBottomTarget : 0;
} else { } else {
int qsBottomYFrom = (int) getHeaderTranslation() + mQs.getQsMinExpansionHeight(); int qsBottomYFrom = (int) getHeaderTranslation() + mQs.getQsMinExpansionHeight();
int expandedTopMargin = mUseLargeScreenShadeHeader ? mLargeScreenShadeHeaderHeight : 0; int expandedTopMargin = mUseLargeScreenShadeHeader ? mLargeScreenShadeHeaderHeight : 0;