diff options
Diffstat (limited to 'core/java/android/app/WindowConfiguration.java')
| -rw-r--r-- | core/java/android/app/WindowConfiguration.java | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/core/java/android/app/WindowConfiguration.java b/core/java/android/app/WindowConfiguration.java index b69cd026776b..515248512255 100644 --- a/core/java/android/app/WindowConfiguration.java +++ b/core/java/android/app/WindowConfiguration.java @@ -57,19 +57,26 @@ public class WindowConfiguration implements Parcelable, Comparable<WindowConfigu /** Always on-top (always visible). of other siblings in its parent container. * @hide */ public static final int WINDOWING_MODE_PINNED = 2; - /** Occupies a dedicated region of the screen or its parent container. + /** The primary container driving the screen to be in split-screen mode. * @hide */ - public static final int WINDOWING_MODE_DOCKED = 3; + public static final int WINDOWING_MODE_SPLIT_SCREEN_PRIMARY = 3; + /** + * The containers adjacent to the {@link #WINDOWING_MODE_SPLIT_SCREEN_PRIMARY} container in + * split-screen mode. + * @hide + */ + public static final int WINDOWING_MODE_SPLIT_SCREEN_SECONDARY = 4; /** Can be freely resized within its parent container. * @hide */ - public static final int WINDOWING_MODE_FREEFORM = 4; + public static final int WINDOWING_MODE_FREEFORM = 5; /** @hide */ @IntDef({ WINDOWING_MODE_UNDEFINED, WINDOWING_MODE_FULLSCREEN, WINDOWING_MODE_PINNED, - WINDOWING_MODE_DOCKED, + WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, + WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, WINDOWING_MODE_FREEFORM, }) public @interface WindowingMode {} @@ -469,12 +476,26 @@ public class WindowConfiguration implements Parcelable, Comparable<WindowConfigu return mWindowingMode == WINDOWING_MODE_PINNED; } + /** + * Returns true if this container can be put in either + * {@link #WINDOWING_MODE_SPLIT_SCREEN_PRIMARY} or + * {@link #WINDOWING_MODE_SPLIT_SCREEN_SECONDARY} windowing modes based on its current state. + * @hide + */ + public boolean supportSplitScreenWindowingMode() { + if (mActivityType == ACTIVITY_TYPE_ASSISTANT) { + return false; + } + return mWindowingMode != WINDOWING_MODE_FREEFORM && mWindowingMode != WINDOWING_MODE_PINNED; + } + private static String windowingModeToString(@WindowingMode int windowingMode) { switch (windowingMode) { case WINDOWING_MODE_UNDEFINED: return "undefined"; case WINDOWING_MODE_FULLSCREEN: return "fullscreen"; case WINDOWING_MODE_PINNED: return "pinned"; - case WINDOWING_MODE_DOCKED: return "docked"; + case WINDOWING_MODE_SPLIT_SCREEN_PRIMARY: return "split-screen-primary"; + case WINDOWING_MODE_SPLIT_SCREEN_SECONDARY: return "split-screen-secondary"; case WINDOWING_MODE_FREEFORM: return "freeform"; } return String.valueOf(windowingMode); |
