Merge "Fix notification group scroll in split shade" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f2b58a1a11
@@ -347,7 +347,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
setDimAmount((Float) animation.getAnimatedValue());
|
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 mContinuousShadowUpdate;
|
||||||
private boolean mContinuousBackgroundUpdate;
|
private boolean mContinuousBackgroundUpdate;
|
||||||
private ViewTreeObserver.OnPreDrawListener mShadowUpdater
|
private ViewTreeObserver.OnPreDrawListener mShadowUpdater
|
||||||
@@ -1598,8 +1600,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ShadeViewRefactor(RefactorComponent.ADAPTER)
|
@ShadeViewRefactor(RefactorComponent.ADAPTER)
|
||||||
public void setQsContainer(ViewGroup qsContainer) {
|
public void setQsHeader(ViewGroup qsHeader) {
|
||||||
mQsContainer = qsContainer;
|
mQsHeader = qsHeader;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ShadeViewRefactor(RefactorComponent.ADAPTER)
|
@ShadeViewRefactor(RefactorComponent.ADAPTER)
|
||||||
@@ -3458,7 +3460,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
if (!isScrollingEnabled()) {
|
if (!isScrollingEnabled()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (isInsideQsContainer(ev) && !mIsBeingDragged) {
|
if (isInsideQsHeader(ev) && !mIsBeingDragged) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
mForcedScroll = null;
|
mForcedScroll = null;
|
||||||
@@ -3611,8 +3613,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ShadeViewRefactor(RefactorComponent.INPUT)
|
@ShadeViewRefactor(RefactorComponent.INPUT)
|
||||||
protected boolean isInsideQsContainer(MotionEvent ev) {
|
protected boolean isInsideQsHeader(MotionEvent ev) {
|
||||||
return ev.getY() < mQsContainer.getBottom();
|
mQsHeader.getBoundsOnScreen(mQsHeaderBound);
|
||||||
|
return mQsHeaderBound.contains((int) ev.getX(), (int) ev.getY());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ShadeViewRefactor(RefactorComponent.INPUT)
|
@ShadeViewRefactor(RefactorComponent.INPUT)
|
||||||
|
|||||||
@@ -1234,8 +1234,9 @@ public class NotificationStackScrollLayoutController {
|
|||||||
mView.setExpandedHeight(expandedHeight);
|
mView.setExpandedHeight(expandedHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setQsContainer(ViewGroup view) {
|
/** Sets the QS header. Used to check if a touch is within its bounds. */
|
||||||
mView.setQsContainer(view);
|
public void setQsHeader(ViewGroup view) {
|
||||||
|
mView.setQsHeader(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAnimationsEnabled(boolean enabled) {
|
public void setAnimationsEnabled(boolean enabled) {
|
||||||
|
|||||||
@@ -3592,7 +3592,7 @@ public class NotificationPanelViewController extends PanelViewController {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
mLockscreenShadeTransitionController.setQS(mQs);
|
mLockscreenShadeTransitionController.setQS(mQs);
|
||||||
mNotificationStackScrollLayoutController.setQsContainer((ViewGroup) mQs.getView());
|
mNotificationStackScrollLayoutController.setQsHeader((ViewGroup) mQs.getHeader());
|
||||||
mQs.setScrollListener(mScrollListener);
|
mQs.setScrollListener(mScrollListener);
|
||||||
updateQsExpansion();
|
updateQsExpansion();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user