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

Commit ed0f3828 authored by Alan Stokes's avatar Alan Stokes Committed by android-build-merger
Browse files

Merge "Don't block activity starts in permissive mode." into qt-dev am: fe0bfe66 am: 41d4175c

am: 9978e069

Change-Id: Ib5bfe8531055d6dcaf31042b140f85f0538923a6
parents 3080f146 9978e069
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ class ActivityStarter {
    private ActivityOptions mOptions;

    // If it is true, background activity can only be started in an existing task that contains
    // an activity with same uid.
    // an activity with same uid, or if activity starts are enabled in developer options.
    private boolean mRestrictedBgActivity;

    private int mLaunchMode;
@@ -921,7 +921,7 @@ class ActivityStarter {
                || stack.getResumedActivity().info.applicationInfo.uid != realCallingUid)) {
            if (!mService.checkAppSwitchAllowedLocked(callingPid, callingUid,
                    realCallingPid, realCallingUid, "Activity start")) {
                if (!restrictedBgActivity) {
                if (!(restrictedBgActivity && handleBackgroundActivityAbort(r))) {
                    mController.addPendingActivityLaunch(new PendingActivityLaunch(r,
                            sourceRecord, startFlags, stack, callerApp));
                }
@@ -1916,7 +1916,7 @@ class ActivityStarter {

        mNoAnimation = (mLaunchFlags & FLAG_ACTIVITY_NO_ANIMATION) != 0;

        if (restrictedBgActivity) {
        if (mRestrictedBgActivity && !mService.isBackgroundActivityStartsEnabled()) {
            mAvoidMoveToFront = true;
            mDoResume = false;
        }
@@ -2380,7 +2380,6 @@ class ActivityStarter {
            if (handleBackgroundActivityAbort(mStartActivity)) {
                return START_ABORTED;
            }
            return START_ABORTED;
        }
        // We only want to allow changing stack in two cases:
        // 1. If the target task is not the top one. Otherwise we would move the launching task to
@@ -2553,17 +2552,15 @@ class ActivityStarter {
            if (handleBackgroundActivityAbort(mStartActivity)) {
                return START_ABORTED;
            }
            return START_ABORTED;
        }
        final TaskRecord task = (prev != null)
                ? prev.getTaskRecord() : mTargetStack.createTaskRecord(
                mSupervisor.getNextTaskIdForUserLocked(mStartActivity.mUserId), mStartActivity.info,
                mIntent, null, null, true, mStartActivity, mSourceRecord, mOptions);
        if (mRestrictedBgActivity && !task.containsAppUid(mCallingUid)) {
        if (mRestrictedBgActivity && prev != null && !task.containsAppUid(mCallingUid)) {
            if (handleBackgroundActivityAbort(mStartActivity)) {
                return START_ABORTED;
            }
            return START_ABORTED;
        }
        addOrReparentStartingActivity(task, "setTaskToCurrentTopOrCreateNewTask");
        mTargetStack.positionChildWindowContainerAtTop(task);