diff options
| author | 2021-06-23 13:10:09 +0000 | |
|---|---|---|
| committer | 2021-06-23 13:10:09 +0000 | |
| commit | 60ce5b2dabb9c256c37e9464e11a70ae794987bb (patch) | |
| tree | 3375e0b129d3f5983feac17a71a3127830c9a5b3 | |
| parent | 2a7139a34f0cad1a884e85f92066c5939f118f8b (diff) | |
| parent | 9e43352595db013147cd40016a95b3a407fe3534 (diff) | |
Merge "Fix margins in QSDetail" into sc-dev
3 files changed, 25 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java index 2d0d87dcadee..bcce87a51097 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java @@ -46,6 +46,7 @@ import com.android.systemui.R; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.statusbar.CommandQueue; +import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer; public class QSDetail extends LinearLayout { @@ -83,6 +84,8 @@ public class QSDetail extends LinearLayout { private boolean mSwitchState; private QSFooter mFooter; + private NotificationsQuickSettingsContainer mContainer; + public QSDetail(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } @@ -115,6 +118,10 @@ public class QSDetail extends LinearLayout { mClipper = new QSDetailClipper(this); } + public void setContainer(NotificationsQuickSettingsContainer container) { + mContainer = container; + } + /** */ public void setQsPanel(QSPanelController panelController, QuickStatusBarHeader header, QSFooter footer) { @@ -242,6 +249,9 @@ public class QSDetail extends LinearLayout { } sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); animateDetailVisibleDiff(x, y, visibleDiff, listener); + if (mContainer != null) { + mContainer.setDetailShowing(showingDetail); + } } protected void animateDetailVisibleDiff(int x, int y, boolean visibleDiff, AnimatorListener listener) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java index 7b8a6a0a8d0e..c28c649b0306 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java @@ -293,6 +293,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca public void setContainer(ViewGroup container) { if (container instanceof NotificationsQuickSettingsContainer) { mQSCustomizerController.setContainer((NotificationsQuickSettingsContainer) container); + mQSDetail.setContainer((NotificationsQuickSettingsContainer) container); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java index 1cb0be0efc90..ed8fb31aea32 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java @@ -47,6 +47,8 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout private View mKeyguardStatusBar; private boolean mQsExpanded; private boolean mCustomizerAnimating; + private boolean mCustomizing; + private boolean mDetailShowing; private int mBottomPadding; private int mStackScrollerMargin; @@ -140,7 +142,18 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout } public void setCustomizerShowing(boolean isShowing) { - if (isShowing) { + mCustomizing = isShowing; + updateBottomMargin(); + mStackScroller.setQsCustomizerShowing(isShowing); + } + + public void setDetailShowing(boolean isShowing) { + mDetailShowing = isShowing; + updateBottomMargin(); + } + + private void updateBottomMargin() { + if (mCustomizing || mDetailShowing) { // Clear out bottom paddings/margins so the qs customization can be full height. setPadding(0, 0, 0, 0); setBottomMargin(mStackScroller, 0); @@ -148,7 +161,6 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout setPadding(0, 0, 0, mBottomPadding); setBottomMargin(mStackScroller, mStackScrollerMargin); } - mStackScroller.setQsCustomizerShowing(isShowing); } private void setBottomMargin(View v, int bottomMargin) { |