Merge "Fix bugs with QS customizer when split shade is active." into sc-v2-dev am: 1351c6f6d6
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16123522 Change-Id: I1f7b1c6d345e065339f1952e902ccaf92998f063
This commit is contained in:
@@ -34,7 +34,7 @@ public interface QS extends FragmentBase {
|
||||
|
||||
String ACTION = "com.android.systemui.action.PLUGIN_QS";
|
||||
|
||||
int VERSION = 11;
|
||||
int VERSION = 12;
|
||||
|
||||
String TAG = "QS";
|
||||
|
||||
@@ -46,6 +46,8 @@ public interface QS extends FragmentBase {
|
||||
void setHeightOverride(int desiredHeight);
|
||||
void setHeaderClickable(boolean qsExpansionEnabled);
|
||||
boolean isCustomizing();
|
||||
/** Close the QS customizer, if it is open. */
|
||||
void closeCustomizer();
|
||||
void setOverscrolling(boolean overscrolling);
|
||||
void setExpanded(boolean qsExpanded);
|
||||
void setListening(boolean listening);
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
package com.android.systemui.qs;
|
||||
|
||||
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.QUICK_QS_PANEL;
|
||||
import static com.android.systemui.statusbar.DisableFlagsLogger.DisableState;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -697,6 +697,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
mQSPanelController.closeDetail();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeCustomizer() {
|
||||
mQSCustomizerController.hide();
|
||||
}
|
||||
|
||||
public void notifyCustomizeChanged() {
|
||||
// The customize state changed, so our height changed.
|
||||
mContainer.updateExpansion();
|
||||
|
||||
@@ -2869,6 +2869,10 @@ public class NotificationPanelViewController extends PanelViewController {
|
||||
mStatusBarTouchableRegionManager.setPanelExpanded(isExpanded);
|
||||
mStatusBar.setPanelExpanded(isExpanded);
|
||||
mPanelExpanded = isExpanded;
|
||||
|
||||
if (!isExpanded && mQs != null && mQs.isCustomizing()) {
|
||||
mQs.closeCustomizer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3167,10 +3171,20 @@ public class NotificationPanelViewController extends PanelViewController {
|
||||
return mQs.isShowingDetail();
|
||||
}
|
||||
|
||||
/** Returns whether the QS customizer is currently active. */
|
||||
public boolean isQsCustomizing() {
|
||||
return mQs.isCustomizing();
|
||||
}
|
||||
|
||||
public void closeQsDetail() {
|
||||
mQs.closeDetail();
|
||||
}
|
||||
|
||||
/** Close the QS customizer if it is open. */
|
||||
public void closeQsCustomizer() {
|
||||
mQs.closeCustomizer();
|
||||
}
|
||||
|
||||
public boolean isLaunchTransitionFinished() {
|
||||
return mIsLaunchTransitionFinished;
|
||||
}
|
||||
|
||||
@@ -3281,6 +3281,10 @@ public class StatusBar extends SystemUI implements
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (mNotificationPanelViewController.isQsCustomizing()) {
|
||||
mNotificationPanelViewController.closeQsCustomizer();
|
||||
return true;
|
||||
}
|
||||
if (mNotificationPanelViewController.isQsExpanded()) {
|
||||
if (mNotificationPanelViewController.isQsDetailShowing()) {
|
||||
mNotificationPanelViewController.closeQsDetail();
|
||||
|
||||
Reference in New Issue
Block a user