WindowManager
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa | 
|---|---|---|---|---|
| 24 de septiembre de 2025 | 1.5.0 | - | - | - | 
Cómo declarar dependencias
Para agregar una dependencia en WindowManager, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:
Groovy
dependencies { implementation "androidx.window:window:1.5.0" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.5.0" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.5.0" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.5.0" // For testing implementation "androidx.window:window-testing:1.5.0" }
Kotlin
dependencies { implementation("androidx.window:window:1.5.0") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.5.0") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.5.0") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.5.0") // For testing implementation("androidx.window:window-testing:1.5.0") }
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.5
Versión 1.5.0
24 de septiembre de 2025
Lanzamiento de androidx.window:window-*:1.5.0. La versión 1.5.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.4.0:
- Agrega puntos de interrupción 
WindowSizeClasspara Large y XLarge. (I40d85) - Expande el cálculo de 
WindowMetricsal contexto de la aplicación. (I8eeeb, b/360934048) - Se proporcionó un getter para habilitar el acceso directo a 
WindowLayoutInfo(Ie9513). - Se introdujo una API para guardar automáticamente el estado de la incorporación y restablecerlo cuando se reinicia el proceso de la app. (Ie0295)
 - Se quitó la API experimental de 
WindowInsets. (I68a71) 
Correcciones de errores
- Se corrigió el problema por el que 
EmbeddingRuledevolvía unhashCodediferente en algunos casos. (I748cc) - Se corrigió un problema por el que podía producirse un 
NullPointerExceptiondebido a errores en la implementación del dispositivo. - Se corrigió un problema por el que fallaban nuestras verificaciones de seguridad de 
ActivityEmbeddingdebido a que ProGuard quitaba las clases no utilizadas. 
Contribución externa
- Se agregaron todas las plataformas de KMP a 
window-core(If3d7c). 
Versión 1.5.0-rc01
27 de agosto de 2025
Lanzamiento de androidx.window:window-*:1.5.0-rc01. La versión 1.5.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema por el que podía producirse un 
NullPointerExceptiondebido a errores en la implementación del dispositivo. - Se corrigió un problema por el que fallaban nuestras verificaciones de seguridad de 
ActivityEmbeddingdebido a que ProGuard quitaba las clases no utilizadas. 
Versión 1.5.0-beta02
13 de agosto de 2025
Lanzamiento de androidx.window:window-*:1.5.0-beta02. La versión 1.5.0-beta02 contiene estas confirmaciones.
Nuevas funciones
- Se corrigieron errores menores.
 
Contribución externa
- Se agregaron todas las plataformas de KMP a 
window-core(If3d7c). 
Versión 1.5.0-beta01
2 de julio de 2025
Lanzamiento de androidx.window:window-*:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones.
Versión 1.5.0-alpha02
7 de mayo de 2025
Lanzamiento de androidx.window:window-*:1.5.0-alpha02. La versión 1.5.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Agrega puntos de interrupción 
WindowSizeClasspara Large y XLarge. (I40d85) - Expande el cálculo de 
WindowMetricsal contexto de la aplicación. (I8eeeb, b/360934048) - Se proporcionó un getter para habilitar el acceso directo a 
WindowLayoutInfo(Ie9513). - Se introdujo una API para guardar automáticamente el estado de la incorporación y restablecerlo cuando se reinicia el proceso de la app. (Ie0295)
 - Se quitó la API experimental de 
WindowInsets. (I68a71) - Se ocultaron algunos constructores (I87b8d).
 
Correcciones de errores
- Se corrigió el problema por el que 
EmbeddingRuledevolvía unhashCodediferente en algunos casos. (I748cc) 
Versión 1.5.0-alpha01
12 de marzo de 2025
Lanzamiento de androidx.window:window-*:1.5.0-alpha01. La versión 1.5.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Es el lanzamiento inicial de la próxima versión 1.5.0.
 
Versión 1.4
Versión 1.4.0
20 de mayo de 2025
Lanzamiento de androidx.window:window-*:1.4.0. La versión 1.4.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.3.0
- Incorporación de actividad
- API para personalizar las animaciones de inicio
 - Divisor interactivo
 ActivityStackFijar- Atenuación del diálogo de pantalla completa
 - Devolución de llamada de información de la ventana de actividad integrada
 - Administración de 
ActivityStackmejorada - Cómo iniciar una actividad en un 
ActivityStackespecificado 
 WindowMetricsCalculator- Mejora la compatibilidad con la capacidad de prueba
 
WindowMetrics- Métodos de conveniencia para calcular 
withDpyheightDp - Actualiza la verificación de límites a 
isAtLeasty usa límites inferiores para admitir la adición de valores nuevos. 
- Métodos de conveniencia para calcular 
 WindowSizeClass- Agrega una forma de calcular desde 
WindowMetrics 
- Agrega una forma de calcular desde 
 WindowInfoTracker- Se agregó una API para detectar las posturas compatibles en el dispositivo
 
Versión 1.4.0-rc02
23 de abril de 2025
Lanzamiento de androidx.window:window-*:1.4.0-rc02. La versión 1.4.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió una falla de ProGuard para 
ActivityEmbedding. 
Versión 1.4.0-rc01
12 de marzo de 2025
Lanzamiento de androidx.window:window-*:1.4.0-rc01. La versión 1.4.0-rc01 contiene estas confirmaciones.
Nuevas funciones
- Se realizaron actualizaciones en la API de 
WindowSizeClass. - Se actualizaron las APIs de Activity Embedding.
 
Versión 1.4.0-beta02
12 de febrero de 2025
Lanzamiento de androidx.window:window-*:1.4.0-beta02. La versión 1.4.0-beta02 contiene estas confirmaciones.
Nuevas funciones
- Corrige una anotación que solo estaba en la propiedad, pero no en el getter.
 
Versión 1.4.0-beta01
15 de enero de 2025
Lanzamiento de androidx.window:window-*:1.4.0-beta01. La versión 1.4.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó una API para permitir la personalización de las animaciones de 
ActivityEmbedding. - Se expandieron las APIs de prueba de 
WindowMetricsCalculatorpara permitir la simulación de las métricas de la ventana. 
Cambios en la API
- Se ocultaron algunos constructores (I87b8d).
 - Permitir que las apps personalicen las animaciones de 
ActivityEmbedding(If31a8) - Se agregó compatibilidad con el destino del KMP 
watchosDeviceArm64y Kotlin 1.9 como destino (Icf15d, b/364652024). - Exponer APIs de 
WindowMetricsCalculator(I1cebf) 
Correcciones de errores
- Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deberían usar el siguiente argumento del compilador para aplicar el uso correcto: 
-Xjspecify-annotations=strict(este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin). (Ie69ac, b/326456246) 
Versión 1.4.0-alpha05
16 de octubre de 2024
Lanzamiento de androidx.window:window-*:1.4.0-alpha05. La versión 1.4.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Agrega funciones convenientes para obtener 
widthDpyheightDpdeWindowMetrics. 
Cambios en la API
- Agrega 
widthDpyheightDpaWindowMetrics. (Ide026) - Se quitó la API experimental de 
WindowInsets. (I68a71) - Se actualizaron los nombres de los métodos de verificación de límites a 
isAtLeast(Ib0ab7). 
Versión 1.4.0-alpha04
2 de octubre de 2024
Lanzamiento de androidx.window:window-*:1.4.0-alpha04. La versión 1.4.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Se agregó un método para calcular el 
WindowSizeClassa partir deWindowMetrics. (874dba) - Para mayor claridad, cambia los métodos 
WindowSizeClassacontainsWidthDp,containsHeightDpycontainsWindowSizeDp. (fa760d) - Convierte 
WindowAreaControlleren una clase base abstracta. (I90893) 
Correcciones de errores
- Se agregó compatibilidad con límites relativos cuando se crea un 
FoldingFeaturede prueba. (2e6b3e) - Se corrigieron errores generales relacionados con la selección de un 
WindowSizeClass. 
Versión 1.4.0-alpha03
18 de septiembre de 2024
Lanzamiento de androidx.window:window-*:1.4.0-alpha03. La versión 1.4.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un método de utilidad para obtener un 
WindowSizeClassdeWindowMetrics. (I83f1f) - Se cambió el nombre de 
isAtLeastporcontainsBreakpoint. (I85b47) - Agrega una sobrecarga a 
computeWindowSizeClasscon números de punto flotante. (I3dcb2, b/364677934, b/364677802, b/364680886) 
Correcciones de errores
- Agrega los puntos de interrupción faltantes al conjunto de puntos de interrupción 
WindowSizeClasspredeterminado. - Se corrigió un error por el que las dimensiones compactas no se seleccionaban correctamente en algunos casos.
 
Versión 1.4.0-alpha02
4 de septiembre de 2024
Lanzamiento de androidx.window:window-*:1.4.0-alpha02. La versión 1.4.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
Se agregó compatibilidad para WindowSizeClass personalizado.
- Abre el constructor para 
WindowSizeClasspara que los desarrolladores puedan usar el suyo. - Agrega métodos de utilidad de 
isAtLeastpara que los desarrolladores puedan procesar un rango de valores deWindowSizeClass. - Agrega una función de extensión en 
Set<WindowSizeClass>para calcular la mejor coincidencia del conjunto. - Se agregaron constantes para los puntos de interrupción recomendados de Android.
 - Agrega el conjunto de puntos de interrupción correspondiente a los puntos de interrupción recomendados para Android.
 
Cambios en la API
- Se actualizaron los nombres de los métodos de límites para 
WindowSizeClass. (If89a6) - Se actualizó la API de 
WindowSizeClasspara admitir la adición de nuevos valores de puntos de interrupción en el futuro. En lugar de tener límites absolutos, usamos los límites inferiores y recomendamos que los desarrolladores usen verificaciones de límites inferiores cuando procesen unWindowSizeClass. Los elementosWindowWidthSizeClassyWindowHeightSizeClassexistentes dejarán de estar disponibles, ya que no se desarrollarán más. (I014ce) 
Versión 1.4.0-alpha01
7 de agosto de 2024
Lanzamiento de androidx.window:window-*:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- ActivityStack Pinning permite que las apps fijen el contenido en un contenedor y que su navegación se aísle del otro contenedor.
 - Interactive Divider permite que las apps muestren un divisor fijo o arrastrable entre las dos actividades en una presentación dividida.
 - La atenuación del diálogo de pantalla completa permite que las apps especifiquen el área de atenuación del diálogo para atenuar toda la ventana de la tarea o solo el contenedor que muestra el diálogo.
 - La devolución de llamada de información de la ventana de actividad integrada permite que las apps reciban actualizaciones continuas de la ventana de actividad integrada.
 - Embedding Animation Background permite que las apps especifiquen el fondo de la animación, lo que mejora la calidad de la animación de transición cuando se usa 
ActivityEmbedding. - La administración mejorada de ActivityStack permite que las apps tengan más control sobre 
ActivityStackscuando se usaActivityEmbedding, lo que incluye lo siguiente: - Cómo iniciar una actividad en un 
ActivityStackespecificado - Cómo finalizar un 
ActivityStack 
Cambios en la API
Una nueva API
WindowInfoTracker#supportedPostures:- Es una API para determinar si el dispositivo admite el modo de mesa para dispositivos plegables. Se agregó WindowAreaSessionPresenter#getWindow.
 
Agrega APIs para admitir la fijación de
ActivityStack:- Clase 
SplitPinRule SplitController#pinTopActivityStackSplitController#unpinTopActivityStack
- Clase 
 Agrega APIs para habilitar y configurar el divisor interactivo
- Clase 
DividerAttributes SplitAttributes.Builder#setDividerAttributes
- Clase 
 Se agregaron APIs para establecer
EmbeddingConfigurationyDimAreaBehaviorpara los diálogos.- Clase 
EmbeddingConfiguration - Clase 
DimAreaBehavior ActivityEmbeddingController#setEmbeddingConfiguration
- Clase 
 Se agregaron APIs para recibir actualizaciones de información de la ventana de actividad incorporada
- Clase 
EmbeddedActivityWindowInfo ActivityEmbeddingController#embeddedActivityWindowInfo
- Clase 
 Se agregaron APIs para configurar el fondo de la animación de incorporación
EmbeddingAnimationBackgroundSplitAttributes.Builder#setAnimationBackground
Agrega APIs para finalizar
ActivityStacksActivityEmbeddingController#finishActivityStacks
Se agregaron APIs para configurar el lanzamiento de
ActivityStackActivityEmbeddingOptions#setLaunchingActivityStack
Las siguientes APIs son estables y ya no son experimentales:
ActivityEmbeddingController#invalidateVisibleActivityStacks(se movió de SplitController#invalidateTopVisibleSplitAttributes)ActivityEmbeddingController#getActivityStackSplitController#updateSplitAttributes
Se agregaron APIs para la versión 1.4. (I56774)
Correcciones de errores
- Se corrigió un error en ciertos dispositivos por el que se devolvía UNAVAILABLE en lugar de ACTIVE cuando una sesión estaba activa.
 - Se quitó la compatibilidad con 
transferActivityToWindowAreaen dispositivos con unvendorApiLevelde 2 debido a la compatibilidad inestable con la API. - Se introdujo una API para habilitar la función de arrastrar para pantalla completa en el divisor arrastrable de Activity Embedding. (I645c9)
 - Permite que las apps inhabiliten las animaciones de 
ActivityEmbeddinga través de parámetros de animación paraSplitAttributes. (Idc01a) - Se quitó el esquema manual del acceso a las nuevas APIs de la plataforma, ya que esto sucede automáticamente a través del modelado de APIs cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usan AGP actualizar a la versión 8.1 o posterior de D8. Consulta este artículo para obtener más detalles. (Ia60e0, b/345472586)
 - Permite que las extensiones tomen parámetros de animación para 
SplitAttributes, de modo que el dispositivo pueda usarlos para las transiciones de animación. (Iede00) - Oculta las APIs de superposición (Ic4251).
 - Se introdujeron APIs para configurar el divisor fijo o arrastrable para la división (Ia7a78).
 - Se agregó densidad a 
WindowMetrics(Id6723). - Se agregó una API para obtener el 
SupportedPostures. (If557a) - Se quitó 
setLaunchingActivityStackde la API experimental (I191cf). - Se introdujo 
ActivityEmbeddingController#embeddedActivityWindowInfo(I24312). #getTokendejó de estar disponible, y se agregó#getActivityStackToken(Ie0471).- Se introdujo un adaptador de devolución de llamada para la API de flujo de 
embeddedActivityWindowInfo(Ida77f). - Se agregó un adaptador de devolución de llamada para la API de flujo de overlayInfo (I7264f).
 - Introduce 
WindowSdkExtensionsRulepara anularextensionsVersioncon fines de prueba. (Ifb928) - - Migra 
#setLaunchingActivityStacka Bundle para que sea compatible con los usos deActivityOptionsCompat.- Los usuarios deben pasar 
activityOptions.toBundleen lugar deActvityOptions. - Se quita 
#setLaunchingActivityStack(Activity). Los usuarios deben migrar para usarActivityEmbeddingController#getActivityStac(Activity)y obtener unActivityStack, y pasar elActivityStacka#setLaunchingActivityStack. (Ie0ccc) 
 - Los usuarios deben pasar 
 - - Se introdujeron 
ActivityStack.TokenySpltInfo.Tokencomo identificadores para la comunicación entre las extensiones y WM Jetpack.- Se reemplazan o se marcan como obsoletas las APIs para que tomen o devuelvan Token en lugar de IBinder. (I12b24)
 
 - - Presentamos 
ActivityEmbeddingController#invalidateVisibleActivityStacks- Se quitó 
SplitController#invalidateTopVisibleSplitAttributesporque la función se consolidó en#invalidateVisibleActivityStacks(I02ef5). 
 - Se quitó 
 - - Se agregó una API para establecer la configuración de incorporación. (I59a4a)
 - - Se agregaron las APIs de fijar y desfijar la parte superior de 
ActivityStackandroidx.Window.- Se actualizó la app de demostración para permitir fijar o desfijar la 
ActivityStacksuperior (I24dd3). 
 - Se actualizó la app de demostración para permitir fijar o desfijar la 
 - Se volvieron a agregar 
#finishActivityStacksyActivityEmbeddingOptions(Ic1ab3). - Se quitaron las APIs inestables. (Ibc534, b/302380585)
 
Versión 1.3
Versión 1.3.0
29 de mayo de 2024
Lanzamiento de androidx.window:window-*:1.3.0. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde 1.2.0
- Se agregó compatibilidad con Kotlin Multiplatform para las clases de tamaño de ventana.
 
Versión 1.3.0-rc01
14 de mayo de 2024
WindowManager Jetpack 1.3 incluye compatibilidad con Kotlin Multiplatform para las funciones de WindowSizeClass, además de varias correcciones de errores.
Lanzamiento de androidx.window:window-*:1.3.0-rc01. La versión 1.3.0-rc01 contiene estas confirmaciones.
Versión 1.3.0-beta02
1 de mayo de 2024
Lanzamiento de androidx.window:window-*:1.3.0-beta02. La versión 1.3.0-beta02 contiene estas confirmaciones.
Cambios en la API
- Se quitó la compatibilidad para crear y usar 
WindowSizeClasspersonalizados. (Id1143) 
Correcciones de errores
- Se corrigió el error 
KotlinReflectionInternalErrorcausado por la eliminación de algunos archivos por parte de ProGuard en ciertas implementaciones de dispositivos. (I01b02) 
Versión 1.3.0-beta01
3 de abril de 2024
Lanzamiento de androidx.window:window-*:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.
Versión 1.3.0-alpha03
6 de marzo de 2024
Lanzamiento de androidx.window:window-*:1.3.0-alpha03. La versión 1.3.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se dividió 
WindowSizeClassUtilen métodos más enfocados. (Ie9292) - Restablecer 
WindowSizeClass#compute(I21355, b/324293374) 
Correcciones de errores
- Se corrigió una falla en la que el contexto proporcionado no se desempaquetaba correctamente. (94d10ce , b/318787482)
 
Versión 1.3.0-alpha02
7 de febrero de 2024
Lanzamiento de androidx.window:window-*:1.3.0-alpha02. La versión 1.3.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se realizaron actualizaciones en la superficie de la API de la API de Window Size Class para mejorar la flexibilidad de los desarrolladores que desean usar sus propias clases de tamaño.
 
Cambios en la API
- Agrega restricciones de altura al selector de ancho. (I23393)
 - Agrega funciones de utilidad para elegir un 
WindowSizeClassde un conjunto. Se agregaron funciones de puntuación experimentales para que los desarrolladores puedan escribir sus propios selectores. Agrega una función de extensión del selector para elegir elWindowSizeClassmás ancho dentro de un límite determinado. (I0c944) - Abre el constructor 
WindowSizeClasspara que se puedan agregar puntos de interrupción personalizados. (Ic1ff3) - Se agregó una función de conveniencia para crear una clase de tamaño a partir del ancho, la altura y la densidad. (If67f4)
 
Correcciones de errores
- Se corrigió la excepción que se producía cuando el valor de número de punto flotante se truncaba en 0. (272ffac)
 
Versión 1.3.0-alpha01
15 de noviembre de 2023
Lanzamiento de androidx.window:window-*:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se exponen APIs de ventanas experimentales para acceder a la pantalla posterior.
 - Las APIs de prueba para crear un 
FoldingFeatureahora son estables. - Las APIs de prueba para configurar valores de 
ActivityEmbeddingfalsos ahora son estables. - Ahora 
WindowLayoutInfoPublisherRuleinforma la anulación cuando obtiene un valor de unUiContext. WindowInfoTrackerinforma los datos de la función de plegado a los parámetros deUiContext.- Expone la versión de las extensiones en el dispositivo.
 - Constantes 
WindowPropertiespara las anulaciones por app del usuario:PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE: Informa al sistema que la app inhabilitó la anulación de la compatibilidad con la relación de aspecto visible para el usuario.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE: Informa al sistema que la app inhabilitó la opción de pantalla completa de los parámetros de configuración de anulación de compatibilidad con la relación de aspecto del usuario.
 
Versión 1.2
Versión 1.2.0
15 de noviembre de 2023
Lanzamiento de androidx.window:window-*:1.2.0. La versión 1.2.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.1.0
- Se exponen APIs de ventanas experimentales para acceder a la pantalla posterior.
 - Las APIs de prueba para crear un 
FoldingFeatureahora son estables. - Las APIs de prueba para configurar valores de 
ActivityEmbeddingfalsos ahora son estables. - Ahora 
WindowLayoutInfoPublisherRuleinforma la anulación cuando obtiene un valor de unUiContext. WindowInfoTrackerinforma los datos de la función de plegado a los parámetros deUiContext.- Expone la versión de las extensiones en el dispositivo.
 
Versión 1.2.0-rc01
1 de noviembre de 2023
Lanzamiento de androidx.window:window-*:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.
Nuevas funciones
- Se exponen APIs de ventanas experimentales para acceder a la pantalla posterior.
 - Las APIs de prueba para crear un 
FoldingFeatureahora son estables. - Las APIs de prueba para configurar valores de 
ActivityEmbeddingfalsos ahora son estables. - Ahora 
WindowLayoutInfoPublisherRuleinforma la anulación cuando obtiene un valor de unUiContext. WindowInfoTrackerinforma los datos de la función de plegado a los parámetros deUiContext.- Expone la versión de las extensiones en el dispositivo.
 
Versión 1.2.0-beta04
18 de octubre de 2023
Lanzamiento de androidx.window:window-*:1.2.0-beta04. La versión 1.2.0-beta04 contiene estas confirmaciones.
Cambios en la API
- Se quitaron las APIs inestables. (Ibc534, b/302380585)
 
Versión 1.2.0-beta03
20 de septiembre de 2023
Lanzamiento de androidx.window:window-*:1.2.0-beta03. La versión 1.2.0-beta03 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron verificaciones de 
RequiresApipara las APIs que necesitan una versión específica de las extensiones para funcionar correctamente. - Agrega una API para exponer la versión de las extensiones en el dispositivo.
 
Cambios en la API
- Se anotó la versión requerida de la extensión del SDK de Window en las APIs públicas.
- Quita 
isXXXSupporteden el componente Activity Embedding. (Ie3dae) 
 - Quita 
 - Se introdujo 
WindowSdkExtensionspara informar la versión de la extensión en el dispositivo.- Se introduce 
RequiresWindowSdkExtensionpara anotar la versión mínima requerida de la extensión. (I05fd4) 
 - Se introduce 
 - Hace que 
WindowAreaInfo#getCapabilityno sea anulable. (I17048) 
Versión 1.2.0-beta01
26 de julio de 2023
Lanzamiento de androidx.window:window-*:1.2.0-beta01. La versión 1.2.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se exponen APIs de ventanas experimentales para acceder a la pantalla posterior.
 - Las APIs de prueba para crear un 
FoldingFeatureahora son estables. - Las APIs de prueba para configurar valores de 
ActivityEmbeddingfalsos ahora son estables. - Ahora 
WindowLayoutInfoPublisherRuleinforma la anulación cuando obtiene un valor de unUiContext. WindowInfoTrackerinforma los datos de la función de plegado a los parámetros deUiContext.
Cambios en la API
- Se marcan las APIs de 
WindowAreacomo experimentales para permitir que continúen los cambios en la API para una versión estable en la versión 1.3 (I857f5). - Se actualizaron los archivos de la API para anotar la supresión de compatibilidad (I8e87a, b/287516207).
 
Versión 1.2.0-alpha03
21 de junio de 2023
Lanzamiento de androidx.window:window-*:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se quitaron las APIs obsoletas de la superficie de la API.
 - Se agregaron APIs para admitir pantallas simultáneas.
 - Agrega una propiedad para inhabilitar la anulación forzada del cambio de tamaño.
 - Se agregó la propiedad para inhabilitar la anulación de la proporción de aspecto mínima.
 - Se estabilizó 
ActivityEmbeddingRulepara admitir pruebas de unidades en torno a Activity Embedding. 
Cambios en la API
- Se quitaron las APIs obsoletas (I18d39).
 - Se agregó compatibilidad con pantallas simultáneas. (Ifcbb0)
 
Correcciones de errores
- Se agregó la propiedad de compatibilidad de inhabilitación para la anulación de cambio de tamaño forzado (Ie7ab1).
 - Se quitó 
SESSION_STATE_CONTENT_INVISIBLEde la interfaz de extensiones. (I6ed19) - Se estabilizó 
ActivityEmbeddingRulepara admitir pruebas de unidades en torno a la incorporación de actividades. (I8d6b6) - Se agregó una propiedad de compatibilidad para inhabilitar la anulación de la relación de aspecto mínima. (I66390)
 - Se quitaron las APIs de WindowArea obsoletas (Ieb67c).
 - Se cambió el nombre de la propiedad de bucle de solicitud de orientación a 
PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED. (Ie2fbd) - Se actualizaron los nombres de las constantes de sesión del área de la ventana (I83675).
 - Se agregó una propiedad de compatibilidad para inhabilitar el bucle de solicitudes de orientación cuando se detecta (I0a7a2).
 - Agrega 
WindowAreaComponent#STATUS_ACTIVEpara indicar que la función ya está activa. (I62bc3) - Se agregaron las APIs de 
RearDisplayPresentationMode(I0401c). - Se quitó la API de color de fondo para la versión estable. (I34c3e)
 - Oculta las APIs de Window Area. (I39de0)
 - Agrega métodos para anular 
SplitInfoenSplitController. Se agregaron métodos de prueba para crear dobles paraSplitInfoyActivityStack. (Icd69f) - Establece la etiqueta como opcional para 
ActivityRule.Builder. (Ib0b44) - Se quitaron 
RatioSplitType,ExpandContainersSplityHingeSplitType. Ahora sonSplitType.- Se reemplazaron 
#splitEqually(),#expandContainers()y#splitByHingepor las constantesSplitType SPLIT_TYPE_EQUAL,SPLIT_TYPE_EXPANDySPLIT_TYPE_HINGE. - Se quitó la funcionalidad para establecer el tipo de resorte de respaldo del tipo de división de bisagra. Si el tipo de división de bisagra no se puede aplicar debido al estado actual del dispositivo o la ventana, se recurre a dividir el contenedor de tareas principal de forma equitativa. Usa 
SplitController#setSplitAttributesCalculatorpara personalizar el tipo de división de resguardo. (Ifcc59) 
 - Se reemplazaron 
 - Dar de baja 
add/removeSplitCallback- Mueve 
add/removeSplitCallbackaSplitControllerCallbackAdapter - Se agregó compatibilidad con 
Flowpara obtener la lista deSplitInfo(I7f1b6). 
 - Mueve 
 - Se agregó una regla de prueba para 
ActivityEmbeddingController(I42e9b). - Se cambió el nombre de 
ActivityOptionsCompataActivityEmbeddingOptions(I89301). - Se agregó 
splitSupportStatuspara indicar si está disponible la incorporación de Activity (I10024). - Se introduce 
SplitAttributes.BackgroundColorpara representar mejor el valor deDEFAULT. Se aclaró que no se admite el color de fondo de animación no opaco, por lo que cualquier color no opaco se tratará como el predeterminado, lo que significa que se usará el color de fondo de la ventana del tema actual. (Ic6b95) - Se reemplazaron 
alwaysAllow()yalwaysDisallow()porALWAYS_ALLOWyALWAYS_DISALLOW. (I3057b) - Se agregaron APIs para 
SplitRule,SplitAttributesySplitAttributesCalculator(I92d23). - Agrega 
TestActivityStackpara crearActivityStackpara las pruebas.- Se agregó 
TestSplitInfopara crearSplitInfopara las pruebas. (I8e779) 
 - Se agregó 
 - Se agregó una forma de crear objetos 
SplitAttributesCalculatorParamsfalsos para que los desarrolladores puedan verificar sus objetosSplitAttributesCalculatorpersonalizados (Id4a6e). - Se agregaron 
WindowMetricsCalculator#computeCurrentWindowMetrics(@UiContext context: Context)yWindowMetricsCalculator#computeMaximumWindowMetrics(@UiContext context: Context)(I66c7f). 
Versión 1.2.0-alpha02
7 de junio de 2023
Lanzamiento de androidx.window:window-*:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se actualizó la API de prueba para que tenga una constante para las funciones de plegado no especificadas.
 - Si se anula con 
WindowLayoutInfoPublishRule, se anularán todos los valores dewindowLayoutInfo, incluida la API basada en el contexto. 
Cambios en la API
- Se agregó una constante para la función de plegado central no especificada. (I7530c)
 
Correcciones de errores
- Actualiza 
WindowLayoutInfoPublishRulepara admitir anulaciones enWindowLayoutInfobasado enContext. (I2037a) 
Versión 1.2.0-alpha01
24 de mayo de 2023
Lanzamiento de androidx.window:window-*:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
Se estabilizaron las APIs de prueba en torno a Activity Embedding y WindowLayoutInfoTracker. ActivityEmbeddingRule se promovió a estable.
WindowMetricsCalculatorRule se promovió a estable.
Las funciones de utilidad para crear un FoldingFeature para la prueba se promovieron a estables.
Cambios en la API
- Se estabilizó 
ActivityEmbeddingRulepara admitir pruebas de unidades en torno a la incorporación de actividades. (I8d6b6) WindowMetrisCalculatorTestRulees estable, lo que permite métricas de stub para pruebas de JVM. Te recomendamos que uses un emulador para obtener resultados precisos.- Se estabilizaron las APIs de prueba para 
WindowLayoutInfode modo que admitan pruebas de JVM. (Ie036e) - Se agregó 
IntRangepara los valores de las funciones de plegado de prueba. (I69f7d) 
Versión 1.1
Versión 1.1.0
7 de junio de 2023
Lanzamiento de androidx.window:window-*:1.1.0. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde 1.0.0
Incorporación de actividad
- Se agregó 
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDcomo una propiedad booleana de la etiqueta<application>en el manifiesto de la app. - Se dio de baja 
isSplitSupportedy se reemplazó porsplitSupportStatuspara proporcionar información más detallada sobre por qué no está disponible la función de división. - Se agregó la clase anidada 
SplitController.SplitSupportStatuspara proporcionar constantes de estado para la propiedadsplitSupportStatus. - Se refactorizó 
SplitControlleren varios módulos:- Módulo 
ActivityEmbeddingControllerpara APIs relacionadas conActivityoActivityStack - Se movió 
isActivityEmbeddeddeSplitControlleraActivityEmbeddingController. - Módulo 
RuleControllerpara operaciones relacionadas conEmbeddingRule: - Se quitaron las APIs de 
SplitController: clearRegisteredRules()getSplitRules()initialize()registerRule()unregisterRule()- Se agregaron las APIs de 
RuleController: addRule(): Agrega una regla o actualiza la regla que tiene la misma etiqueta.removeRule(): Quita una regla de la colección de reglas registradas.setRules(): Establece una colección de reglas.clearRules(): Quita todas las reglas registradas.parseRules(): Analiza reglas a partir de definiciones de reglas en XML.
 - Módulo 
 - Todos los módulos requieren que el método 
#getInstance()inicialice un contexto, incluidos los siguientes:ActivityEmbeddingController#getInstance(Context)SplitController#getInstance(Context)RuleController#getInstance(Context)
 - Se agregó la clase 
EmbeddingAspectRatiopara definir constantes de comportamiento similares a enum relacionadas con la relación de aspecto de la pantalla. - Se agregó la clase 
SplitAttributespara definir el diseño dividido. - Se agregaron funciones de calculadora 
SplitAttributesaSplitControllerpara personalizar los diseños de división:setSplitAttributesCalculator(Function)clearSplitAttributesCalculator()isSplitAttributesCalculatorSupported()para verificar si las APIs deSplitAttributesCalculatorson compatibles con el dispositivo
 - Se agregó el campo 
EmbeddingRule#tag. - Actualizaciones de la API en 
SplitRule:- Se agregó 
defaultSplitAttributes, que define el diseño de división predeterminado de una división y reemplaza asplitRatioylayoutDirection. - Se agregó la traducción de las propiedades XML 
splitRatioysplitLayoutDirectionadefaultSplitAttributes. - Se cambiaron las definiciones de dimensiones mínimas para usar píxeles independientes de la densidad (dp) en lugar de píxeles.
 - Se agregó 
minHeightDpcon el valor predeterminado de 600 dp. - Se cambió 
minWidthaminWidthDpcon el valor predeterminado de 600 dp. - Se cambió 
minSmallestWidthaminSmallestWidthDpcon el valor predeterminado de 600 dp. - Se agregó 
maxAspectRatioInHorizontalcon el valor predeterminadoALWAYS_ALLOW. - Se agregó 
maxAspectRatioInPortraitcon el valor predeterminado 1.4. - Se definió la clase anidada 
FinishBehaviorpara reemplazar las constantes de comportamiento de finalización. - Se aplicaron los cambios de propiedad a la clase anidada Builder de 
SplitPairRuleySplitPlaceholderRule. 
 - Se agregó 
 - Se reemplazó 
SplitInfo#getSplitRatio()porSplitInfo#getSplitAttributes()para proporcionar información adicional relacionada con las divisiones. 
WindowLayout
- Se agregó compatibilidad experimental con el contexto de IU que no es de actividad a 
WindowInfoTracker. - Se agregó un contexto experimental de IU que no es de actividad a 
WindowMetricsCalculator. 
Pasos para la migración
- Para habilitar la incorporación de actividades y mostrar actividades en divisiones, las apps deben agregar la propiedad 
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDa la etiqueta<application>del manifiesto:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />Esto permite que el sistema optimice los comportamientos de división para una aplicación con anticipación. - Proporción de 
SplitInfo- Comprueba si la división actual está apilada:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - Verifica la proporción actual:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. } 
 - Comprueba si la división actual está apilada:
 - Migraciones de SplitController:
