Merge "Add a gray debug line to NSSL to show the keyguard padding." into sc-v2-dev am: 0a1e89e7c6

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

Change-Id: I518bd5e8ccff627decc489ce202b6ccec02e72e4
This commit is contained in:
Jeff DeCew
2021-08-04 15:28:03 +00:00
committed by Automerger Merge Worker
3 changed files with 37 additions and 0 deletions

View File

@@ -407,6 +407,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
private boolean mBackwardScrollable; private boolean mBackwardScrollable;
private NotificationShelf mShelf; private NotificationShelf mShelf;
private int mMaxDisplayedNotifications = -1; private int mMaxDisplayedNotifications = -1;
private float mKeyguardBottomPadding = -1;
private int mStatusBarHeight; private int mStatusBarHeight;
private int mMinInteractionHeight; private int mMinInteractionHeight;
private final Rect mClipRect = new Rect(); private final Rect mClipRect = new Rect();
@@ -742,6 +743,16 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
mDebugPaint.setColor(Color.YELLOW); mDebugPaint.setColor(Color.YELLOW);
canvas.drawLine(0, y, getWidth(), y, mDebugPaint); canvas.drawLine(0, y, getWidth(), y, mDebugPaint);
y = (int) mMaxLayoutHeight;
mDebugPaint.setColor(Color.MAGENTA);
canvas.drawLine(0, y, getWidth(), y, mDebugPaint);
if (mKeyguardBottomPadding >= 0) {
y = getHeight() - (int) mKeyguardBottomPadding;
mDebugPaint.setColor(Color.GRAY);
canvas.drawLine(0, y, getWidth(), y, mDebugPaint);
}
y = getHeight() - getEmptyBottomMargin(); y = getHeight() - getEmptyBottomMargin();
mDebugPaint.setColor(Color.GREEN); mDebugPaint.setColor(Color.GREEN);
canvas.drawLine(0, y, getWidth(), y, mDebugPaint); canvas.drawLine(0, y, getWidth(), y, mDebugPaint);
@@ -4784,6 +4795,16 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
} }
} }
/**
* This is used for debugging only; it will be used to draw the otherwise invisible line which
* NotificationPanelViewController treats as the bottom when calculating how many notifications
* appear on the keyguard.
* Setting a negative number will disable rendering this line.
*/
public void setKeyguardBottomPadding(float keyguardBottomPadding) {
mKeyguardBottomPadding = keyguardBottomPadding;
}
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW) @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
public void setShouldShowShelfOnly(boolean shouldShowShelfOnly) { public void setShouldShowShelfOnly(boolean shouldShowShelfOnly) {
mShouldShowShelfOnly = shouldShowShelfOnly; mShouldShowShelfOnly = shouldShowShelfOnly;

View File

@@ -1218,6 +1218,16 @@ public class NotificationStackScrollLayoutController {
mNotificationListContainer.setMaxDisplayedNotifications(maxNotifications); mNotificationListContainer.setMaxDisplayedNotifications(maxNotifications);
} }
/**
* This is used for debugging only; it will be used to draw the otherwise invisible line which
* NotificationPanelViewController treats as the bottom when calculating how many notifications
* appear on the keyguard.
* Setting a negative number will disable rendering this line.
*/
public void setKeyguardBottomPadding(float keyguardBottomPadding) {
mView.setKeyguardBottomPadding(keyguardBottomPadding);
}
public RemoteInputController.Delegate createDelegate() { public RemoteInputController.Delegate createDelegate() {
return new RemoteInputController.Delegate() { return new RemoteInputController.Delegate() {
public void setRemoteInputActive(NotificationEntry entry, public void setRemoteInputActive(NotificationEntry entry,

View File

@@ -340,6 +340,8 @@ public class NotificationPanelViewController extends PanelViewController {
private final SplitShadeHeaderController mSplitShadeHeaderController; private final SplitShadeHeaderController mSplitShadeHeaderController;
private final RecordingController mRecordingController; private final RecordingController mRecordingController;
private boolean mShouldUseSplitNotificationShade; private boolean mShouldUseSplitNotificationShade;
// The bottom padding reserved for elements of the keyguard measuring notifications
private float mKeyguardNotificationBottomPadding;
// Current max allowed keyguard notifications determined by measuring the panel // Current max allowed keyguard notifications determined by measuring the panel
private int mMaxAllowedKeyguardNotifications; private int mMaxAllowedKeyguardNotifications;
@@ -1212,9 +1214,12 @@ public class NotificationPanelViewController extends PanelViewController {
if (mKeyguardShowing && !mKeyguardBypassController.getBypassEnabled()) { if (mKeyguardShowing && !mKeyguardBypassController.getBypassEnabled()) {
mNotificationStackScrollLayoutController.setMaxDisplayedNotifications( mNotificationStackScrollLayoutController.setMaxDisplayedNotifications(
mMaxAllowedKeyguardNotifications); mMaxAllowedKeyguardNotifications);
mNotificationStackScrollLayoutController.setKeyguardBottomPadding(
mKeyguardNotificationBottomPadding);
} else { } else {
// no max when not on the keyguard // no max when not on the keyguard
mNotificationStackScrollLayoutController.setMaxDisplayedNotifications(-1); mNotificationStackScrollLayoutController.setMaxDisplayedNotifications(-1);
mNotificationStackScrollLayoutController.setKeyguardBottomPadding(-1f);
} }
} }
@@ -1419,6 +1424,7 @@ public class NotificationPanelViewController extends PanelViewController {
float bottomPadding = Math.max(mIndicationBottomPadding, mAmbientIndicationBottomPadding); float bottomPadding = Math.max(mIndicationBottomPadding, mAmbientIndicationBottomPadding);
bottomPadding = Math.max(lockIconPadding, bottomPadding); bottomPadding = Math.max(lockIconPadding, bottomPadding);
mKeyguardNotificationBottomPadding = bottomPadding;
float availableSpace = float availableSpace =
mNotificationStackScrollLayoutController.getHeight() mNotificationStackScrollLayoutController.getHeight()