diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java index a34c6ba5aa305..8e436611e805a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java @@ -209,9 +209,17 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { 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() { @@ -227,6 +235,7 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { 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 4242e1bb666b2..a1aff5791aeb9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java @@ -238,6 +238,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