SplitController.getInstance()cambió aSplitController.getInstance(Context).SplitController.initialize(Context, @ResId int)cambió aRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int)).SplitController.getInstance().isActivityEmbedded(Activity)cambió aActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity).SplitController.getInstance().registerRule(rule)cambió aRuleController.getInstance(Context).addRule(rule).SplitController.getInstance().unregisterRule(rule)cambió aRuleController.getInstance(Context).removeRule(rule).SplitController.getInstance().clearRegisteredRules()cambió aRuleController.getInstance(Context).clearRules().SplitController.getInstance().getSplitRules()cambió aRuleController.getInstance(Context).getRules().
 - Migraciones de propiedades 
SplitRule:minWidthyminSmallestWidthahora usan unidades de dp en lugar de píxeles. Las apps pueden usar la siguiente llamada:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )o simplemente dividirminWithen píxeles pordisplayMetrics#density.
 - Las constantes de comportamiento de finalización se deben migrar a constantes de clase similares a la enumeración 
FinishBehavior:FINISH_NEVERcambió aFinishBehavior.NEVER.FINISH_ALWAYScambió aFinishBehavior.ALWAYS.FINISH_ADJACENTcambió aFinishBehavior.ADJACENT.
 - La dirección del diseño se debe migrar a 
SplitAttributes.LayoutDirection:ltrcambió aSplitAttributes.LayoutDirection.LEFT_TO_RIGHT.rtlcambió aSplitAttributes.LayoutDirection.RIGHT_TO_LEFT.localecambió aSplitAttributes.LayoutDirection.LOCALE.splitRatiose debe migrar aSplitAttributes.SplitType.ratio(splitRatio).
 SplitPairRule.Buildermigrations:SplitPairRule.Builder(filters, minWidth, minSmallestWidth)cambió akotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600.setLayoutDirection(layoutDirection)ysetSplitRatio(ratio)cambian akotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )setFinishPrimaryWithSecondaryysetFinishSecondaryWithPrimarytoman las constantes similares a enumFinishBehavior. Consulta “Migraciones de SplitRule” para obtener más detalles.- Usa 
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)para mostrar divisiones en dispositivos verticales. 
SplitPlaceholder.Buildermigrations:- Solo tiene parámetros 
filtersyplaceholderIntent. Otras propiedades se mueven a los métodos de configuración. Consulta “Migraciones de SplitPairRule.Builder” para obtener más detalles. setFinishPrimaryWithPlaceholdertoma las constantes similares a la enumeraciónFinishBehavior. Consulta “Migraciones de SplitRule” para obtener más detalles.setLayoutDirection(layoutDirection)ysetSplitRatio(ratio)cambian a:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )- Usa 
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)para mostrar divisiones en dispositivos verticales. 
- Solo tiene parámetros 
 
