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

Commit e2bf40bc authored by Louis Chang's avatar Louis Chang Committed by Android (Google) Code Review
Browse files

Merge "Send RESULT_CANCELED immediately if start-activity-for-result across...

Merge "Send RESULT_CANCELED immediately if start-activity-for-result across TaskFragments" into tm-qpr-dev
parents 3f6d25b5 762850ba
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2576,6 +2576,7 @@ class ActivityStarter {
            mInTask = null;
        }
        mInTaskFragment = inTaskFragment;
        sendNewTaskFragmentResultRequestIfNeeded();

        mStartFlags = startFlags;
        // If the onlyIfNeeded flag is set, then we can do this if the activity being launched
@@ -2618,6 +2619,18 @@ class ActivityStarter {
        }
    }

    private void sendNewTaskFragmentResultRequestIfNeeded() {
        if (mStartActivity.resultTo != null && mInTaskFragment != null
                && mInTaskFragment != mStartActivity.resultTo.getTaskFragment()) {
            Slog.w(TAG,
                    "Activity is launching as a new TaskFragment, so cancelling activity result.");
            mStartActivity.resultTo.sendResult(INVALID_UID, mStartActivity.resultWho,
                    mStartActivity.requestCode, RESULT_CANCELED,
                    null /* data */, null /* dataGrants */);
            mStartActivity.resultTo = null;
        }
    }

    private void computeLaunchingTaskFlags() {
        // If the caller is not coming from another activity, but has given us an explicit task into
        // which they would like us to launch the new activity, then let's see about doing that.