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

Commit 41b8b1fa authored by Garfield Tan's avatar Garfield Tan
Browse files

Avoid calling getTopMostTask() twice in Task#fillTaskInfo()

getTopMostTask() is a expensive recursive call that we know won't change
result in a single fillTaskInfo() call, so let's stop calling it twice
in a request.

Bug: 174209413
Test: Builds.
Change-Id: I8239f6e812d41d636573d33f2053bf361db3fc8d
parent fe52b872
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -4092,7 +4092,7 @@ class Task extends WindowContainer<WindowContainer> {
        info.positionInParent = getRelativePosition();
        info.positionInParent = getRelativePosition();
        info.parentBounds = getParentBounds();
        info.parentBounds = getParentBounds();


        info.pictureInPictureParams = getPictureInPictureParams();
        info.pictureInPictureParams = getPictureInPictureParams(top);
        info.topActivityInfo = mReuseActivitiesReport.top != null
        info.topActivityInfo = mReuseActivitiesReport.top != null
                ? mReuseActivitiesReport.top.info
                ? mReuseActivitiesReport.top.info
                : null;
                : null;
@@ -4109,7 +4109,10 @@ class Task extends WindowContainer<WindowContainer> {
    }
    }


    @Nullable PictureInPictureParams getPictureInPictureParams() {
    @Nullable PictureInPictureParams getPictureInPictureParams() {
        final Task top = getTopMostTask();
        return getPictureInPictureParams(getTopMostTask());
    }

    private @Nullable PictureInPictureParams getPictureInPictureParams(Task top) {
        if (top == null) return null;
        if (top == null) return null;
        final ActivityRecord rootActivity = top.getRootActivity();
        final ActivityRecord rootActivity = top.getRootActivity();
        return (rootActivity == null || rootActivity.pictureInPictureArgs.empty())
        return (rootActivity == null || rootActivity.pictureInPictureArgs.empty())