Versión 1.1.0-rc01
10 de mayo de 2023
Lanzamiento de androidx.window:window-*:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.
Nuevas funciones
- Lanzar 
ActivityEmbeddingcomo una API estable - Se corrigieron varios errores.
 
Versión 1.1.0-beta02
5 de abril de 2023
Lanzamiento de androidx.window:window-*:1.1.0-beta02. La versión 1.1.0-beta02 contiene estas confirmaciones.
Nuevas funciones
- Se realizaron correcciones internas y se limpió el código.
 
Versión 1.1.0-beta01
22 de marzo de 2023
Lanzamiento de androidx.window:window-*:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.
Incorporación de actividad
- Se agregó 
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDcomo una propiedad booleana de la etiqueta<application>en el manifiesto de la app. - Se dio de baja 
isSplitSupportedy se reemplazó porsplitSupportStatuspara proporcionar información más detallada sobre por qué no está disponible la función de división. - Se agregó la clase anidada 
SplitController.SplitSupportStatuspara proporcionar constantes de estado para la propiedadsplitSupportStatus. - Se refactorizó 
SplitControlleren varios módulos:- Módulo 
ActivityEmbeddingControllerpara APIs relacionadas conActivityoActivityStack - Se movió 
isActivityEmbeddeddeSplitControlleraActivityEmbeddingController. - Módulo 
RuleControllerpara operaciones relacionadas conEmbeddingRule: - Se quitaron las APIs de 
SplitController:clearRegisteredRules()getSplitRules()initialize()registerRule()unregisterRule()
 - Se agregaron las APIs de 
