diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-03-19 15:50:18 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-03-19 15:50:18 +0000 |
commit | b46b150410fc2711ff1b5d8d16f78e2b89d4f776 (patch) | |
tree | 358f1c990c02c3494187d8b8050b7050459d6ca4 | |
parent | f30552080842452e181113bcd333d66b56403e92 (diff) | |
parent | 047317735c039e8ca08331d364f9edc7ddb98fb7 (diff) | |
download | android_packages_apps_Trebuchet-b46b150410fc2711ff1b5d8d16f78e2b89d4f776.tar.gz android_packages_apps_Trebuchet-b46b150410fc2711ff1b5d8d16f78e2b89d4f776.tar.bz2 android_packages_apps_Trebuchet-b46b150410fc2711ff1b5d8d16f78e2b89d4f776.zip |
Merge "Deleting the unrestored widget id synchronously" into ub-launcher3-calgary
-rw-r--r-- | src/com/android/launcher3/AppWidgetsRestoredReceiver.java | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/src/com/android/launcher3/AppWidgetsRestoredReceiver.java b/src/com/android/launcher3/AppWidgetsRestoredReceiver.java index 54ce0fd3c..c5b31046c 100644 --- a/src/com/android/launcher3/AppWidgetsRestoredReceiver.java +++ b/src/com/android/launcher3/AppWidgetsRestoredReceiver.java @@ -9,17 +9,13 @@ import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.database.Cursor; -import android.os.AsyncTask; import android.util.Log; import com.android.launcher3.LauncherSettings.Favorites; -import java.util.ArrayList; -import java.util.List; - public class AppWidgetsRestoredReceiver extends BroadcastReceiver { - private static final String TAG = "AppWidgetsRestoredReceiver"; + private static final String TAG = "AWRestoredReceiver"; @Override public void onReceive(Context context, Intent intent) { @@ -39,8 +35,8 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { */ static void restoreAppWidgetIds(Context context, int[] oldWidgetIds, int[] newWidgetIds) { final ContentResolver cr = context.getContentResolver(); - final List<Integer> idsToRemove = new ArrayList<Integer>(); final AppWidgetManager widgets = AppWidgetManager.getInstance(context); + AppWidgetHost appWidgetHost = new AppWidgetHost(context, Launcher.APPWIDGET_HOST_ID); for (int i = 0; i < oldWidgetIds.length; i++) { Log.i(TAG, "Widget state restore id " + oldWidgetIds[i] + " => " + newWidgetIds[i]); @@ -69,28 +65,13 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { try { if (!cursor.moveToFirst()) { // The widget no long exists. - idsToRemove.add(newWidgetIds[i]); + appWidgetHost.deleteAppWidgetId(newWidgetIds[i]); } } finally { cursor.close(); } } } - // Unregister the widget IDs which are not present on the workspace. This could happen - // when a widget place holder is removed from workspace, before this method is called. - if (!idsToRemove.isEmpty()) { - final AppWidgetHost appWidgetHost = - new AppWidgetHost(context, Launcher.APPWIDGET_HOST_ID); - new AsyncTask<Void, Void, Void>() { - public Void doInBackground(Void ... args) { - for (Integer id : idsToRemove) { - appWidgetHost.deleteAppWidgetId(id); - Log.e(TAG, "Widget no longer present, appWidgetId=" + id); - } - return null; - } - }.executeOnExecutor(Utilities.THREAD_POOL_EXECUTOR); - } LauncherAppState app = LauncherAppState.getInstanceNoCreate(); if (app != null) { |