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

Commit d6cf8c85 authored by Shivam Agrawal's avatar Shivam Agrawal
Browse files

Update toString methods for various Embedding...

...Reference Implementation classes

Bug: b/204193051
Test: manual
Change-Id: I79e94feb002dadc2219ccc7604843a3c61b91057
parent ef61167c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -213,6 +213,7 @@ public final class TaskFragmentInfo implements Parcelable {
                + " isEmpty=" + mIsEmpty
                + " runningActivityCount=" + mRunningActivityCount
                + " isVisible=" + mIsVisible
                + " activities=" + mActivities
                + " positionInParent=" + mPositionInParent
                + " isTaskClearedForReuse=" + mIsTaskClearedForReuse
                + "}";
+9 −0
Original line number Diff line number Diff line
@@ -83,4 +83,13 @@ class SplitContainer {
                && ((SplitPairRule) splitRule).shouldFinishSecondaryWithPrimary();
        return shouldFinishSecondaryWithPrimary || isPlaceholderContainer;
    }

    @Override
    public String toString() {
        return "SplitContainer{"
                + " primaryContainer=" + mPrimaryContainer
                + " secondaryContainer=" + mSecondaryContainer
                + " splitRule=" + mSplitRule
                + "}";
    }
}
+39 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.window.TaskFragmentInfo;
import android.window.WindowContainerTransaction;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
@@ -267,4 +268,42 @@ class TaskFragmentContainer {
            mLastRequestedBounds.set(bounds);
        }
    }

    @Override
    public String toString() {
        return toString(true /* includeContainersToFinishOnExit */);
    }

    /**
     * @return string for this TaskFragmentContainer and includes containers to finish on exit
     * based on {@code includeContainersToFinishOnExit}. If containers to finish on exit are always
     * included in the string, then calling {@link #toString()} on a container that mutually
     * finishes with another container would cause a stack overflow.
     */
    private String toString(boolean includeContainersToFinishOnExit) {
        return "TaskFragmentContainer{"
                + " token=" + mToken
                + " info=" + mInfo
                + " topNonFinishingActivity=" + getTopNonFinishingActivity()
                + " pendingAppearedActivities=" + mPendingAppearedActivities
                + (includeContainersToFinishOnExit ? " containersToFinishOnExit="
                + containersToFinishOnExitToString() : "")
                + " activitiesToFinishOnExit=" + mActivitiesToFinishOnExit
                + " isFinished=" + mIsFinished
                + " lastRequestedBounds=" + mLastRequestedBounds
                + "}";
    }

    private String containersToFinishOnExitToString() {
        StringBuilder sb = new StringBuilder("[");
        Iterator<TaskFragmentContainer> containerIterator = mContainersToFinishOnExit.iterator();
        while (containerIterator.hasNext()) {
            sb.append(containerIterator.next().toString(
                    false /* includeContainersToFinishOnExit */));
            if (containerIterator.hasNext()) {
                sb.append(", ");
            }
        }
        return sb.append("]").toString();
    }
}