diff options
| author | Louis Chang <louischang@google.com> | 2021-09-09 13:32:57 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-09-09 13:32:57 +0000 |
| commit | c08fc30d0e352cf07e1b1c58a137ff64e8d5bc7e (patch) | |
| tree | 9e7c56a7762abb9b711ce8d35f8429385b0061d6 /core/java/android | |
| parent | 2190ea889530be415dea0a42c2ece3ae32efe676 (diff) | |
| parent | c5024fc2b453b80db43cf56130f8e01150e343be (diff) | |
Merge "Not removing primary TaskFragment when clear task" into sc-v2-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/window/TaskFragmentInfo.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/core/java/android/window/TaskFragmentInfo.java b/core/java/android/window/TaskFragmentInfo.java index b55372b08b3a..165dcdf3a836 100644 --- a/core/java/android/window/TaskFragmentInfo.java +++ b/core/java/android/window/TaskFragmentInfo.java @@ -71,11 +71,18 @@ public final class TaskFragmentInfo implements Parcelable { /** Relative position of the fragment's top left corner in the parent container. */ private final Point mPositionInParent; + /** + * Whether the last running activity in the TaskFragment was finished due to clearing task while + * launching an activity in the host Task. + */ + private final boolean mIsTaskClearedForReuse; + /** @hide */ public TaskFragmentInfo( @NonNull IBinder fragmentToken, @NonNull WindowContainerToken token, @NonNull Configuration configuration, boolean isEmpty, int runningActivityCount, - boolean isVisible, @NonNull List<IBinder> activities, @NonNull Point positionInParent) { + boolean isVisible, @NonNull List<IBinder> activities, @NonNull Point positionInParent, + boolean isTaskClearedForReuse) { mFragmentToken = requireNonNull(fragmentToken); mToken = requireNonNull(token); mConfiguration.setTo(configuration); @@ -84,6 +91,7 @@ public final class TaskFragmentInfo implements Parcelable { mIsVisible = isVisible; mActivities.addAll(activities); mPositionInParent = requireNonNull(positionInParent); + mIsTaskClearedForReuse = isTaskClearedForReuse; } @NonNull @@ -128,6 +136,10 @@ public final class TaskFragmentInfo implements Parcelable { return mPositionInParent; } + public boolean isTaskClearedForReuse() { + return mIsTaskClearedForReuse; + } + @WindowingMode public int getWindowingMode() { return mConfiguration.windowConfiguration.getWindowingMode(); @@ -149,7 +161,8 @@ public final class TaskFragmentInfo implements Parcelable { && mIsVisible == that.mIsVisible && getWindowingMode() == that.getWindowingMode() && mActivities.equals(that.mActivities) - && mPositionInParent.equals(that.mPositionInParent); + && mPositionInParent.equals(that.mPositionInParent) + && mIsTaskClearedForReuse == that.mIsTaskClearedForReuse; } private TaskFragmentInfo(Parcel in) { @@ -161,6 +174,7 @@ public final class TaskFragmentInfo implements Parcelable { mIsVisible = in.readBoolean(); in.readBinderList(mActivities); mPositionInParent = requireNonNull(in.readTypedObject(Point.CREATOR)); + mIsTaskClearedForReuse = in.readBoolean(); } /** @hide */ @@ -174,6 +188,7 @@ public final class TaskFragmentInfo implements Parcelable { dest.writeBoolean(mIsVisible); dest.writeBinderList(mActivities); dest.writeTypedObject(mPositionInParent, flags); + dest.writeBoolean(mIsTaskClearedForReuse); } @NonNull @@ -199,6 +214,7 @@ public final class TaskFragmentInfo implements Parcelable { + " runningActivityCount=" + mRunningActivityCount + " isVisible=" + mIsVisible + " positionInParent=" + mPositionInParent + + " isTaskClearedForReuse=" + mIsTaskClearedForReuse + "}"; } |
