diff options
| author | Chris Li <lihongyu@google.com> | 2021-01-29 12:43:07 -0800 |
|---|---|---|
| committer | Chris Li <lihongyu@google.com> | 2021-01-31 17:58:59 -0800 |
| commit | acbe872a5ffd8dfe7bb2fd1c7aa405796c047271 (patch) | |
| tree | 27a75c0fec595f127c58e84cf164ca79d5b19d34 /core/java/android | |
| parent | 544ee86b0c9989a3f840d60d49e824e7255579e4 (diff) | |
Allow non-resizable apps in split-screen (6/n)
Trigger TaskInfoChanged when the direct top Activity of the organized
Task enters or exits size compat mode.
This is the prerequisite to move SizeCompatModeActivityController from
system ui to shell. After that, we can render the size compat restart
button on Task Surface similar to split screen divider.
Bug: 176061101
Bug: 178327644
Test: atest WmTests:SizeCompatTests
Test: atest WmTests:WindowOrganizerTests
Change-Id: I0e328796095bc17d40a5ef2f354f291c12ffa04a
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/TaskInfo.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/core/java/android/app/TaskInfo.java b/core/java/android/app/TaskInfo.java index 623c878d7bfa..e31e0243cae0 100644 --- a/core/java/android/app/TaskInfo.java +++ b/core/java/android/app/TaskInfo.java @@ -36,7 +36,6 @@ import android.window.TaskSnapshot; import android.window.WindowContainerToken; import java.util.ArrayList; -import java.util.List; import java.util.Objects; /** @@ -180,6 +179,19 @@ public class TaskInfo { public ActivityInfo topActivityInfo; /** + * The top activity in this task. + * @hide + */ + @Nullable + public IBinder topActivityToken; + + /** + * Whether the direct top activity is in size compat mode on foreground. + * @hide + */ + public boolean topActivityInSizeCompat; + + /** * Whether this task is resizable. Unlike {@link #resizeMode} (which is what the top activity * supports), this is what the system actually uses for resizability based on other policy and * developer options. @@ -356,6 +368,8 @@ public class TaskInfo { parentTaskId = source.readInt(); isFocused = source.readBoolean(); isVisible = source.readBoolean(); + topActivityToken = source.readStrongBinder(); + topActivityInSizeCompat = source.readBoolean(); } /** @@ -391,6 +405,8 @@ public class TaskInfo { dest.writeInt(parentTaskId); dest.writeBoolean(isFocused); dest.writeBoolean(isVisible); + dest.writeStrongBinder(topActivityToken); + dest.writeBoolean(topActivityInSizeCompat); } @Override @@ -415,6 +431,8 @@ public class TaskInfo { + " parentTaskId=" + parentTaskId + " isFocused=" + isFocused + " isVisible=" + isVisible + + " topActivityToken=" + topActivityToken + + " topActivityInSizeCompat=" + topActivityInSizeCompat + "}"; } } |
