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

Commit 4b75bca8 authored by Himanshu Gupta's avatar Himanshu Gupta Committed by Android (Google) Code Review
Browse files

Merge "Allowing ProxyActivityStarter without result." into main

parents dc817bbf 70fd052c
Loading
Loading
Loading
Loading
+24 −5
Original line number Diff line number Diff line
@@ -53,13 +53,10 @@ public class ProxyActivityStarter extends Activity {

        try {
            if (mParams.intent != null) {
                startActivityForResult(mParams.intent, mParams.requestCode, mParams.options);
                startActivity();
                return;
            } else if (mParams.intentSender != null) {
                startIntentSenderForResult(mParams.intentSender, mParams.requestCode,
                        mParams.fillInIntent, mParams.flagsMask, mParams.flagsValues,
                        mParams.extraFlags,
                        mParams.options);
                startIntentSender();
                return;
            }
        } catch (NullPointerException | ActivityNotFoundException | SecurityException
@@ -83,4 +80,26 @@ public class ProxyActivityStarter extends Activity {
                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
                        | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    }

    private void startActivity() throws SendIntentException {
        if (mParams.requireActivityResult) {
            startActivityForResult(mParams.intent, mParams.requestCode, mParams.options);
        } else {
            startActivity(mParams.intent, mParams.options);
            finishAndRemoveTask();
        }
    }

    private void startIntentSender() throws SendIntentException {
        if (mParams.requireActivityResult) {
            startIntentSenderForResult(mParams.intentSender, mParams.requestCode,
                    mParams.fillInIntent, mParams.flagsMask, mParams.flagsValues,
                    mParams.extraFlags,
                    mParams.options);
        } else {
            startIntentSender(mParams.intentSender, mParams.fillInIntent, mParams.flagsMask,
                    mParams.flagsValues, mParams.extraFlags, mParams.options);
            finishAndRemoveTask();
        }
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -138,6 +138,11 @@ public class ApiWrapper {
                        || Flags.enablePrivateSpaceInstallShortcut())) {
            StartActivityParams params = new StartActivityParams((PendingIntent) null, 0);
            params.intentSender = launcherApps.getAppMarketActivityIntent(packageName, user);
            ActivityOptions options = ActivityOptions.makeBasic()
                    .setPendingIntentBackgroundActivityStartMode(ActivityOptions
                            .MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
            params.options = options.toBundle();
            params.requireActivityResult = false;
            return ProxyActivityStarter.getLaunchIntent(context, params);
        } else {
            return new Intent(Intent.ACTION_VIEW)
+3 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ public class StartActivityParams implements Parcelable {
    public int flagsValues;
    public int extraFlags;
    public Bundle options;
    public boolean requireActivityResult = true;

    public StartActivityParams(Activity activity, int requestCode) {
        this(activity.createPendingResult(requestCode, new Intent(),
@@ -74,6 +75,7 @@ public class StartActivityParams implements Parcelable {
        flagsValues = parcel.readInt();
        extraFlags = parcel.readInt();
        options = parcel.readBundle();
        requireActivityResult = parcel.readInt() != 0;
    }


@@ -94,6 +96,7 @@ public class StartActivityParams implements Parcelable {
        parcel.writeInt(flagsValues);
        parcel.writeInt(extraFlags);
        parcel.writeBundle(options);
        parcel.writeInt(requireActivityResult ? 1 : 0);
    }

    /** Perform the operation on the pendingIntent. */