RuleController:addRule(): Agrega una regla o actualiza la regla que tiene la misma etiqueta.removeRule(): Quita una regla de la colección de reglas registradas.setRules(): Establece una colección de reglas.clearRules(): Quita todas las reglas registradas.- `parseRules()`: Analiza reglas a partir de definiciones de reglas en XML.
 
 
 - Módulo 
 - Todos los módulos requieren que el método 
#getInstance()inicialice un contexto, incluidos los siguientes:ActivityEmbeddingController#getInstance(Context)SplitController#getInstance(Context)RuleController#getInstance(Context)
 - Se agregó la clase 
EmbeddingAspectRatiopara definir constantes de comportamiento similares a enum relacionadas con la relación de aspecto de la pantalla. - Se agregó la clase 
SplitAttributespara definir el diseño dividido. - Se agregaron funciones de calculadora 
SplitAttributesaSplitControllerpara personalizar los diseños de división:setSplitAttributesCalculator(Function)clearSplitAttributesCalculator()isSplitAttributesCalculatorSupported()para verificar si las APIs de SplitAttributesCalculator son compatibles con el dispositivo
 - Se agregó el campo 
EmbeddingRule#tag. - Actualizaciones de la API en 
SplitRule:- Se agregó 
defaultSplitAttributes, que define el diseño de división predeterminado de una división y reemplaza asplitRatioylayoutDirection. - Se agregó la traducción de las propiedades XML 
splitRatioysplitLayoutDirectionadefaultSplitAttributes. - Se cambiaron las definiciones de dimensiones mínimas para usar píxeles independientes de la densidad (dp) en lugar de píxeles.
 - Se agregó 
