From 905950abd017b5a135e26179b5ba29378732cf5a Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 17 Sep 2014 09:25:27 +0200 Subject: [PATCH] Listening for widget changes while Recents is in the background. (Bug 17153663) Change-Id: Ibaff45e988deda21280b684757396a73bb3294c0 --- .../systemui/recents/RecentsActivity.java | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index 8f92027206d34..15c5e1bd8b6ce 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -405,6 +405,22 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView mConfig.updateOnConfigurationChange(); onConfigurationChange(); } + + // Start listening for widget package changes if there is one bound, post it since we don't + // want it stalling the startup + if (mConfig.searchBarAppWidgetId >= 0) { + final WeakReference callback = + new WeakReference(this); + mRecentsView.post(new Runnable() { + @Override + public void run() { + RecentsAppWidgetHost.RecentsAppWidgetHostCallbacks cb = callback.get(); + if (cb != null) { + mAppWidgetHost.startListening(cb); + } + } + }); + } } /** Inflates the debug overlay if debug mode is enabled. */ @@ -464,22 +480,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView protected void onResume() { super.onResume(); - // Start listening for widget package changes if there is one bound, post it since we don't - // want it stalling the startup - if (mConfig.searchBarAppWidgetId >= 0) { - final WeakReference callback = - new WeakReference(this); - mRecentsView.postDelayed(new Runnable() { - @Override - public void run() { - RecentsAppWidgetHost.RecentsAppWidgetHostCallbacks cb = callback.get(); - if (cb != null) { - mAppWidgetHost.startListening(cb); - } - } - }, 1); - } - // Mark Recents as visible mVisible = true; } @@ -496,11 +496,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView // Unregister any broadcast receivers for the task loader RecentsTaskLoader.getInstance().unregisterReceivers(); - - // Stop listening for widget package changes if there was one bound - if (mAppWidgetHost.isListening()) { - mAppWidgetHost.stopListening(); - } } @Override @@ -509,6 +504,11 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView // Unregister the system broadcast receivers unregisterReceiver(mSystemBroadcastReceiver); + + // Stop listening for widget package changes if there was one bound + if (mAppWidgetHost.isListening()) { + mAppWidgetHost.stopListening(); + } } @Override