diff options
| author | Charles Chen <charlesccchen@google.com> | 2021-07-20 15:47:23 +0800 |
|---|---|---|
| committer | Charles Chen <charlesccchen@google.com> | 2021-07-21 15:13:40 +0800 |
| commit | 9dd4bc8bf435b488d375c94213de97780e245a08 (patch) | |
| tree | 997dd291f33d633a1bda999f53c673b2136e58df /core/java/android/window/TaskFragmentInfo.java | |
| parent | 98baf0a456bc45bc5d12ac7cff6a67565e8e7dcc (diff) | |
Add hasRunningActivity in TaskFragmentInfo
... for TaskFragmentOrganizer to finish adjacent Activities
altogether.
Test: presubmit
Bug: 189386466
Change-Id: I1fddd9c6708bc9eabec3186433f5ccb34a1e6c2c
Diffstat (limited to 'core/java/android/window/TaskFragmentInfo.java')
| -rw-r--r-- | core/java/android/window/TaskFragmentInfo.java | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/core/java/android/window/TaskFragmentInfo.java b/core/java/android/window/TaskFragmentInfo.java index 45975dbbda0b..fe25e5726110 100644 --- a/core/java/android/window/TaskFragmentInfo.java +++ b/core/java/android/window/TaskFragmentInfo.java @@ -38,8 +38,8 @@ import java.util.List; public final class TaskFragmentInfo implements Parcelable { /** - * Client assigned unique token in {@link TaskFragmentCreationParams#mFragmentToken} to create - * this TaskFragment with. + * Client assigned unique token in {@link TaskFragmentCreationParams#getFragmentToken()} to + * create this TaskFragment with. */ @NonNull private final IBinder mFragmentToken; @@ -50,9 +50,12 @@ public final class TaskFragmentInfo implements Parcelable { @NonNull private final Configuration mConfiguration = new Configuration(); - /** Whether the TaskFragment contains any child Activity. */ + /** Whether the TaskFragment contains any child Window Container. */ private final boolean mIsEmpty; + /** Whether the TaskFragment contains any running Activity. */ + private final boolean mHasRunningActivity; + /** Whether this TaskFragment is visible on the window hierarchy. */ private final boolean mIsVisible; @@ -67,12 +70,13 @@ public final class TaskFragmentInfo implements Parcelable { public TaskFragmentInfo( @NonNull IBinder fragmentToken, @NonNull WindowContainerToken token, - @NonNull Configuration configuration, boolean isEmpty, boolean isVisible, - List<IBinder> activities, @NonNull Point positionInParent) { + @NonNull Configuration configuration, boolean isEmpty, boolean hasRunningActivity, + boolean isVisible, @NonNull List<IBinder> activities, @NonNull Point positionInParent) { mFragmentToken = requireNonNull(fragmentToken); mToken = requireNonNull(token); mConfiguration.setTo(configuration); mIsEmpty = isEmpty; + mHasRunningActivity = hasRunningActivity; mIsVisible = isVisible; mActivities.addAll(activities); mPositionInParent = requireNonNull(positionInParent); @@ -94,6 +98,10 @@ public final class TaskFragmentInfo implements Parcelable { return mIsEmpty; } + public boolean hasRunningActivity() { + return mHasRunningActivity; + } + public boolean isVisible() { return mIsVisible; } @@ -125,6 +133,7 @@ public final class TaskFragmentInfo implements Parcelable { return mFragmentToken.equals(that.mFragmentToken) && mToken.equals(that.mToken) && mIsEmpty == that.mIsEmpty + && mHasRunningActivity == that.mHasRunningActivity && mIsVisible == that.mIsVisible && getWindowingMode() == that.getWindowingMode() && mActivities.equals(that.mActivities) @@ -136,6 +145,7 @@ public final class TaskFragmentInfo implements Parcelable { mToken = in.readTypedObject(WindowContainerToken.CREATOR); mConfiguration.readFromParcel(in); mIsEmpty = in.readBoolean(); + mHasRunningActivity = in.readBoolean(); mIsVisible = in.readBoolean(); in.readBinderList(mActivities); mPositionInParent = requireNonNull(in.readTypedObject(Point.CREATOR)); @@ -147,6 +157,7 @@ public final class TaskFragmentInfo implements Parcelable { dest.writeTypedObject(mToken, flags); mConfiguration.writeToParcel(dest, flags); dest.writeBoolean(mIsEmpty); + dest.writeBoolean(mHasRunningActivity); dest.writeBoolean(mIsVisible); dest.writeBinderList(mActivities); dest.writeTypedObject(mPositionInParent, flags); @@ -172,6 +183,7 @@ public final class TaskFragmentInfo implements Parcelable { + " fragmentToken=" + mFragmentToken + " token=" + mToken + " isEmpty=" + mIsEmpty + + " hasRunningActivity=" + mHasRunningActivity + " isVisible=" + mIsVisible + " positionInParent=" + mPositionInParent + "}"; |
