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

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

Merge "Get TaskRecord children with getChildAt & co. APIs (54/n)"

parents 176dd6b7 1a06f153
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1430,9 +1430,8 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> {
                continue;
            }

            final ArrayList<ActivityRecord> activities = task.mActivities;
            for (int activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) {
                final ActivityRecord r = activities.get(activityNdx);
            for (int activityNdx = task.getChildCount() - 1; activityNdx >= 0; --activityNdx) {
                final ActivityRecord r = task.getChildAt(activityNdx);
                if (r.isActivityTypeHome()
                        && ((userId == UserHandle.USER_ALL) || (r.mUserId == userId))) {
                    return r;
+2 −2
Original line number Diff line number Diff line
@@ -527,8 +527,8 @@ class ActivityMetricsLogger {
    }

    private boolean hasVisibleNonFinishingActivity(TaskRecord t) {
        for (int i = t.mActivities.size() - 1; i >= 0; --i) {
            final ActivityRecord r = t.mActivities.get(i);
        for (int i = t.getChildCount() - 1; i >= 0; --i) {
            final ActivityRecord r = t.getChildAt(i);
            if (r.visible && !r.finishing) {
                return true;
            }
+5 −5
Original line number Diff line number Diff line
@@ -1577,12 +1577,12 @@ final class ActivityRecord extends AppWindowToken {
                    task.mTaskId, shortComponentName, reason);
            final ArrayList<ActivityRecord> activities = task.mActivities;
            final int index = activities.indexOf(this);
            if (index < (activities.size() - 1)) {
            if (index < (task.getChildCount() - 1)) {
                if ((intent.getFlags() & Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET) != 0) {
                    // If the caller asked that this activity (and all above it)
                    // be cleared when the task is reset, don't lose that information,
                    // but propagate it up to the next activity.
                    final ActivityRecord next = activities.get(index + 1);
                    final ActivityRecord next = task.getChildAt(index + 1);
                    next.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
                }
            }
@@ -2788,12 +2788,12 @@ final class ActivityRecord extends AppWindowToken {
        if (positionInTask == -1) {
            throw new IllegalStateException("Activity not found in its task");
        }
        if (positionInTask == task.mActivities.size() - 1) {
        if (positionInTask == task.getChildCount() - 1) {
            // It's the topmost activity in the task - should become resumed now
            return true;
        }
        // Check if activity above is finishing now and this one becomes the topmost in task.
        final ActivityRecord activityAbove = task.mActivities.get(positionInTask + 1);
        final ActivityRecord activityAbove = task.getChildAt(positionInTask + 1);
        if (activityAbove.finishing && results == null) {
            // We will only allow making active if activity above wasn't launched for result.
            // Otherwise it will cause this activity to resume before getting result.
@@ -2848,7 +2848,7 @@ final class ActivityRecord extends AppWindowToken {
        stopped = false;

        if (isActivityTypeHome()) {
            mStackSupervisor.updateHomeProcess(task.mActivities.get(0).app);
            mStackSupervisor.updateHomeProcess(task.getChildAt(0).app);
        }

        if (nowVisible) {
+76 −86

File changed.

Preview size limit exceeded, changes collapsed.

+10 −10
Original line number Diff line number Diff line
@@ -824,7 +824,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {
                        System.identityHashCode(r), task.mTaskId, r.shortComponentName);
                if (r.isActivityTypeHome()) {
                    // Home process is the root process of the task.
                    updateHomeProcess(task.mActivities.get(0).app);
                    updateHomeProcess(task.getChildAt(0).app);
                }
                mService.getPackageManagerInternalLocked().notifyPackageUse(
                        r.intent.getComponent().getPackageName(), NOTIFY_PACKAGE_USE_ACTIVITY);
@@ -1899,9 +1899,9 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {
        task.createTask(onTop, true /* showForAllUsers */);
        if (DEBUG_RECENTS) Slog.v(TAG_RECENTS,
                "Added restored task=" + task + " to stack=" + stack);
        final ArrayList<ActivityRecord> activities = task.mActivities;
        for (int activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) {
            activities.get(activityNdx).setTask(task);
        for (int activityNdx = task.getChildCount() - 1; activityNdx >= 0; --activityNdx) {
            final ActivityRecord r = task.getChildAt(activityNdx);
            r.setTask(task);
        }
        return true;
    }
@@ -2501,8 +2501,8 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {
            return;
        }

        for (int i = task.mActivities.size() - 1; i >= 0; i--) {
            final ActivityRecord r = task.mActivities.get(i);
        for (int i = task.getChildCount() - 1; i >= 0; i--) {
            final ActivityRecord r = task.getChildAt(i);
            if (r.attachedToProcess()) {
                mMultiWindowModeChangedActivities.add(r);
            }
@@ -2524,8 +2524,8 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {
    }

    void scheduleUpdatePictureInPictureModeIfNeeded(TaskRecord task, Rect targetStackBounds) {
        for (int i = task.mActivities.size() - 1; i >= 0; i--) {
            final ActivityRecord r = task.mActivities.get(i);
        for (int i = task.getChildCount() - 1; i >= 0; i--) {
            final ActivityRecord r = task.getChildAt(i);
            if (r.attachedToProcess()) {
                mPipModeChangedActivities.add(r);
                // If we are scheduling pip change, then remove this activity from multi-window
@@ -2543,8 +2543,8 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {

    void updatePictureInPictureMode(TaskRecord task, Rect targetStackBounds, boolean forceUpdate) {
        mHandler.removeMessages(REPORT_PIP_MODE_CHANGED_MSG);
        for (int i = task.mActivities.size() - 1; i >= 0; i--) {
            final ActivityRecord r = task.mActivities.get(i);
        for (int i = task.getChildCount() - 1; i >= 0; i--) {
            final ActivityRecord r = task.getChildAt(i);
            if (r.attachedToProcess()) {
                r.updatePictureInPictureMode(targetStackBounds, forceUpdate);
            }
Loading