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

Commit 13a6b228 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Updating PinShortcutRequestActivityInfo to provide pinRequest lazily

Bug: 275407282
Test: Verified on device
Change-Id: I81867ada454219b44663b58b942329422fb81196
parent e7ab5849
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ import com.android.launcher3.model.data.WorkspaceItemInfo;
import com.android.launcher3.pm.PinRequestHelper;
import com.android.launcher3.pm.ShortcutConfigActivityInfo;

import java.util.function.Supplier;

/**
 * Extension of ShortcutConfigActivityInfo to be used in the confirmation prompt for pin item
 * request.
@@ -50,15 +52,19 @@ public class PinShortcutRequestActivityInfo extends ShortcutConfigActivityInfo {
    // actual existing class.
    private static final String STUB_COMPONENT_CLASS = "pinned-shortcut";

    private final PinItemRequest mRequest;
    private final Supplier<PinItemRequest> mRequestSupplier;
    private final ShortcutInfo mInfo;
    private final Context mContext;

    public PinShortcutRequestActivityInfo(PinItemRequest request, Context context) {
        super(new ComponentName(request.getShortcutInfo().getPackage(), STUB_COMPONENT_CLASS),
                request.getShortcutInfo().getUserHandle());
        mRequest = request;
        mInfo = request.getShortcutInfo();
        this(request.getShortcutInfo(), () -> request, context);
    }

    public PinShortcutRequestActivityInfo(
            ShortcutInfo si, Supplier<PinItemRequest> requestSupplier, Context context) {
        super(new ComponentName(si.getPackage(), STUB_COMPONENT_CLASS), si.getUserHandle());
        mRequestSupplier = requestSupplier;
        mInfo = si;
        mContext = context;
    }

@@ -91,7 +97,7 @@ public class PinShortcutRequestActivityInfo extends ShortcutConfigActivityInfo {
                        true /* isToState */);
        // Delay the actual accept() call until the drop animation is complete.
        return PinRequestHelper.createWorkspaceItemFromPinItemRequest(
                mContext, mRequest, duration);
                mContext, mRequestSupplier.get(), duration);
    }

    @Override