minHeightDpcon el valor predeterminado de 600 dp. - Se cambió 
minWidthaminWidthDpcon el valor predeterminado de 600 dp. - Se cambió 
minSmallestWidthaminSmallestWidthDpcon el valor predeterminado de 600 dp. - Se agregó 
maxAspectRatioInHorizontalcon el valor predeterminadoALWAYS_ALLOW. - Se agregó 
maxAspectRatioInPortraitcon el valor predeterminado1.4. - Se definió la clase anidada 
FinishBehaviorpara reemplazar las constantes de comportamiento de finalización. - Se aplicaron los cambios de propiedad a la clase anidada 
BuilderdeSplitPairRuleySplitPlaceholderRule. 
 - Se agregó 
 - Se reemplazó 
SplitInfo#getSplitRatio()porSplitInfo#getSplitAttributes()para proporcionar información adicional relacionada con las divisiones. 
WindowLayout
- Se agregó compatibilidad con el contexto de IU que no es de actividad a 
WindowInfoTracker. - Se agregó contexto de IU que no es de actividad a 
WindowMetricsCalculator. 
Pasos para la migración
- Para habilitar la incorporación de actividades y mostrar actividades en divisiones, las apps deben agregar la propiedad 
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDa la etiqueta<application>del manifiesto:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />Esto permite que el sistema optimice los comportamientos de división para una aplicación con anticipación. - Proporción de 
SplitInfo- Comprueba si la división actual está apilada:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - Verifica la proporción actual:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. } 
 - Comprueba si la división actual está apilada:
 SplitControllermigrations:SplitController.getInstance()cambió aSplitController.getInstance(Context).SplitController.initialize(Context, @ResId int)cambia aRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int)).SplitController.getInstance().isActivityEmbedded(Activity)cambió aActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity).SplitController.getInstance().registerRule(rule)cambió aRuleController.getInstance(Context).addRule(rule).SplitController.getInstance().unregisterRule(rule)cambió aRuleController.getInstance(Context).removeRule(rule).SplitController.getInstance().clearRegisteredRules()cambió aRuleController.getInstance(Context).clearRules().SplitController.getInstance().getSplitRules()cambió aRuleController.getInstance(Context).getRules().
