Merge "Fix bugs with QS customizer when split shade is active." into sc-v2-dev

This commit is contained in:
Jamie Garside
2021-11-16 16:12:38 +00:00
committed by Android (Google) Code Review
4 changed files with 27 additions and 2 deletions

View File

@@ -34,7 +34,7 @@ public interface QS extends FragmentBase {
String ACTION = "com.android.systemui.action.PLUGIN_QS"; String ACTION = "com.android.systemui.action.PLUGIN_QS";
int VERSION = 11; int VERSION = 12;
String TAG = "QS"; String TAG = "QS";
@@ -46,6 +46,8 @@ public interface QS extends FragmentBase {
void setHeightOverride(int desiredHeight); void setHeightOverride(int desiredHeight);
void setHeaderClickable(boolean qsExpansionEnabled); void setHeaderClickable(boolean qsExpansionEnabled);
boolean isCustomizing(); boolean isCustomizing();
/** Close the QS customizer, if it is open. */
void closeCustomizer();
void setOverscrolling(boolean overscrolling); void setOverscrolling(boolean overscrolling);
void setExpanded(boolean qsExpanded); void setExpanded(boolean qsExpanded);
void setListening(boolean listening); void setListening(boolean listening);

View File

@@ -15,10 +15,10 @@
package com.android.systemui.qs; package com.android.systemui.qs;
import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS;
import static com.android.systemui.statusbar.DisableFlagsLogger.DisableState;
import static com.android.systemui.media.dagger.MediaModule.QS_PANEL; import static com.android.systemui.media.dagger.MediaModule.QS_PANEL;
import static com.android.systemui.media.dagger.MediaModule.QUICK_QS_PANEL; import static com.android.systemui.media.dagger.MediaModule.QUICK_QS_PANEL;
import static com.android.systemui.statusbar.DisableFlagsLogger.DisableState;
import android.animation.Animator; import android.animation.Animator;
import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter;
@@ -696,6 +696,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
mQSPanelController.closeDetail(); mQSPanelController.closeDetail();
} }
@Override
public void closeCustomizer() {
mQSCustomizerController.hide();
}
public void notifyCustomizeChanged() { public void notifyCustomizeChanged() {
// The customize state changed, so our height changed. // The customize state changed, so our height changed.
mContainer.updateExpansion(); mContainer.updateExpansion();

View File

@@ -2869,6 +2869,10 @@ public class NotificationPanelViewController extends PanelViewController {
mStatusBarTouchableRegionManager.setPanelExpanded(isExpanded); mStatusBarTouchableRegionManager.setPanelExpanded(isExpanded);
mStatusBar.setPanelExpanded(isExpanded); mStatusBar.setPanelExpanded(isExpanded);
mPanelExpanded = isExpanded; mPanelExpanded = isExpanded;
if (!isExpanded && mQs != null && mQs.isCustomizing()) {
mQs.closeCustomizer();
}
} }
} }
@@ -3167,10 +3171,20 @@ public class NotificationPanelViewController extends PanelViewController {
return mQs.isShowingDetail(); return mQs.isShowingDetail();
} }
/** Returns whether the QS customizer is currently active. */
public boolean isQsCustomizing() {
return mQs.isCustomizing();
}
public void closeQsDetail() { public void closeQsDetail() {
mQs.closeDetail(); mQs.closeDetail();
} }
/** Close the QS customizer if it is open. */
public void closeQsCustomizer() {
mQs.closeCustomizer();
}
public boolean isLaunchTransitionFinished() { public boolean isLaunchTransitionFinished() {
return mIsLaunchTransitionFinished; return mIsLaunchTransitionFinished;
} }

View File

@@ -3280,6 +3280,10 @@ public class StatusBar extends SystemUI implements
} }
return true; return true;
} }
if (mNotificationPanelViewController.isQsCustomizing()) {
mNotificationPanelViewController.closeQsCustomizer();
return true;
}
if (mNotificationPanelViewController.isQsExpanded()) { if (mNotificationPanelViewController.isQsExpanded()) {
if (mNotificationPanelViewController.isQsDetailShowing()) { if (mNotificationPanelViewController.isQsDetailShowing()) {
mNotificationPanelViewController.closeQsDetail(); mNotificationPanelViewController.closeQsDetail();