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

Commit 825c3db1 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Show icon in PendingAppWidgetHostView immediately." into ub-launcher3-dorval-polish

parents 2868d7ca 2b823f45
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3615,6 +3615,9 @@ public class Launcher extends BaseActivity

        LauncherAppWidgetInfo info = (LauncherAppWidgetInfo) view.getTag();
        info.restoreStatus = finalRestoreFlag;
        if (info.restoreStatus == LauncherAppWidgetInfo.RESTORE_COMPLETED) {
            info.pendingItemInfo = null;
        }

        mWorkspace.reinflateWidgetsIfNecessary();
        getModelWriter().updateItemInDatabase(info);
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.ComponentName;
import android.content.Intent;
import android.os.Process;

import com.android.launcher3.model.PackageItemInfo;
import com.android.launcher3.util.ContentWriter;

/**
@@ -95,6 +96,11 @@ public class LauncherAppWidgetInfo extends ItemInfo {
     */
    public Intent bindOptions;

    /**
     * Nonnull for pending widgets. We use this to get the icon and title for the widget.
     */
    public PackageItemInfo pendingItemInfo;

    private boolean mHasNotifiedInitialWidgetSizeChanged;

    public LauncherAppWidgetInfo(int appWidgetId, ComponentName providerName) {
+10 −0
Original line number Diff line number Diff line
@@ -1216,6 +1216,16 @@ public class LauncherModel extends BroadcastReceiver
                                                    .commit();
                                        }
                                    }

                                    if (appWidgetInfo.restoreStatus !=
                                            LauncherAppWidgetInfo.RESTORE_COMPLETED) {
                                        String pkg = appWidgetInfo.providerName.getPackageName();
                                        appWidgetInfo.pendingItemInfo = new PackageItemInfo(pkg);
                                        appWidgetInfo.pendingItemInfo.user = appWidgetInfo.user;
                                        mIconCache.getTitleAndIconForApp(
                                                appWidgetInfo.pendingItemInfo, false);
                                    }

                                    c.checkAndAddItem(appWidgetInfo, sBgDataModel);
                                }
                                break;
+7 −4
Original line number Diff line number Diff line
@@ -80,10 +80,13 @@ public class PendingAppWidgetHostView extends LauncherAppWidgetHostView
        updateAppWidget(null);
        setOnClickListener(mLauncher);

        // Load icon
        PackageItemInfo item = new PackageItemInfo(info.providerName.getPackageName());
        item.user = info.user;
        cache.updateIconInBackground(this, item);
        if (info.pendingItemInfo == null) {
            info.pendingItemInfo = new PackageItemInfo(info.providerName.getPackageName());
            info.pendingItemInfo.user = info.user;
            cache.updateIconInBackground(this, info.pendingItemInfo);
        } else {
            reapplyItemInfo(info.pendingItemInfo);
        }
    }

    @Override