Merge "Updating PinShortcutRequestActivityInfo to provide pinRequest lazily" into tm-qpr-dev
diff --git a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java
index 6b21522..dd74125 100644
--- a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java
+++ b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java
@@ -39,6 +39,8 @@
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 @@
// 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 @@
true /* isToState */);
// Delay the actual accept() call until the drop animation is complete.
return PinRequestHelper.createWorkspaceItemFromPinItemRequest(
- mContext, mRequest, duration);
+ mContext, mRequestSupplier.get(), duration);
}
@Override