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

Commit 8e11d014 authored by Sunny Goyal's avatar Sunny Goyal Committed by android-build-merger
Browse files

Fix crash when launching some apps which require icons to be loaded on the...

Fix crash when launching some apps which require icons to be loaded on the model thread am: 8be337b8
am: a8d4085e

Change-Id: Ieb0a60622c5853c5934b2c4f735bc78a604f96dd
parents d4e88cf4 a8d4085e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.view.View;
import com.android.launcher3.FastBitmapDrawable;
import com.android.launcher3.ItemInfo;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherModel;
import com.android.launcher3.LauncherSettings;
import com.android.launcher3.LauncherState;
import com.android.launcher3.LauncherStateManager;
@@ -54,7 +55,6 @@ import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.icons.LauncherIcons;
import com.android.launcher3.util.Themes;
import com.android.launcher3.util.Thunk;
import com.android.launcher3.util.UiThreadHelper;

import java.util.Arrays;

@@ -210,7 +210,7 @@ public class DragView extends View implements LauncherStateManager.StateListener
            return;
        }
        // Load the adaptive icon on a background thread and add the view in ui thread.
        new Handler(UiThreadHelper.getBackgroundLooper()).postAtFrontOfQueue(new Runnable() {
        new Handler(LauncherModel.getWorkerLooper()).postAtFrontOfQueue(new Runnable() {
            @Override
            public void run() {
                Object[] outObj = new Object[1];
+1 −3
Original line number Diff line number Diff line
@@ -40,7 +40,6 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.CancellationSignal;
import android.os.Handler;
import android.os.Looper;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
@@ -63,7 +62,6 @@ import com.android.launcher3.graphics.ShiftedBitmapDrawable;
import com.android.launcher3.icons.LauncherIcons;
import com.android.launcher3.popup.SystemShortcut;
import com.android.launcher3.shortcuts.DeepShortcutView;
import com.android.launcher3.util.UiThreadHelper;

import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
@@ -642,7 +640,7 @@ public class FloatingIconView extends View implements
                originalView.setVisibility(INVISIBLE);
            };
            CancellationSignal loadIconSignal = view.mLoadIconSignal;
            new Handler(UiThreadHelper.getBackgroundLooper()).postAtFrontOfQueue(() -> {
            new Handler(LauncherModel.getWorkerLooper()).postAtFrontOfQueue(() -> {
                view.getIcon(originalView, (ItemInfo) originalView.getTag(), isOpening,
                        onIconLoaded, loadIconSignal);
            });