- Migraciones de propiedades 
SplitRule:minWidthyminSmallestWidthahora usan unidades de dp en lugar de píxeles. Las apps pueden usar la siguiente llamada:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )o simplemente dividirminWithen píxeles pordisplayMetrics#density.
 - Las constantes de comportamiento de finalización se deben migrar a constantes de clase similares a la enumeración 
FinishBehavior:FINISH_NEVERcambió aFinishBehavior.NEVER.FINISH_ALWAYScambió aFinishBehavior.ALWAYS.FINISH_ADJACENTcambió aFinishBehavior.ADJACENT.
 - La dirección del diseño se debe migrar a 
SplitAttributes.LayoutDirection:ltrcambió aSplitAttributes.LayoutDirection.LEFT_TO_RIGHT.rtlcambió aSplitAttributes.LayoutDirection.RIGHT_TO_LEFT.localecambió aSplitAttributes.LayoutDirection.LOCALE.splitRatiose debe migrar aSplitAttributes.SplitType.ratio(splitRatio).
 SplitPairRule.Buildermigrations:SplitPairRule.Builder(filters, minWidth, minSmallestWidth)cambió akotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600.setLayoutDirection(layoutDirection)ysetSplitRatio(ratio)cambian akotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )setFinishPrimaryWithSecondaryysetFinishSecondaryWithPrimarytoman las constantes similares a enumFinishBehavior. Consulta “Migraciones de SplitRule” para obtener más detalles.- Usa 
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)para mostrar divisiones en dispositivos verticales. 
SplitPlaceholder.Buildermigrations:- Solo tiene parámetros 
filtersyplaceholderIntent. Otras propiedades se mueven a los métodos de configuración. Consulta “Migraciones de SplitPairRule.Builder” para obtener más detalles. setFinishPrimaryWithPlaceholdertoma las constantes similares a la enumeraciónFinishBehavior. Consulta “Migraciones de SplitRule” para obtener más detalles.setLayoutDirection(layoutDirection)ysetSplitRatio(ratio)cambian a:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )- Usa 
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)para mostrar divisiones en dispositivos verticales. 
- Solo tiene parámetros 
 
Versión 1.1.0-alpha06
22 de febrero de 2023
Se lanzó androidx.window:window-*:1.1.0-alpha06. La versión 1.1.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Se expuso la versión experimental de obtener 
WindowLayoutInfodesde un contexto de IU. 
Cambios en la API
- Se agregó 
splitSupportStatuspara indicar si está disponible la incorporación de Activity (I10024). - Se hizo experimental la API de 
WindowLayoutInfodel contexto de la IU. (I58ee0). - Se introdujo el 
WindowAreaControllery las APIs para habilitar el modoRearDisplaypara mover la ventana actual a la pantalla alineada con la cámara posterior (Iffcbf). - Se actualizó el color de fondo predeterminado (I1ac1b).
 - Se agregaron parámetros 
SplitAttributes(I18bdd). - Se agregaron APIs para 
SplitRule,SplitAttributesySplitAttributesCalculator(I92d23). - Se mejoraron las APIs en torno a 
maxAspectRatio:- Se reemplazaron 
alwaysAllow()yalwaysDisallow()porALWAYS_ALLOWyALWAYS_DISALLOW. - Se actualizó la documentación de la API de @see con documentación independiente (I3057b).
 
 - Se reemplazaron 
 - Se quitaron los siguientes constructores de las APIs públicas porque no se supone que las apps los llamen.
- Constructor 
SplitInfo. - Constructor 
ActivityStack(Ide534). 
 - Constructor 
 SplitRuleahora tomamaxAspectRatioInPortrait/Landscape. Solo permite actividades divididas cuando la relación de aspecto de los límites superiores es menor o igual que el objetomaxAspectRatiosolicitado (Ia5990).- Se cambió 
RuleController#parseRulespara que sea estático (I785df). - Mejora las APIs en torno a ActivityEmbedding.
- Se alinearon los nombres de las APIs. Se usó la función de agregar o quitar para varias instancias:
 registerRulecambió aaddRuleunregisterRulecambió aremoveRule- Se reemplazó 
getSplitRulesporgetRules, ya queActivityRuleno es una regla de división. - Se agregó 
RuleController#setRulespara configurar varias reglas. - Se movieron las APIs relacionadas con las reglas de 
SplitControllera singletonRuleController. Son: addRuleremoveRulegetRulessetRulesclearRulesparseRules- Se movió 
#isActivityEmbeddeddeSplitControllera singletonActivityEmbeddingController. Es isActivityEmbedded- Se quitó 
SplitController#initialize. Para configurar reglas del archivo en formato XML, usaRuleController#parseRulesy#setRules. Antes del cambio:SplitController.initialize(context, R.xml.static_rules)Después del cambio:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules) - Ya no distinguimos entre las reglas estáticas y las reglas de tiempo de ejecución. Dicho esto, llama a los resultados de 
#clearRulespara borrar todas las reglas sin importar que estén registradas con definiciones de reglas XML estáticas o durante el tiempo de ejecución Para tener el comportamiento heredado deSplitController#clearRegisteredRules, llama aRuleController#parseRulescon el ID de recursos XML y llama aRuleController#setRulespara volver a configurar las reglas. Antes de este cambio:SplitController.getInstance(context).clearRegisteredRules()Después de este cambio:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)(Ib3967). 
 - Se mejoraron las APIs de SplitRule:
- Se tomaron las dimensiones mínimas en DP en lugar de píxeles para 
SplitRule. - Se refactorizó para que el compilador de 
SplitRuletome las dimensiones mínimas como opcionales (I95f17). 
 - Se tomaron las dimensiones mínimas en DP en lugar de píxeles para 
 - Se pasó un contexto para inicializar 
