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

Commit 2a7b2216 authored by Charlie Anderson's avatar Charlie Anderson
Browse files

Fix cropped pre-archived app icons by converting to a fixed Adaptive Icon

Bug: 358123888
Test: locally testing B&R with pre-archiving
Flag: com.android.launcher3.use_new_icon_for_archived_apps
Change-Id: Id01ef1e1812dda14a8b456834506c28aebc34623
parent 3a477596
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -18,10 +18,12 @@ package com.android.launcher3.icons;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.LauncherActivityInfo;
import android.os.Build;
import android.os.UserHandle;

import androidx.annotation.NonNull;

import com.android.launcher3.Flags;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.R;
import com.android.launcher3.icons.BaseIconFactory.IconOptions;
@@ -64,9 +66,16 @@ public class LauncherActivityCachingLogic
    @Override
    public BitmapInfo loadIcon(@NonNull Context context, @NonNull LauncherActivityInfo object) {
        try (LauncherIcons li = LauncherIcons.obtain(context)) {
            return li.createBadgedIconBitmap(LauncherAppState.getInstance(context)
                            .getIconProvider().getIcon(object, li.mFillResIconDpi),
                    new IconOptions().setUser(object.getUser()));
            IconOptions iconOptions = new IconOptions().setUser(object.getUser());
            iconOptions.mIsArchived = Flags.useNewIconForArchivedApps()
                && Build.VERSION.SDK_INT >= 35
                && object.getActivityInfo().isArchived;
            return li.createBadgedIconBitmap(
                    LauncherAppState.getInstance(context)
                        .getIconProvider()
                        .getIcon(object, li.mFillResIconDpi),
                    iconOptions
            );
        }
    }
}