Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af0391f9 authored by Pinyao Ting's avatar Pinyao Ting
Browse files

Include more error logging for widget restore

Bug: 171774227
Test: manually tested complete backup & restore flow
Change-Id: Ieb4b39d80a24b4dff377ee74d24d9010acd0daca
(cherry picked from commit ae1997b9)
parent ff6bcae0
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2330,7 +2330,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;
                }
+6 −0
Original line number Diff line number Diff line
@@ -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";
@@ -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 {
+5 −1
Original line number Diff line number Diff line
@@ -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()) {