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

Commit fd711731 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Do not resolve ActivityInfo in navigateUpTo" into tm-qpr-dev am:...

Merge "Merge "Do not resolve ActivityInfo in navigateUpTo" into tm-qpr-dev am: 576b93c7" into tm-qpr-dev-plus-aosp
parents d01e44a5 20e6f6e5
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -8045,8 +8045,9 @@ public class Activity extends ContextThemeWrapper
                resultData.prepareToLeaveProcess(this);
            }
            upIntent.prepareToLeaveProcess(this);
            return ActivityClient.getInstance().navigateUpTo(mToken, upIntent, resultCode,
                    resultData);
            String resolvedType = upIntent.resolveTypeIfNeeded(getContentResolver());
            return ActivityClient.getInstance().navigateUpTo(mToken, upIntent, resolvedType,
                    resultCode, resultData);
        } else {
            return mParent.navigateUpToFromChild(this, upIntent);
        }
+3 −3
Original line number Diff line number Diff line
@@ -141,11 +141,11 @@ public class ActivityClient {
        }
    }

    boolean navigateUpTo(IBinder token, Intent destIntent, int resultCode,
    boolean navigateUpTo(IBinder token, Intent destIntent, String resolvedType, int resultCode,
            Intent resultData) {
        try {
            return getActivityClientController().navigateUpTo(token, destIntent, resultCode,
                    resultData);
            return getActivityClientController().navigateUpTo(token, destIntent, resolvedType,
                    resultCode, resultData);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+2 −2
Original line number Diff line number Diff line
@@ -60,8 +60,8 @@ interface IActivityClientController {
            in SizeConfigurationBuckets sizeConfigurations);
    boolean moveActivityTaskToBack(in IBinder token, boolean nonRoot);
    boolean shouldUpRecreateTask(in IBinder token, in String destAffinity);
    boolean navigateUpTo(in IBinder token, in Intent target, int resultCode,
            in Intent resultData);
    boolean navigateUpTo(in IBinder token, in Intent target, in String resolvedType,
            int resultCode, in Intent resultData);
    boolean releaseActivityInstance(in IBinder token);
    boolean finishActivity(in IBinder token, int code, in Intent data, int finishTask);
    boolean finishActivityAffinity(in IBinder token);
+3 −3
Original line number Diff line number Diff line
@@ -332,8 +332,8 @@ class ActivityClientController extends IActivityClientController.Stub {
    }

    @Override
    public boolean navigateUpTo(IBinder token, Intent destIntent, int resultCode,
            Intent resultData) {
    public boolean navigateUpTo(IBinder token, Intent destIntent, String resolvedType,
            int resultCode, Intent resultData) {
        final ActivityRecord r;
        synchronized (mGlobalLock) {
            r = ActivityRecord.isInRootTaskLocked(token);
@@ -348,7 +348,7 @@ class ActivityClientController extends IActivityClientController.Stub {

        synchronized (mGlobalLock) {
            return r.getRootTask().navigateUpTo(
                    r, destIntent, destGrants, resultCode, resultData, resultGrants);
                    r, destIntent, resolvedType, destGrants, resultCode, resultData, resultGrants);
        }
    }

+19 −24
Original line number Diff line number Diff line
@@ -5330,8 +5330,9 @@ class Task extends TaskFragment {
        return false;
    }

    boolean navigateUpTo(ActivityRecord srec, Intent destIntent, NeededUriGrants destGrants,
            int resultCode, Intent resultData, NeededUriGrants resultGrants) {
    boolean navigateUpTo(ActivityRecord srec, Intent destIntent, String resolvedType,
            NeededUriGrants destGrants, int resultCode, Intent resultData,
            NeededUriGrants resultGrants) {
        if (!srec.attachedToProcess()) {
            // Nothing to do if the caller is not attached, because this method should be called
            // from an alive activity.
@@ -5424,15 +5425,12 @@ class Task extends TaskFragment {
                            srec.packageName);
                }
            } else {
                try {
                    ActivityInfo aInfo = AppGlobals.getPackageManager().getActivityInfo(
                            destIntent.getComponent(), ActivityManagerService.STOCK_PM_FLAGS,
                            srec.mUserId);
                // TODO(b/64750076): Check if calling pid should really be -1.
                final int res = mAtmService.getActivityStartController()
                        .obtainStarter(destIntent, "navigateUpTo")
                        .setResolvedType(resolvedType)
                        .setUserId(srec.mUserId)
                        .setCaller(srec.app.getThread())
                            .setActivityInfo(aInfo)
                        .setResultTo(parent.token)
                        .setCallingPid(-1)
                        .setCallingUid(callingUid)
@@ -5443,9 +5441,6 @@ class Task extends TaskFragment {
                        .setComponentSpecified(true)
                        .execute();
                foundParentInTask = res == ActivityManager.START_SUCCESS;
                } catch (RemoteException e) {
                    foundParentInTask = false;
                }
                parent.finishIfPossible(resultCode, resultData, resultGrants,
                        "navigate-top", true /* oomAdj */);
            }
Loading