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

Commit f2b58a1a authored by Nicolò Mazzucato's avatar Nicolò Mazzucato Committed by Android (Google) Code Review
Browse files

Merge "Fix notification group scroll in split shade" into tm-dev

parents 29571eb0 48c0ae96
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -347,7 +347,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
            setDimAmount((Float) animation.getAnimatedValue());
        }
    };
    protected ViewGroup mQsContainer;
    protected ViewGroup mQsHeader;
    // Rect of QsHeader. Kept as a field just to avoid creating a new one each time.
    private Rect mQsHeaderBound = new Rect();
    private boolean mContinuousShadowUpdate;
    private boolean mContinuousBackgroundUpdate;
    private ViewTreeObserver.OnPreDrawListener mShadowUpdater
@@ -1598,8 +1600,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    }

    @ShadeViewRefactor(RefactorComponent.ADAPTER)
    public void setQsContainer(ViewGroup qsContainer) {
        mQsContainer = qsContainer;
    public void setQsHeader(ViewGroup qsHeader) {
        mQsHeader = qsHeader;
    }

    @ShadeViewRefactor(RefactorComponent.ADAPTER)
@@ -3458,7 +3460,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        if (!isScrollingEnabled()) {
            return false;
        }
        if (isInsideQsContainer(ev) && !mIsBeingDragged) {
        if (isInsideQsHeader(ev) && !mIsBeingDragged) {
            return false;
        }
        mForcedScroll = null;
@@ -3611,8 +3613,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    }

    @ShadeViewRefactor(RefactorComponent.INPUT)
    protected boolean isInsideQsContainer(MotionEvent ev) {
        return ev.getY() < mQsContainer.getBottom();
    protected boolean isInsideQsHeader(MotionEvent ev) {
        mQsHeader.getBoundsOnScreen(mQsHeaderBound);
        return mQsHeaderBound.contains((int) ev.getX(), (int) ev.getY());
    }

    @ShadeViewRefactor(RefactorComponent.INPUT)
+3 −2
Original line number Diff line number Diff line
@@ -1234,8 +1234,9 @@ public class NotificationStackScrollLayoutController {
        mView.setExpandedHeight(expandedHeight);
    }

    public void setQsContainer(ViewGroup view) {
        mView.setQsContainer(view);
    /** Sets the QS header. Used to check if a touch is within its bounds. */
    public void setQsHeader(ViewGroup view) {
        mView.setQsHeader(view);
    }

    public void setAnimationsEnabled(boolean enabled) {
+1 −1
Original line number Diff line number Diff line
@@ -3592,7 +3592,7 @@ public class NotificationPanelViewController extends PanelViewController {
                }
            });
            mLockscreenShadeTransitionController.setQS(mQs);
            mNotificationStackScrollLayoutController.setQsContainer((ViewGroup) mQs.getView());
            mNotificationStackScrollLayoutController.setQsHeader((ViewGroup) mQs.getHeader());
            mQs.setScrollListener(mScrollListener);
            updateQsExpansion();
        }