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

Commit 9c198063 authored by Jeff Chang's avatar Jeff Chang Committed by Automerger Merge Worker
Browse files

[RESTRICT AUTOMERGE]Prevent set intent on non-leaf tasks am: c5aaf99d

parents b37d5d47 c5aaf99d
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -961,27 +961,20 @@ class Task extends WindowContainer<WindowContainer> {
            mCallingPackage = r.launchedFromPackage;
            mCallingFeatureId = r.launchedFromFeatureId;
            setIntent(intent != null ? intent : r.intent, info != null ? info : r.info);
            final WindowContainer parent = getParent();
            if (parent != null) {
                final Task t = parent.asTask();
                if (t != null) {
                    t.setIntent(r);
                }
            }
        }
        setLockTaskAuth(r);
    }

    /** Sets the original intent, _without_ updating the calling uid or package. */
    private void setIntent(Intent _intent, ActivityInfo info) {
        final boolean isLeaf = isLeafTask();
        if (!isLeafTask()) return;
        if (intent == null) {
            mNeverRelinquishIdentity = (info.flags & FLAG_RELINQUISH_TASK_IDENTITY) == 0;
        } else if (mNeverRelinquishIdentity && isLeaf) {
        } else if (mNeverRelinquishIdentity) {
            return;
        }

        affinity = isLeaf ? info.taskAffinity : null;
        affinity = info.taskAffinity;
        if (intent == null) {
            // If this task already has an intent associated with it, don't set the root
            // affinity -- we don't want it changing after initially set, but the initially