From 308c90f77c9c0dc7d7b25d6edf44a7d876e8f4f2 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Mon, 27 Apr 2020 15:31:56 -0400 Subject: [PATCH] Disconnect plugins on the main thread. Fixes: 146033031 Test: atest SystemUITests && manual Change-Id: Icc5612b2d7129e146ec02df04e473d340b0d8b40 --- .../systemui/shared/plugins/PluginInstanceManager.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInstanceManager.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInstanceManager.java index b8997c29dd521..ed9c98b47b08f 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInstanceManager.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInstanceManager.java @@ -257,12 +257,8 @@ public class PluginInstanceManager { if (DEBUG) Log.d(TAG, "queryAll " + mAction); for (int i = mPlugins.size() - 1; i >= 0; i--) { PluginInfo plugin = mPlugins.get(i); - mListener.onPluginDisconnected(plugin.mPlugin); - if (!(plugin.mPlugin instanceof PluginFragment)) { - // Only call onDestroy for plugins that aren't fragments, as fragments - // will get the onDestroy as part of the fragment lifecycle. - plugin.mPlugin.onDestroy(); - } + mMainHandler.obtainMessage( + mMainHandler.PLUGIN_DISCONNECTED, plugin).sendToTarget(); } mPlugins.clear(); handleQueryPlugins(null);