SplitController(I42549). - Se cambió el nombre de 
SplitRule#layoutDirpor#layoutDirectiony el deSplitRule Builder#setLayoutDirporBuilder#setLayoutDirection(I3f6d1). 
Versión 1.1.0-alpha04
9 de noviembre de 2022
Se lanzó androidx.window:window-*:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se expuso un método a fin de determinar si un 
ActivityStackestá vacío paraActivityEmbedding. - Se quitaron las etiquetas de API experimental de las APIs de 
ActivityEmbedding. - Se ocultó el constructor 
ActivityRule, ya queBuilderes la forma preferida de construir. - Se agregó un método experimental para obtener los 
WindowInsetsenWindowMetrics. - Se actualizó 
SplitPlaceholderFinishBehaviorpara evitar finalizar el marcador de posición. Terminar el marcador de posición causaba un comportamiento confuso. 
Cambios en la API
- Se hizo que el valor 
isEmptysea público para reemplazar la funciónisEmpty. - Se cambió el nombre de las actividades del parámetro 
ActivityStackaactivitiesInProcess(Ia5055). - Se quitaron 
ActivityFilter#matchesClassNameyActivityFilter#matchesClassNameOrWildCardporque son confusos. - Se agregaron 
ActivityFilter#componentNameyActivityFilter#intentActionpara permitir que el llamador distinga diferentes filtros (I41f22). - Se quitaron las APIs de 
@Deprecatedde la API experimental (I216b3). - Se quitó 
@ExperimentalWindowApide las APIs de incorporación de actividad (I69ebe). - Se oculta el constructor 
ActivityRuley se usa Builder en su lugar. (If4eb6). - Se agregaron APIs para verificar si una actividad forma parte de 
ActivityFilter(Ia43cf). - Se actualizaron los archivos de la API para reflejar los cambios en las clases 
WindowMetricsyWindowMetricsCalculatorCompat(I667fe). - Se actualizaron el Javadoc de la propiedad 
ActivityEmbeddingy el nombre de la clase (Ia1386). - Se agregaron los nombres de las etiquetas de la propiedad 
ActivityEmbeddingpara usarlos en AndroidManifest.xml (Id1ad4). - Se agregó una API nueva de 
SplitPlaceholderFinishBehaviorySplitPlaceholderRule.finishPrimaryWithPlaceholder. Esto reemplaza la actualSplitPlaceholderRule.finishPrimaryWithSecondaryque define cuándo finalizan las actividades de marcadores de posición y cómo deben comportarse las actividades asociadas en incorporación de actividades (I64647). 
Correcciones de errores
- Se introdujo el 
WindowAreaControllery las APIs para habilitar el modoRearDisplaya fin de mover la ventana actual a la pantalla alineada con la cámara posterior (I388ab). 
Versión 1.1.0-alpha03
27 de julio de 2022
Lanzamiento de androidx.window:window-*:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Actualiza los valores predeterminados para las reglas de incorporación.
 
Cambios en la API
- Actualiza los valores predeterminados de las propiedades de las reglas de incorporación (Ic4d35).
 
Versión 1.1.0-alpha02
11 de mayo de 2022
Lanzamiento de androidx.window:window-*:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se lanzaron las bibliotecas de adaptadores para admitir Java y RxJava.
 
Versión 1.1.0-alpha01
11 de mayo de 2022
Lanzamiento de androidx.window:window-*:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se lanzaron adaptadores para admitir Java y RxJava.
 
Versión 1.1.0-alpha01
20 de abril de 2022
Se lanzó androidx.window:window:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se corrigió un error por el que, en segundo plano, una app dejaba de emitir funciones de plegado.
 - Se expandió la API experimental de ActivityEmbedding.
 
Cambios en la API
- Una API pública para verificar si se está incorporando una actividad (I39eb7).
 
Correcciones de errores
- Se agregaron APIs que personalizan el comportamiento de finalización de los contenedores en las divisiones de la actividad (I1a1e4).
 - Se agregó una nueva opción de configuración para las reglas de división de actividad (Iec6af).
 
Versión 1.0
Versión 1.0.0
26 de enero de 2022
Lanzamiento de androidx.window:window-*:1.0.0. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
- Compatibilidad con dispositivos plegables en 
WindowInfoTrackeryFoldingFeature.WindowMetricsCalculatorpara ayudar a calcular el elemento WindowMetrics actual. 
Versión 1.0.0-rc01
15 de diciembre de 2021
Lanzamiento de androidx.window:window-*:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.
Nuevas funciones
- Agregamos compatibilidad para teléfonos plegables por medio de 
WindowInfoTracker. - Agregamos métodos para calcular las 
WindowMetricsactuales y máximas. - Agregamos API de prueba compatibles.
 
Versión 1.0.0-beta04
17 de noviembre de 2021
Lanzamiento de androidx.window:window-*:1.0.0-beta04. La versión 1.0.0-beta04 contiene estas confirmaciones.
Nuevas funciones
- Se cambió el nombre de WindowInfoRepository por WindowInfoTracker.
 - Activity se convirtió en una dependencia explícita de método para WindowInfoTracker.
 - Se agregó un objeto TestRule simple para WindowMetricsCalculator para brindarle compatibilidad a los desarrolladores que usan Robolectric.
 
Cambios en la API
- Se quitaron extensiones. (I25a5f)
 - Se agregó isEmpty en ActivityStack. (I5a4e6)
 - Se cambió el nombre de WindowInfoRepository por WindowInfoTracker.
- Se actualizaron las dependencias de java/rxjava/testing para que coincidan. (I0da63).
 
 - Se agregó una regla de prueba para un objeto WindowMetricsCalculator simple. (Ibacdb)
 
Versión 1.0.0-beta03
27 de octubre de 2021
Lanzamiento de androidx.window:window-*:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron API de Activity Embedding experimentales. Esta versión de diseño inicial permite mostrar dos API de Activities en paralelo.
 
Cambios en la API
- Se quitó la API de currentWindowMetrics, ya que no podemos proporcionarla con exactitud. En su lugar, usa WindowMetricsCalculator. (Icda5f)
 - Se actualizó la API de Extensions. (Ica92b)
 - Se agregó una interfaz para una nueva función que permite incorporar actividades y mostrarlas en paralelo en la ventana de tareas superior (I5711d)
 - Se ocultaron los constructores de WindowMetrics y WindowLayoutInfo. En su lugar, usa las APIs de prueba. (I5a1b5)
 - Se agregó una API para crear objetos WindowLayoutInfo falsos. (I4a2fd).
 
Correcciones de errores
- Se corrigió la fuga de memoria. (I3fc79, b/202989046).
 
Versión 1.0.0-beta02
1 de septiembre de 2021
Lanzamiento de androidx.window:window-*:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.
Nuevas funciones
- Se agregó una anotación para las APIs experimentales (I9f1b6)
 - Se agregó un método de prueba para crear FoldingFeature de prueba que acepte un objeto Rect. De esta manera, se facilitarán las pruebas cuando se use Robolectric, en lugar de un objeto Activity real. (Id1cca)
 
Versión 1.0.0-beta01
18 de agosto de 2021
Lanzamiento de androidx.window:window-*:1.0.0-beta01. La Versión 1.0.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se quitaron las constantes anteriores, y 
FoldingFeaturese convirtió en una interfaz. 
Cambios en la API
- Se quitaron las constantes anteriores, y FoldFeature se convirtió en una interfaz. (I9a2d5)
 
Correcciones de errores
- Las bibliotecas que dependen de la biblioteca 
Test Corese actualizaron a la versión1.4.0y ahora funcionarán con la versión S de la plataforma de Android. (I88b72, b/189353863). 
Versión 1.0.0-alpha10
4 de agosto de 2021
Lanzamiento de androidx.window:window-*:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Se cambió el nombre de WindowInfoRepo por WindowInfoRepository, y se ajustaron las clases y los archivos correspondientes.
 - Se convirtieron las métricas actuales de ventana en un objeto Flow de WindowInfoRepository, ya que el valor cambia con el paso del tiempo.
 - Se cambió el nombre de WindowInfoRepoJavaAdapter por WindowInfoRepoCallbackAdapter.
 - Se agregó un método auxiliar para crear objetos FoldingFeature de prueba
 - Se actualizaron los paquetes de las clases grupales según la función que admiten.
 
Cambios en la API
- Se cambió el nombre de ActivityExt por ActivityExtensions. Se cambió Repo por Repository. (I61a16)
 - Se actualizaron los paquetes de las clases. (I23ae2).
 - Se quitó WindowMetrics de WindowInfoRepo. (I24663)
 - Se quitó WindowManager, y se usó WindowInfoRepo.
- WindowBackend se convirtió en interno. (I06d9a)
 
 - Se convirtieron las métricas de ventana en Flow.
