/**@class android.app.WindowConfiguration
 implements android.os.Parcelable

 implements java.lang.Comparable

@extends java.lang.Object

 Class that contains windowing configuration/state for other objects that contain windows directly
 or indirectly. E.g. Activities, Task, Displays, ...
 The test class is {@link com.android.server.wm.WindowConfigurationTests} which must be kept
 up-to-date and ran anytime changes are made to this class.
 @hide
*/
var WindowConfiguration = {

/**Rotation is not defined, use the parent containers rotation. */
ROTATION_UNDEFINED : "-1",
/**Windowing mode is currently not defined. */
WINDOWING_MODE_UNDEFINED : "0",
/**Occupies the full area of the screen or the parent container. */
WINDOWING_MODE_FULLSCREEN : "1",
/**Always on-top (always visible). of other siblings in its parent container. */
WINDOWING_MODE_PINNED : "2",
/**The primary container driving the screen to be in split-screen mode. */
WINDOWING_MODE_SPLIT_SCREEN_PRIMARY : "3",
/** The containers adjacent to the {@link #WINDOWING_MODE_SPLIT_SCREEN_PRIMARY} container in
 split-screen mode.
 NOTE: Containers launched with the windowing mode with APIs like
 {@link android.app.ActivityOptions#setLaunchWindowingMode(int)} will be launched in
 {@link #WINDOWING_MODE_FULLSCREEN} if the display isn't currently in split-screen windowing
 mode
 @see #WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY
*/
WINDOWING_MODE_SPLIT_SCREEN_SECONDARY : "4",
/** Alias for {@link #WINDOWING_MODE_SPLIT_SCREEN_SECONDARY} that makes it clear that the usage
 points for APIs like {@link android.app.ActivityOptions#setLaunchWindowingMode(int)} that the container
 will launch into fullscreen or split-screen secondary depending on if the device is currently
 in fullscreen mode or split-screen mode.
*/
WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY : "4",
/**Can be freely resized within its parent container. */
WINDOWING_MODE_FREEFORM : "5",
/**Activity type is currently not defined. */
ACTIVITY_TYPE_UNDEFINED : "0",
/**Standard activity type. Nothing special about the activity... */
ACTIVITY_TYPE_STANDARD : "1",
/**Home/Launcher activity type. */
ACTIVITY_TYPE_HOME : "2",
/**Recents/Overview activity type. There is only one activity with this type in the system. */
ACTIVITY_TYPE_RECENTS : "3",
/**Assistant activity type. */
ACTIVITY_TYPE_ASSISTANT : "4",
/**Bit that indicates that the {@link #mBounds} changed.
 @hide */
WINDOW_CONFIG_BOUNDS : "1",
/**Bit that indicates that the {@link #mAppBounds} changed.
 @hide */
WINDOW_CONFIG_APP_BOUNDS : "2",
/**Bit that indicates that the {@link #mWindowingMode} changed.
 @hide */
WINDOW_CONFIG_WINDOWING_MODE : "4",
/**Bit that indicates that the {@link #mActivityType} changed.
 @hide */
WINDOW_CONFIG_ACTIVITY_TYPE : "8",
/**Bit that indicates that the {@link #mAlwaysOnTop} changed.
 @hide */
WINDOW_CONFIG_ALWAYS_ON_TOP : "16",
/**Bit that indicates that the {@link #mRotation} changed.
 @hide */
WINDOW_CONFIG_ROTATION : "32",
/**Bit that indicates that the {@link #mDisplayWindowingMode} changed.
 @hide */
WINDOW_CONFIG_DISPLAY_WINDOWING_MODE : "64",
/**@hide */
PINNED_WINDOWING_MODE_ELEVATION_IN_DIP : "5",
/**@hide */
CREATOR : "null",
/**
*/
writeToParcel : function(  ) {},

/**
*/
describeContents : function(  ) {},

/**Sets the bounds to the provided {@link Rect}.
@param {Object {Rect}} rect the new bounds value.
*/
setBounds : function(  ) {},

/**Set {@link #mAppBounds} to the input Rect.
@param {Object {Rect}} rect The rect value to set {@link #mAppBounds} to.
@see #getAppBounds()
*/
setAppBounds : function(  ) {},

/**Sets whether this window should be always on top.
@param {Boolean} alwaysOnTop {@code true} to set window always on top, otherwise {@code false}
@hide 
*/
setAlwaysOnTop : function(  ) {},

/**
@see #setAppBounds(Rect)
@see #getAppBounds()
@hide 
*/
setAppBounds : function(  ) {},

/**
@see #setAppBounds(Rect)
*/
getAppBounds : function(  ) {},

/**
@see #setBounds(Rect)
*/
getBounds : function(  ) {},

/**
*/
getRotation : function(  ) {},

/**
*/
setRotation : function(  ) {},

/**
*/
setWindowingMode : function(  ) {},

/**
*/
getWindowingMode : function(  ) {},

/**
@hide 
*/
setDisplayWindowingMode : function(  ) {},

/**
*/
setActivityType : function(  ) {},

/**
*/
getActivityType : function(  ) {},

/**
*/
setTo : function(  ) {},

/**Set this object to completely undefined.
@hide 
*/
unset : function(  ) {},

/**
@hide 
*/
setToDefaults : function(  ) {},

/**Copies the fields from delta into this Configuration object, keeping
 track of which ones have changed. Any undefined fields in {@code delta}
 are ignored and not copied in to the current Configuration.
@return {Number} a bit mask of the changed fields, as per {@link #diff}
@hide 
*/
updateFrom : function(  ) {},

/**Return a bit mask of the differences between this Configuration object and the given one.
 Does not change the values of either. Any undefined fields in <var>other</var> are ignored.
@param {Object {WindowConfiguration}} other The configuration to diff against.
@param {Boolean} compareUndefined If undefined values should be compared.
@return {Number} Returns a bit mask indicating which configuration
 values has changed, containing any combination of {@link WindowConfig} flags.
@see Configuration#diff(Configuration)
@hide 
*/
diff : function(  ) {},

/**
*/
compareTo : function(  ) {},

/**
@hide 
*/
equals : function(  ) {},

/**
@hide 
*/
hashCode : function(  ) {},

/**
@hide 
*/
toString : function(  ) {},

/**Write to a protocol buffer output stream.
 Protocol buffer message definition at {@link android.app.WindowConfigurationProto}
@param {Object {ProtoOutputStream}} protoOutputStream Stream to write the WindowConfiguration object to.
@param {Number} fieldId           Field Id of the WindowConfiguration as defined in the parent message
@hide 
*/
writeToProto : function(  ) {},

/**Read from a protocol buffer input stream.
 Protocol buffer message definition at {@link android.app.WindowConfigurationProto}
@param {Object {ProtoInputStream}} proto   Stream to read the WindowConfiguration object from.
@param {Number} fieldId Field Id of the WindowConfiguration as defined in the parent message
@hide 
*/
readFromProto : function(  ) {},

/**Returns true if the activities associated with this window configuration display a shadow
 around their border.
@hide 
*/
hasWindowShadow : function(  ) {},

/**Returns true if the activities associated with this window configuration display a decor
 view.
@hide 
*/
hasWindowDecorCaption : function(  ) {},

/**Returns true if the tasks associated with this window configuration can be resized
 independently of their parent container.
@hide 
*/
canResizeTask : function(  ) {},

/**Returns true if the task bounds should persist across power cycles.
@hide 
*/
persistTaskBounds : function(  ) {},

/**Returns true if the tasks associated with this window configuration are floating.
 Floating tasks are laid out differently as they are allowed to extend past the display bounds
 without overscan insets.
@hide 
*/
tasksAreFloating : function(  ) {},

/**Returns true if the windowingMode represents a floating window.
@hide 
*/
isFloating : function(  ) {},

/**Returns true if the windowingMode represents a split window.
@hide 
*/
isSplitScreenWindowingMode : function(  ) {},

/**Returns true if the windows associated with this window configuration can receive input keys.
@hide 
*/
canReceiveKeys : function(  ) {},

/**Returns true if the container associated with this window configuration is always-on-top of
 its siblings.
@hide 
*/
isAlwaysOnTop : function(  ) {},

/**Returns true if any visible windows belonging to apps with this window configuration should
 be kept on screen when the app is killed due to something like the low memory killer.
@hide 
*/
keepVisibleDeadAppWindowOnScreen : function(  ) {},

/**Returns true if the backdrop on the client side should match the frame of the window.
 Returns false, if the backdrop should be fullscreen.
@hide 
*/
useWindowFrameForBackdrop : function(  ) {},

/**Returns true if this container may be scaled without resizing, and windows within may need
 to be configured as such.
@hide 
*/
windowsAreScaleable : function(  ) {},

/**Returns true if windows in this container should be given move animations by default.
@hide 
*/
hasMovementAnimations : function(  ) {},

/**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 
*/
supportSplitScreenWindowingMode : function(  ) {},

/**
@hide 
*/
supportSplitScreenWindowingMode : function(  ) {},

/**
@hide 
*/
windowingModeToString : function(  ) {},

/**
@hide 
*/
activityTypeToString : function(  ) {},

/**
@hide 
*/
alwaysOnTopToString : function(  ) {},


};