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

Commit fe0bfe66 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Don't block activity starts in permissive mode." into qt-dev

parents b112f3f6 07389b6e
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);