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

Commit 250e2e0f authored by Riddle Hsu's avatar Riddle Hsu Committed by Automerger Merge Worker
Browse files

Merge "Added limit of descendant amount when adding activity to task" into...

Merge "Added limit of descendant amount when adding activity to task" into udc-dev am: 5cde2b96 am: 63134367

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21808506



Change-Id: I96ecff6202227a48eb21fd02d2d17c48db5e5f4b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents ee06f2ea 63134367
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -171,6 +171,12 @@ class ActivityStarter {

    private static final int INVALID_LAUNCH_MODE = -1;

    /**
     * Avoid problematical apps from occupying system resources (e.g. the amount of surface) by
     * launching too many activities in a task.
     */
    private static final long MAX_TASK_WEIGHT_FOR_ADDING_ACTIVITY = 300;

    /**
     * Feature flag to protect PendingIntent being abused to start background activity.
     */
@@ -1647,6 +1653,13 @@ class ActivityStarter {
        }

        if (targetTask != null) {
            if (targetTask.getTreeWeight() > MAX_TASK_WEIGHT_FOR_ADDING_ACTIVITY) {
                Slog.e(TAG, "Remove " + targetTask + " because it has contained too many"
                        + " activities or windows (abort starting " + r
                        + " from uid=" + mCallingUid);
                targetTask.removeImmediately("bulky-task");
                return START_ABORTED;
            }
            mPriorAboveTask = TaskDisplayArea.getRootTaskAbove(targetTask.getRootTask());
        }