- Se cambió el nombre del adaptador de Java por WindowInfoRepoCallbackAdapter
 - Se quitó callbackFlow para que no haya más APIs experimentales en uso (Ia4d15)
 
 - Se agregó un método auxiliar para crear funciones de visualización de prueba.
- Se cambió occlusionMode por occlusionType. (If4cff)
 
 
Correcciones de errores
- Se corrigió el error de ProGuard por el que se quitaba la biblioteca principal.
 - Se corrigió el error por el que no se entregaba WindowLayoutInfo a suscriptores adicionales.
 - Se corrigió el error por el que los cambios de configuración no activaban las actualizaciones de las funciones de plegado.
 
Versión 1.0.0-alpha09
30 de junio de 2021
Lanzamiento de androidx.window:window-*:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.
Nuevas funciones
- Se cambiaron las constantes de números enteros a enumeraciones no delimitadas.
 - Se agregó una utilidad de prueba para crear funciones de plegado de prueba.
 
Cambios en la API
- Se agregó un método auxiliar para crear funciones de visualización de prueba. (I3cf54)
- Se cambió de 
occlusionModeaocclusionType. 
 - Se cambió de 
 
Correcciones de errores
- Se emite un valor inicial cuando se agregan varios consumidores de los flujos de datos.
 
Versión 1.0.0-alpha08
16 de junio de 2021
Lanzamiento de androidx.window:window-*:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Se lanzó un artefacto de prueba para facilitar las pruebas cuando se usa WindowInfoRepository. Usa WindowInfoRepository para obtener información sobre DisplayFeatures y WindowMetrics. (I57f66, Ida620)
 
Versión 1.0.0-alpha07
2 de junio de 2021
Lanzamiento de androidx.window:window-*:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Migra la biblioteca de ventana principal a Kotlin. De ahora en adelante, utilizará corrutinas y suspenderá las funciones para exponer datos asíncronos.
 - Se agregó WindowInfoRepo como punto de interacción principal para obtener WindowMetrics y la transmisión de WindowLayoutInfo.
 - Se agregó el artefacto 
window-javapara exponer las APIs compatibles con Java para registrar las devoluciones de llamada y cancelar su registro. - Se agregaron artefactos 
window-rxjava2ywindow-rxjava3para exponer las APIs que adapta RxJava. 
Cambios en la API
- Se agregó 
WindowServicespara brindar dependencias de manera uniforme.- Se agregó una API basada en corrutinas para consumir la información del diseño de ventana. (Iab70f).
 
 - Se migró la biblioteca del administrador de ventana principal a Kotlin. (Icca34)
 
Correcciones de errores
- Se agregó una clase nueva de datos para representar los límites de funciones. (I6dcd1)
 
Versión 1.0.0-alpha06
5 de mayo de 2021
Lanzamiento de androidx.window:window:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Se comenzó con la migración a Kotlin y se terminará con ella en el próximo lanzamiento.
 - Se quitó DeviceState de la API pública. En su lugar, usa FoldingFeature.
 - Se quitó 
STATE_FLIPPEDde los estados de FoldingFeature, ya que no se admiten en ningún caso de uso en este momento. - También se quitaron otras API obsoletas.
 
Cambios en la API
- Se agregó Kotlin como dependencia.
- Se migró la biblioteca principal a Kotlin. (Idd995)
 
 - Se quitó el compilador 
DisplayFeature. (I61fa4) - Se quitó 
DeviceStatede la API pública. En su lugar, usaFoldingFeature. (Id6079) - Se quitó la devolución de llamada de estado del dispositivo de las extensiones. (I5ea83)
 - Se quitó 
STATE_FLIPPEDde FoldingFeature. (I9c4e1) - Se quitaron los métodos de registro obsoletos. (Ib381b)
 
Versión 1.0.0-alpha05
24 de marzo de 2021
Lanzamiento de androidx.window:window:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
Se agregaron métodos prácticos a FoldingFeature para que las apps puedan detectar si la función está separada, se oculta y determina la orientación de la bisagra. También ocultamos el tipo de bisagra para que
se quiten los métodos de lectura síncronos de WindowManager. Estos métodos son propensos a errores, ya que existe una condición de carrera implícita. Se registran objetos de escucha y devoluciones de llamadas para recibir actualizaciones en WindowLayoutInfo.
Cambios en la API
- Se agregaron métodos prácticos para trabajar con FoldingFeatures. (Ie733f)
 - Se quitaron los métodos de lectura síncronos de WindowManager. (I96fd4)
 
Versión 1.0.0-alpha04
10 de marzo de 2021
Lanzamiento de androidx.window:window:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Corrige un error en el que no se emite WindowLayoutInfo si no hay una implementación de OEM. Ahora emitimos un WindowLayoutInfo vacío.
 - Se corrigió un error en el que el estado no se actualizaba correctamente si cambiaba el de la bisagra mientras la app estaba en segundo plano. Ahora el estado debe ser coherente.
 - Actualiza nuestros archivos ProGuard a fin de ignorar las advertencias de las dependencias en tiempo de ejecución.
 
Correcciones de errores
- Emite un valor vacío cuando falta la biblioteca de OEM. (Ide935)
 
Versión 1.0.0-alpha03
18 de febrero de 2021
Lanzamiento de androidx.window:window:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Emite un valor vacío para WindowLayoutInfo cuando la implementación del OEM está vacía. Esto debería facilitar el uso de la biblioteca en más dispositivos. Dado que las API son asíncronas, se recomienda que las apps escriban algún código defensivo y emitan un valor predeterminado después de que se agota el tiempo de espera. No tenemos garantías en las implementaciones del OEM, y el valor inicial puede retrasarse.
 
Correcciones de errores
- Emite un valor vacío cuando falta la biblioteca de OEM. (Ide935)
 
Versión 1.0.0-alpha02
27 de enero de 2021
Lanzamiento de androidx.window:window:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
Dimos de baja algunas API a fin de optimizar la API y reducir errores. Por ejemplo, quitamos las operaciones de lectura síncronas de WindowManager y dimos de baja DeviceState. Las operaciones de lectura síncronas pueden generar condiciones de carrera y tener una IU incorrecta.
Convertimos la función DisplayFeature en una interfaz que otras funciones implementarán a partir de ahora. La primera función es FoldingFeature, que ahora es la representación del plegado de pantalla o la bisagra. También contiene el estado de la bisagra y reemplaza a DeviceState.
En Android 11, se introdujo WindowMetrics, que brinda a los desarrolladores una manera sencilla de consultar métricas sobre una ventana, como su posición y tamaño en la pantalla, y cualquier inserción del sistema. En esta versión, se incluyó portabilidad a versiones anteriores, a fin de que los desarrolladores puedan aprovechar WindowMetrics y seguir admitiendo versiones anteriores de Android. Se puede obtener WindowMetrics a través de las API de WindowManager#getMaximumWindowMetrics() y
WindowManager#getCurrentWindowMetrics().
Cambios en la API
- Se dieron de baja las API que se quitarán en la próxima versión alfa. (I7cc4)
 - Se actualizó 
ExtensionInterfacepara que acepte referencias explícitas de Activity. (I07ded) - Se incluyó la API de WindowMetrics. (I3ccee)
 - Se quitaron los métodos de lectura síncronos de WindowManager. (I69983)
 - ExtensionWindowBackend ahora está protegido por paquete. (Ied208)
 
Correcciones de errores
- Se actualizaron las API de 
ExtensionInterfacepara que admitan contextos visuales. (I8e827) 
Contribución externa
- Se combinaron DeviceState y WindowLayoutInfo para facilitar el acceso a los datos. (Id34f4)
 
Versión 1.0.0-alpha01
27 de febrero de 2020
Lanzamiento de androidx.window:window:1.0.0-alpha01 y androidx.window:window-extensions:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Esta es la primera versión de la biblioteca de Window Manager.
Nuevas funciones
DisplayFeature: Esta nueva API identifica interrupciones en las superficies continuas de pantallas planas, como bisagras o pliegues.DeviceState: Esta nueva API proporciona la posición actual del teléfono a partir de una lista de posiciones definidas (por ejemplo,CLOSED,OPENED,HALF_OPENED, etc.).