From a0f9110e5200f0d00114b8657d42fff074563d47 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 12 Jun 2019 00:17:53 -0700 Subject: Adding support for custom callback when starting ProxyActivity Bug: 133443741 Change-Id: Ifd6a289b7f49d52efe0767b600cecc2b460a87fc --- .../android/launcher3/proxy/StartActivityParams.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'quickstep/src/com/android/launcher3') diff --git a/quickstep/src/com/android/launcher3/proxy/StartActivityParams.java b/quickstep/src/com/android/launcher3/proxy/StartActivityParams.java index 1e8bd933f..bee8bb813 100644 --- a/quickstep/src/com/android/launcher3/proxy/StartActivityParams.java +++ b/quickstep/src/com/android/launcher3/proxy/StartActivityParams.java @@ -31,7 +31,7 @@ public class StartActivityParams implements Parcelable { private static final String TAG = "StartActivityParams"; - private final PendingIntent mCallback; + private final PendingIntent mPICallback; public final int requestCode; public Intent intent; @@ -44,13 +44,17 @@ public class StartActivityParams implements Parcelable { public Bundle options; public StartActivityParams(Activity activity, int requestCode) { - mCallback = activity.createPendingResult(requestCode, new Intent(), - PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_UPDATE_CURRENT); + this(activity.createPendingResult(requestCode, new Intent(), + PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_UPDATE_CURRENT), requestCode); + } + + public StartActivityParams(PendingIntent pendingIntent, int requestCode) { + this.mPICallback = pendingIntent; this.requestCode = requestCode; } private StartActivityParams(Parcel parcel) { - mCallback = parcel.readTypedObject(PendingIntent.CREATOR); + mPICallback = parcel.readTypedObject(PendingIntent.CREATOR); requestCode = parcel.readInt(); intent = parcel.readTypedObject(Intent.CREATOR); @@ -70,7 +74,7 @@ public class StartActivityParams implements Parcelable { @Override public void writeToParcel(Parcel parcel, int flags) { - parcel.writeTypedObject(mCallback, flags); + parcel.writeTypedObject(mPICallback, flags); parcel.writeInt(requestCode); parcel.writeTypedObject(intent, flags); @@ -84,7 +88,9 @@ public class StartActivityParams implements Parcelable { public void deliverResult(Context context, int resultCode, Intent data) { try { - mCallback.send(context, resultCode, data); + if (mPICallback != null) { + mPICallback.send(context, resultCode, data); + } } catch (CanceledException e) { Log.e(TAG, "Unable to send back result", e); } -- cgit v1.2.3