diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSHost.java index 8596b578f0307..84524a62adfa9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSHost.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSHost.java @@ -24,6 +24,7 @@ import java.util.Collection; public interface QSHost { void warn(String message, Throwable t); void collapsePanels(); + void forceCollapsePanels(); void openPanels(); Context getContext(); Collection getTiles(); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java index 933054138a8ad..02937d8457bc4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java @@ -142,6 +142,11 @@ public class QSTileHost implements QSHost, Tunable, PluginListener { mStatusBar.postAnimateCollapsePanels(); } + @Override + public void forceCollapsePanels() { + mStatusBar.postAnimateForceCollapsePanels(); + } + @Override public void openPanels() { mStatusBar.postAnimateOpenPanels(); diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java index d2f3bb6030776..943a17644b55b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java @@ -204,7 +204,7 @@ public class TileServices extends IQSService.Stub { if (customTile != null) { verifyCaller(customTile); customTile.onDialogShown(); - mHost.collapsePanels(); + mHost.forceCollapsePanels(); mServices.get(customTile).setShowingDialog(true); } } @@ -224,7 +224,7 @@ public class TileServices extends IQSService.Stub { CustomTile customTile = getTileForToken(token); if (customTile != null) { verifyCaller(customTile); - mHost.collapsePanels(); + mHost.forceCollapsePanels(); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index d2ab823be674f..ccb6438fec84a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -2878,6 +2878,15 @@ public class StatusBar extends SystemUI implements DemoMode, mHandler.post(mAnimateCollapsePanels); } + public void postAnimateForceCollapsePanels() { + mHandler.post(new Runnable() { + @Override + public void run() { + animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE, true /* force */); + } + }); + } + public void postAnimateOpenPanels() { mHandler.sendEmptyMessage(MSG_OPEN_SETTINGS_PANEL); }