diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java index 20b46eafa94ec..0e67670007601 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java @@ -205,9 +205,17 @@ public class QSContainerImpl extends FrameLayout { protected int calculateContainerHeight() { int heightOverride = mHeightOverride != -1 ? mHeightOverride : getMeasuredHeight(); + // Need to add the dragHandle height so touches will be intercepted by it. + int dragHandleHeight; + if (mDragHandle.getVisibility() == VISIBLE) { + dragHandleHeight = Math.round((1 - mQsExpansion) * mDragHandle.getHeight()); + } else { + dragHandleHeight = 0; + } return mQSCustomizer.isCustomizing() ? mQSCustomizer.getHeight() : Math.round(mQsExpansion * (heightOverride - mHeader.getHeight())) - + mHeader.getHeight(); + + mHeader.getHeight() + + dragHandleHeight; } int calculateContainerBottom() { @@ -223,6 +231,7 @@ public class QSContainerImpl extends FrameLayout { mQsExpansion = expansion; mQSPanelContainer.setScrollingEnabled(expansion > 0f); mDragHandle.setAlpha(1.0f - expansion); + mDragHandle.setClickable(expansion == 0f); // Only clickable when fully collapsed updateExpansion(); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java index b1fa62078d64c..9982dc46b0d01 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java @@ -232,6 +232,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca mQSPanelController.getMediaHost().getHostView().setAlpha(1.0f); mQSAnimator.requestAnimatorUpdate(); }); + + mQsDragHandler.setOnClickListener(v -> { + Log.d(TAG, "drag handler clicked"); + mCommandQueue.animateExpandSettingsPanel(null); + }); } @Override