summaryrefslogtreecommitdiff
path: root/core/java/android/window/TaskFragmentInfo.java
diff options
context:
space:
mode:
authorCharles Chen <charlesccchen@google.com>2021-07-20 15:47:23 +0800
committerCharles Chen <charlesccchen@google.com>2021-07-21 15:13:40 +0800
commit9dd4bc8bf435b488d375c94213de97780e245a08 (patch)
tree997dd291f33d633a1bda999f53c673b2136e58df /core/java/android/window/TaskFragmentInfo.java
parent98baf0a456bc45bc5d12ac7cff6a67565e8e7dcc (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.java22
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
+ "}";