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

Commit 091f0ffd authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Updating widget list when iconCache updates

> Fixing bug where items were not getting removed from the memcache
> Fixing bug where package entries were not getting removing because
of component mismatch.

Bug: 21612532
Change-Id: Ie56f3272f7fb7e1a37c5ff9bfa523d814edc1a02
parent a56eab41
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -275,6 +275,7 @@ public class IconCache {
            ComponentName component = ComponentName.unflattenFromString(cn);
            PackageInfo info = pkgInfoMap.get(component.getPackageName());
            if (info == null) {
                remove(component, user);
                itemsToRemove.add(c.getInt(rowIndex));
                continue;
            }
@@ -291,6 +292,7 @@ public class IconCache {
                continue;
            }
            if (app == null) {
                remove(component, user);
                itemsToRemove.add(c.getInt(rowIndex));
            } else {
                appsToUpdate.add(app);
@@ -562,9 +564,10 @@ public class IconCache {
     */
    private CacheEntry getEntryForPackageLocked(String packageName, UserHandleCompat user,
            boolean useLowResIcon) {
        ComponentName cn = new ComponentName(packageName, EMPTY_CLASS_NAME);
        ComponentName cn = new ComponentName(packageName, packageName + EMPTY_CLASS_NAME);
        ComponentKey cacheKey = new ComponentKey(cn, user);
        CacheEntry entry = mCache.get(cacheKey);

        if (entry == null || (entry.isLowResIcon && !useLowResIcon)) {
            entry = new CacheEntry();
            boolean entryUpdated = true;
+3 −0
Original line number Diff line number Diff line
@@ -2932,6 +2932,9 @@ public class LauncherModel extends BroadcastReceiver
                }
            });
        }

        // Reload widget list. No need to refresh, as we only want to update the icons and labels.
        loadAndBindWidgetsAndShortcuts(mApp.getContext(), callbacks, false);
    }

    void enqueuePackageUpdated(PackageUpdatedTask task) {
+0 −1
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@ import android.util.Log;
import com.android.launcher3.IconCache;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherAppWidgetProviderInfo;

import com.android.launcher3.Utilities;
import com.android.launcher3.compat.AlphabeticIndexCompat;
import com.android.launcher3.compat.UserHandleCompat;