Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit baa241a0 authored by Jeff DeCew's avatar Jeff DeCew
Browse files

Add a gray debug line to NSSL to show the keyguard padding.

Bug: 190630151
Test: Disable the keyguard max; add 5 normal notifications on a sargo, see them all draw right up to the gray line.  Replace 1 with a conversation (adds a few dp padding) and see the shelf appear.  Soo.. seems consistent.
Change-Id: Id5f93b7151dd0b1698ceebda9a01c592ba54bb2f
parent 87065aa1
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -413,6 +413,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    private boolean mBackwardScrollable;
    private NotificationShelf mShelf;
    private int mMaxDisplayedNotifications = -1;
    private float mKeyguardBottomPadding = -1;
    private int mStatusBarHeight;
    private int mMinInteractionHeight;
    private final Rect mClipRect = new Rect();
@@ -738,6 +739,16 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
            mDebugPaint.setColor(Color.YELLOW);
            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();
            mDebugPaint.setColor(Color.GREEN);
            canvas.drawLine(0, y, getWidth(), y, mDebugPaint);
@@ -4773,6 +4784,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)
    public void setShouldShowShelfOnly(boolean shouldShowShelfOnly) {
        mShouldShowShelfOnly = shouldShowShelfOnly;
+10 −0
Original line number Diff line number Diff line
@@ -1204,6 +1204,16 @@ public class NotificationStackScrollLayoutController {
        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() {
        return new RemoteInputController.Delegate() {
            public void setRemoteInputActive(NotificationEntry entry,
+6 −0
Original line number Diff line number Diff line
@@ -325,6 +325,8 @@ public class NotificationPanelViewController extends PanelViewController {
    private final LockscreenShadeTransitionController mLockscreenShadeTransitionController;
    private final TapAgainViewController mTapAgainViewController;
    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
    private int mMaxAllowedKeyguardNotifications;

@@ -1169,9 +1171,12 @@ public class NotificationPanelViewController extends PanelViewController {
        if (mKeyguardShowing && !mKeyguardBypassController.getBypassEnabled()) {
            mNotificationStackScrollLayoutController.setMaxDisplayedNotifications(
                    mMaxAllowedKeyguardNotifications);
            mNotificationStackScrollLayoutController.setKeyguardBottomPadding(
                    mKeyguardNotificationBottomPadding);
        } else {
            // no max when not on the keyguard
            mNotificationStackScrollLayoutController.setMaxDisplayedNotifications(-1);
            mNotificationStackScrollLayoutController.setKeyguardBottomPadding(-1f);
        }
    }

@@ -1353,6 +1358,7 @@ public class NotificationPanelViewController extends PanelViewController {

        float bottomPadding = Math.max(mIndicationBottomPadding, mAmbientIndicationBottomPadding);
        bottomPadding = Math.max(lockIconPadding, bottomPadding);
        mKeyguardNotificationBottomPadding = bottomPadding;

        float availableSpace =
                mNotificationStackScrollLayoutController.getHeight()