Loading src/com/android/launcher3/Launcher.java +3 −1 Original line number Diff line number Diff line Loading @@ -2340,7 +2340,9 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche if (item.restoreStatus == LauncherAppWidgetInfo.RESTORE_COMPLETED) { // Verify that we own the widget if (appWidgetInfo == null) { FileLog.e(TAG, "Removing invalid widget: id=" + item.appWidgetId); FileLog.e(TAG, "Removing invalid widget: id=" + item.appWidgetId + ",title=" + item.title + ",providerName=" + item.providerName.toShortString()); getModelWriter().deleteWidgetInfo(item, getAppWidgetHost()); return null; } Loading src/com/android/launcher3/LauncherProvider.java +6 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ import java.util.Arrays; import java.util.Locale; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; import java.util.stream.Collectors; public class LauncherProvider extends ContentProvider { private static final String TAG = "LauncherProvider"; Loading Loading @@ -931,6 +932,11 @@ public class LauncherProvider extends ContentProvider { final IntSet validWidgets = IntSet.wrap(LauncherDbUtils.queryIntArray(db, Favorites.TABLE_NAME, Favorites.APPWIDGET_ID, "itemType=" + Favorites.ITEM_TYPE_APPWIDGET, null, null)); final String allWidgetIds = Arrays.stream(allWidgets).mapToObj(String::valueOf) .collect(Collectors.joining(",")); final String validWidgetIds = validWidgets.getArray().toConcatString(); FileLog.d(TAG, "All widget ids: " + allWidgetIds); FileLog.d(TAG, "Valid widget ids: " + validWidgetIds); for (int widgetId : allWidgets) { if (!validWidgets.contains(widgetId)) { try { Loading src/com/android/launcher3/model/LoaderTask.java +5 −1 Original line number Diff line number Diff line Loading @@ -745,7 +745,11 @@ public class LoaderTask implements Runnable { + "span=" + appWidgetInfo.spanX + "x" + appWidgetInfo.spanY + " minSpan=" + widgetProviderInfo.minSpanX + "x" + widgetProviderInfo.minSpanY); + widgetProviderInfo.minSpanY + ", appWidgetInfo.provider=" + appWidgetInfo.providerName.toShortString() + ", widgetProviderInfo.provider=" + widgetProviderInfo.provider.toShortString()); continue; } if (!c.isOnWorkspaceOrHotseat()) { Loading Loading
src/com/android/launcher3/Launcher.java +3 −1 Original line number Diff line number Diff line Loading @@ -2340,7 +2340,9 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche if (item.restoreStatus == LauncherAppWidgetInfo.RESTORE_COMPLETED) { // Verify that we own the widget if (appWidgetInfo == null) { FileLog.e(TAG, "Removing invalid widget: id=" + item.appWidgetId); FileLog.e(TAG, "Removing invalid widget: id=" + item.appWidgetId + ",title=" + item.title + ",providerName=" + item.providerName.toShortString()); getModelWriter().deleteWidgetInfo(item, getAppWidgetHost()); return null; } Loading
src/com/android/launcher3/LauncherProvider.java +6 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ import java.util.Arrays; import java.util.Locale; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; import java.util.stream.Collectors; public class LauncherProvider extends ContentProvider { private static final String TAG = "LauncherProvider"; Loading Loading @@ -931,6 +932,11 @@ public class LauncherProvider extends ContentProvider { final IntSet validWidgets = IntSet.wrap(LauncherDbUtils.queryIntArray(db, Favorites.TABLE_NAME, Favorites.APPWIDGET_ID, "itemType=" + Favorites.ITEM_TYPE_APPWIDGET, null, null)); final String allWidgetIds = Arrays.stream(allWidgets).mapToObj(String::valueOf) .collect(Collectors.joining(",")); final String validWidgetIds = validWidgets.getArray().toConcatString(); FileLog.d(TAG, "All widget ids: " + allWidgetIds); FileLog.d(TAG, "Valid widget ids: " + validWidgetIds); for (int widgetId : allWidgets) { if (!validWidgets.contains(widgetId)) { try { Loading
src/com/android/launcher3/model/LoaderTask.java +5 −1 Original line number Diff line number Diff line Loading @@ -745,7 +745,11 @@ public class LoaderTask implements Runnable { + "span=" + appWidgetInfo.spanX + "x" + appWidgetInfo.spanY + " minSpan=" + widgetProviderInfo.minSpanX + "x" + widgetProviderInfo.minSpanY); + widgetProviderInfo.minSpanY + ", appWidgetInfo.provider=" + appWidgetInfo.providerName.toShortString() + ", widgetProviderInfo.provider=" + widgetProviderInfo.provider.toShortString()); continue; } if (!c.isOnWorkspaceOrHotseat()) { Loading