Loading src/com/android/launcher3/AppWidgetsRestoredReceiver.java +5 −4 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package com.android.launcher3; import static android.os.Process.myUserHandle; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProviderInfo; import android.content.BroadcastReceiver; Loading Loading @@ -51,10 +52,10 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { */ @WorkerThread public static void restoreAppWidgetIds(Context context, int[] oldWidgetIds, int[] newWidgetIds, @NonNull LauncherWidgetHolder holder) { @NonNull AppWidgetHost host) { if (WidgetsModel.GO_DISABLE_WIDGETS) { Log.e(TAG, "Skipping widget ID remap as widgets not supported"); holder.deleteHost(); host.deleteHost(); return; } if (!RestoreDbTask.isPending(context)) { Loading @@ -63,7 +64,7 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { Log.e(TAG, "Skipping widget ID remap as DB already in use"); for (int widgetId : newWidgetIds) { Log.d(TAG, "Deleting widgetId: " + widgetId); holder.deleteAppWidgetId(widgetId); host.deleteAppWidgetId(widgetId); } return; } Loading Loading @@ -100,7 +101,7 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { try { if (!cursor.moveToFirst()) { // The widget no long exists. holder.deleteAppWidgetId(newWidgetIds[i]); host.deleteAppWidgetId(newWidgetIds[i]); } } finally { cursor.close(); Loading src/com/android/launcher3/LauncherProvider.java +30 −29 Original line number Diff line number Diff line Loading @@ -550,6 +550,7 @@ public class LauncherProvider extends ContentProvider { Log.d(TAG, "loading default workspace"); LauncherWidgetHolder widgetHolder = mOpenHelper.newLauncherWidgetHolder(); try { AutoInstallsLayout loader = createWorkspaceLoaderFromAppRestriction(widgetHolder); if (loader == null) { loader = AutoInstallsLayout.get(getContext(), widgetHolder, mOpenHelper); Loading Loading @@ -582,9 +583,11 @@ public class LauncherProvider extends ContentProvider { getDefaultLayoutParser(widgetHolder)); } clearFlagEmptyDbCreated(); } finally { widgetHolder.destroy(); } } } /** * Creates workspace loader from an XML resource listed in the app restrictions. Loading Loading @@ -957,8 +960,6 @@ public class LauncherProvider extends ContentProvider { allWidgets = holder.getAppWidgetIds(); } catch (IncompatibleClassChangeError e) { Log.e(TAG, "getAppWidgetIds not supported", e); // Necessary to destroy the holder to free up possible activity context holder.destroy(); return; } final IntSet validWidgets = IntSet.wrap(LauncherDbUtils.queryIntArray(false, db, Loading src/com/android/launcher3/provider/RestoreDbTask.java +4 −4 Original line number Diff line number Diff line Loading @@ -21,8 +21,10 @@ import static com.android.launcher3.LauncherPrefs.APP_WIDGET_IDS; import static com.android.launcher3.LauncherPrefs.OLD_APP_WIDGET_IDS; import static com.android.launcher3.LauncherPrefs.RESTORE_DEVICE; import static com.android.launcher3.provider.LauncherDbUtils.dropTable; import static com.android.launcher3.widget.LauncherWidgetHolder.APPWIDGET_HOST_ID; import android.app.backup.BackupManager; import android.appwidget.AppWidgetHost; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; Loading @@ -49,7 +51,6 @@ import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.provider.LauncherDbUtils.SQLiteTransaction; import com.android.launcher3.util.IntArray; import com.android.launcher3.util.LogConfig; import com.android.launcher3.widget.LauncherWidgetHolder; import java.io.InvalidObjectException; import java.util.Arrays; Loading Loading @@ -354,12 +355,11 @@ public class RestoreDbTask { private void restoreAppWidgetIdsIfExists(Context context) { LauncherPrefs lp = LauncherPrefs.get(context); if (lp.has(APP_WIDGET_IDS, OLD_APP_WIDGET_IDS)) { LauncherWidgetHolder holder = LauncherWidgetHolder.newInstance(context); AppWidgetHost host = new AppWidgetHost(context, APPWIDGET_HOST_ID); AppWidgetsRestoredReceiver.restoreAppWidgetIds(context, IntArray.fromConcatString(lp.get(OLD_APP_WIDGET_IDS)).toArray(), IntArray.fromConcatString(lp.get(APP_WIDGET_IDS)).toArray(), holder); holder.destroy(); host); } else { FileLog.d(TAG, "No app widget ids to restore."); } Loading src/com/android/launcher3/widget/LauncherWidgetHolder.java +0 −7 Original line number Diff line number Diff line Loading @@ -321,13 +321,6 @@ public class LauncherWidgetHolder { mFlags &= ~FLAG_LISTENING; } /** * Delete the host */ public void deleteHost() { mWidgetHost.deleteHost(); } /** * @return The app widget ids */ Loading Loading
src/com/android/launcher3/AppWidgetsRestoredReceiver.java +5 −4 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package com.android.launcher3; import static android.os.Process.myUserHandle; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProviderInfo; import android.content.BroadcastReceiver; Loading Loading @@ -51,10 +52,10 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { */ @WorkerThread public static void restoreAppWidgetIds(Context context, int[] oldWidgetIds, int[] newWidgetIds, @NonNull LauncherWidgetHolder holder) { @NonNull AppWidgetHost host) { if (WidgetsModel.GO_DISABLE_WIDGETS) { Log.e(TAG, "Skipping widget ID remap as widgets not supported"); holder.deleteHost(); host.deleteHost(); return; } if (!RestoreDbTask.isPending(context)) { Loading @@ -63,7 +64,7 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { Log.e(TAG, "Skipping widget ID remap as DB already in use"); for (int widgetId : newWidgetIds) { Log.d(TAG, "Deleting widgetId: " + widgetId); holder.deleteAppWidgetId(widgetId); host.deleteAppWidgetId(widgetId); } return; } Loading Loading @@ -100,7 +101,7 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver { try { if (!cursor.moveToFirst()) { // The widget no long exists. holder.deleteAppWidgetId(newWidgetIds[i]); host.deleteAppWidgetId(newWidgetIds[i]); } } finally { cursor.close(); Loading
src/com/android/launcher3/LauncherProvider.java +30 −29 Original line number Diff line number Diff line Loading @@ -550,6 +550,7 @@ public class LauncherProvider extends ContentProvider { Log.d(TAG, "loading default workspace"); LauncherWidgetHolder widgetHolder = mOpenHelper.newLauncherWidgetHolder(); try { AutoInstallsLayout loader = createWorkspaceLoaderFromAppRestriction(widgetHolder); if (loader == null) { loader = AutoInstallsLayout.get(getContext(), widgetHolder, mOpenHelper); Loading Loading @@ -582,9 +583,11 @@ public class LauncherProvider extends ContentProvider { getDefaultLayoutParser(widgetHolder)); } clearFlagEmptyDbCreated(); } finally { widgetHolder.destroy(); } } } /** * Creates workspace loader from an XML resource listed in the app restrictions. Loading Loading @@ -957,8 +960,6 @@ public class LauncherProvider extends ContentProvider { allWidgets = holder.getAppWidgetIds(); } catch (IncompatibleClassChangeError e) { Log.e(TAG, "getAppWidgetIds not supported", e); // Necessary to destroy the holder to free up possible activity context holder.destroy(); return; } final IntSet validWidgets = IntSet.wrap(LauncherDbUtils.queryIntArray(false, db, Loading
src/com/android/launcher3/provider/RestoreDbTask.java +4 −4 Original line number Diff line number Diff line Loading @@ -21,8 +21,10 @@ import static com.android.launcher3.LauncherPrefs.APP_WIDGET_IDS; import static com.android.launcher3.LauncherPrefs.OLD_APP_WIDGET_IDS; import static com.android.launcher3.LauncherPrefs.RESTORE_DEVICE; import static com.android.launcher3.provider.LauncherDbUtils.dropTable; import static com.android.launcher3.widget.LauncherWidgetHolder.APPWIDGET_HOST_ID; import android.app.backup.BackupManager; import android.appwidget.AppWidgetHost; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; Loading @@ -49,7 +51,6 @@ import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.provider.LauncherDbUtils.SQLiteTransaction; import com.android.launcher3.util.IntArray; import com.android.launcher3.util.LogConfig; import com.android.launcher3.widget.LauncherWidgetHolder; import java.io.InvalidObjectException; import java.util.Arrays; Loading Loading @@ -354,12 +355,11 @@ public class RestoreDbTask { private void restoreAppWidgetIdsIfExists(Context context) { LauncherPrefs lp = LauncherPrefs.get(context); if (lp.has(APP_WIDGET_IDS, OLD_APP_WIDGET_IDS)) { LauncherWidgetHolder holder = LauncherWidgetHolder.newInstance(context); AppWidgetHost host = new AppWidgetHost(context, APPWIDGET_HOST_ID); AppWidgetsRestoredReceiver.restoreAppWidgetIds(context, IntArray.fromConcatString(lp.get(OLD_APP_WIDGET_IDS)).toArray(), IntArray.fromConcatString(lp.get(APP_WIDGET_IDS)).toArray(), holder); holder.destroy(); host); } else { FileLog.d(TAG, "No app widget ids to restore."); } Loading
src/com/android/launcher3/widget/LauncherWidgetHolder.java +0 −7 Original line number Diff line number Diff line Loading @@ -321,13 +321,6 @@ public class LauncherWidgetHolder { mFlags &= ~FLAG_LISTENING; } /** * Delete the host */ public void deleteHost() { mWidgetHost.deleteHost(); } /** * @return The app widget ids */ Loading