Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.widget
androidx.wear.widget.drawer
(Consulta los documentos de referencia de todos los paquetes de Wear)
En esta tabla, se enumeran todos los artefactos del grupo androidx.wear
.
Artefacto | Versión estable | Versión potencial | Versión beta | Versión Alfa |
---|---|---|---|---|
wear | 1.3.0 | - | - | 1.4.0-alpha01 |
wear-input | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-input-testing | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-ongoing | 1.0.0 | - | - | 1.1.0-alpha01 |
wear-phone-interactions | 1.0.1 | - | - | 1.1.0-alpha05 |
wear-remote-interactions | 1.1.0 | - | - | - |
Cómo declarar dependencias
Para agregar una dependencia en Wear, debes agregar el repositorio de 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.wear:wear:1.3.0" // Add support for wearable specific inputs implementation "androidx.wear:wear-input:1.1.0" implementation "androidx.wear:wear-input-testing:1.1.0" // Use to implement wear ongoing activities implementation "androidx.wear:wear-ongoing:1.0.0" // Use to implement support for interactions from the Wearables to Phones implementation "androidx.wear:wear-phone-interactions:1.0.1" // Use to implement support for interactions between the Wearables and Phones implementation "androidx.wear:wear-remote-interactions:1.0.0" }
Kotlin
dependencies { implementation("androidx.wear:wear:1.3.0") // Add support for wearable specific inputs implementation("androidx.wear:wear-input:1.1.0") implementation("androidx.wear:wear-input-testing:1.1.0") // Use to implement wear ongoing activities implementation("androidx.wear:wear-ongoing:1.0.0") // Use to implement support for interactions from the Wearables to Phones implementation("androidx.wear:wear-phone-interactions:1.0.1") // Use to implement support for interactions between the Wearables and Phones implementation("androidx.wear:wear-remote-interactions:1.0.0") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
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.
Wear Core versión 1.0
Versión 1.0.0-alpha01
29 de mayo de 2024
Lanzamiento de androidx.wear:wear-core:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregó una nueva clase
WearApiVersionhelper
para ayudar con la verificación de compatibilidad de la API del entorno de ejecución en Wear. Los clientes pueden usar esta clase de ayuda estática y el método proporcionado (#isApiVersionAtLeast(VERSION)
) para verificar la compatibilidad.
Versión 1.0 de la vista previa de las herramientas de Wear
Versión 1.0.0
29 de noviembre de 2023
Lanzamiento de androidx.wear:wear-tooling-preview:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Funciones de la versión 1.0.0
- Se agregó
WearDevices
a la lista de dispositivos de Wear válidos que se pueden usar para las vistas previas de la IU.
Versión 1.0.0-rc01
15 de noviembre de 2023
Se lanzó androidx.wear:wear-tooling-preview:1.0.0-rc01
sin cambios. La versión 1.0.0-rc01 contiene estas confirmaciones.
Versión 1.0.0-beta01
18 de octubre de 2023
Se lanzó androidx.wear:wear-tooling-preview:1.0.0-beta01
sin cambios. La versión 1.0.0-beta01 contiene estas confirmaciones.
Versión 1.0.0-alpha01
23 de agosto de 2023
Lanzamiento de androidx.wear:wear-tooling-preview:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregó
WearDevices
a la lista de dispositivos Wear válidos que se pueden usar para las vistas previas de la IU (Ib036e).
Wear versión 1.4
Versión 1.4.0-alpha01
15 de noviembre de 2023
Lanzamiento de androidx.wear:wear:1.4.0-alpha01
. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Correcciones de errores
- Centrar verticalmente el ícono
ConfirmationOverlay
cuando no haya un mensaje (I496d8)
Wear versión 1.3
Versión 1.3.0
9 de agosto de 2023
Lanzamiento de androidx.wear:wear:1.3.0
sin cambios desde 1.3.0-rc01
. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde 1.2.0
- Migra
AmbientModeSupport
para usarLifecycleObserver
. Se dio de bajaAmbientModeSupport
y se reemplazó por las nuevas clases que tienen en cuenta el ciclo de vida. - Se actualizó
ConfirmationOverlay
con nuevos íconos o diseños, fuentes y métricas de fuentes - Se actualizó
SwipeDismissTransitionHelper
para usar un elemento de diseño en segundo plano en lugar de un segundoView
para corregir errores cuando se usaFragmentContainerView
. - Se actualizó la animación de
SwipeDismissFrameLayout
para que sea coherente con las implementaciones de Wear Compose y de la plataforma de Wear - Se corrigió el error
SwipeDismissFrameLayout
para evitar que se descarten fragmentos accidentalmente con un deslizamiento vertical. ArcLayout
ahora admite pesos de expansión que funcionan de manera similar a los pesos de diseño normales.- Compatibilidad con
layoutDirection
enArcLayout
Versión 1.3.0-rc01
21 de junio de 2023
Lanzamiento de androidx.wear:wear:1.3.0-rc01
sin cambios desde 1.3.0-beta01
. La versión 1.3.0-rc01 contiene estas confirmaciones.
Versión 1.3.0-beta01
7 de junio de 2023
Lanzamiento de androidx.wear:wear:1.3.0-beta01
. La versión 1.3.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se actualizó
AmbientLifecycleObserver
después de los comentarios. Se cambió el nombre deAmbientLifecycleObserverInterface
porAmbientLifecycleObserver
, y se puede obtener una instancia llamando aAmbientLifecycleObserver(...)
.isAmbient
se movió a un campo en lugar de un método. (I84b4f).
Correcciones de errores
- Se agregaron verificaciones nulas para controlar los casos en los que la vista superior es nula mientras se restablecen la alfa y la traducción en
SwipeToDismiss
. (Ib0ec7).
Versión 1.3.0-alpha05
19 de abril de 2023
Lanzamiento de androidx.wear:wear:1.3.0-alpha05
. La versión 1.3.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Migra
AmbientModeSupport
para usarLifecycleObserver
. Se da de bajaAmbientModeSupport
en favor de las nuevas clases que tienen en cuenta el ciclo de vida. (I1593b).
Correcciones de errores
- Se actualizó el enfoque de la pantalla de carga en segundo plano
SwipeDismissTransitionHelper
para usar elementos de diseño en lugar de agregar una vista para corregir errores mientras se usaFragmentContainerView
. (I851cd).
Versión 1.3.0-alpha04
25 de enero de 2023
Lanzamiento de androidx.wear:wear:1.3.0-alpha04
. La versión 1.3.0-alpha04 contiene estas confirmaciones.
Correcciones de errores
- Actualizamos la animación en
SwipeDismissFrameLayout
para que sea coherente con las implementaciones de Wear Compose y de la plataforma de Wear (I7261b).
Versión 1.3.0-alpha03
24 de agosto de 2022
Lanzamiento de androidx.wear:wear:1.3.0-alpha03
. La versión 1.3.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
ArcLayout
ahora admite pesos de expansión que funcionan de manera similar a los pesos de diseño normales. Esto significa que puedes especificar el tamaño relativo de los elementos secundarios sin tener que calcular sus ángulos directamente. También agregamos unMaxAngleDegrees
mejorado, que se respeta cuando se expanden los elementos secundarios con peso. Por ejemplo, puedes restringir el arco con varios elementos secundarios con pesos a 90 grados. Esto también respetará el espacio que ocupan los elementos no expandidos.
Cambios en la API
- Se agregó peso a
ArcLayout.LayoutParams
, lo que permite que un widget se expanda para llenar el espacio disponible. Si hay más de un widget, su proporción del espacio disponible será proporcional al peso. Además, se agregóArcLayout.setMaxAngleDegrees
para que puedas, por ejemplo, limitar la expansión a 90 grados (esto no afecta el diseño de widgets secundarios de tamaño fijo). Por último,ArcLayout.Widget
ahora tienesetSweepAngleDegrees
, que permite queArcLayout
informe a un widget con un peso distinto de cero su tamaño (I75f24). - Se actualizó la nulabilidad de
setColorFilter
(I99ddf, b/236498063).
Versión 1.3.0-alpha02
23 de febrero de 2022
Lanzamiento de androidx.wear:wear:1.3.0-alpha02
. La versión 1.3.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Compatibilidad con
layoutDirection
enArcLayout
(I14d49). - Se mejoró el mensaje de descripción de contenido para ConfirmationOverlay (I0fdf8).
- Se actualizó
ConfirmationOverlay
con nuevos íconos o diseños (If5b54).
Correcciones de errores
- Se agregaron reglas de ProGuard para garantizar que se conserve el código relacionado con el ambiente (Idaa10).
- Se evitó que se descarten fragmentos accidentalmente en SwipeDismissFrameLayout mediante un desplazamiento vertical (Idb6d8).
- Se corrigió ConfirmationOverlay cuando no tenía ningún mensaje (I63e6f).
Contribución externa
- Dae Gyu LEE (Samsung): Se evitó que se descarten fragmentos de forma accidental en SwipeDismissFrameLayout mediante un desplazamiento vertical (Idb6d8).
Versión 1.3.0-alpha01
29 de septiembre de 2021
Lanzamiento de androidx.wear:wear:1.3.0-alpha01
. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Correcciones de errores
ConfirmationOverlay
ahora desplaza el ícono hacia arriba para alojar mensajes más largos, sin que el mensaje ingrese en el bisel del dispositivo (o fuera de la pantalla). (I54bff)
Wear Ongoing e Interactions versión 1.1.0
Versión 1.1.0-alpha05
11 de diciembre de 2024
Lanzamiento de androidx.wear:wear-phone-interactions:1.1.0-alpha05
. La versión 1.1.0-alpha05 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error de falla cuando se ejecutaba en Wear OS 5.1 (versión de API 34) y se segmentaba para versiones posteriores del SDK. Las apps deben actualizarse a esta versión de la biblioteca antes de actualizar su
targetSdkVersion
a 35 o una versión posterior.
Versión 1.1.0
11 de diciembre de 2024
Lanzamiento de androidx.wear:wear-remote-interactions:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde 1.0.0
- Agregamos
RemoteActivityHelper.isRemoteActivityHelperAvailable
, que ayuda a verificar si está disponible la funcionalidad de iniciar una actividad remota. (I107a9)
Versión 1.1.0-rc01
16 de octubre de 2024
Lanzamiento de androidx.wear:wear-remote-interactions:1.1.0-rc01
sin cambios desde 1.1.0-beta01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Versión 1.1.0-beta01
24 de julio de 2024
Lanzamiento de androidx.wear:wear-remote-interactions:1.1.0-beta01
. La versión 1.1.0-beta01 contiene estas confirmaciones. La versión 1.3.0-beta01 de Wear Remote Interactions indica que esta versión de la biblioteca está completa y la API está bloqueada (excepto donde se marca como experimental).
Versión 1.1.0-alpha04
10 de enero de 2024
Lanzamiento de androidx.wear:wear-phone-interactions:1.1.0-alpha04
. La versión 1.1.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Agregamos
RemoteAuthClient.isRemoteAuthAvailable
, que verifica si la autenticación remota está disponible. (Ibc10c)
Versión 1.1.0-alpha02
10 de enero de 2024
Lanzamiento de androidx.wear:wear-remote-interactions:1.1.0-alpha02
. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Agregamos
RemoteActivityHelper.isRemoteActivityHelperAvailable
, que ayuda a verificar si está disponible la funcionalidad de iniciar una actividad remota. (I107a9) - Actualizamos el constructor de
RemoteActivityHelper
para que tenga un parámetro opcional compatible con Java. (I75554).
Versión 1.1.0-alpha01
21 de junio de 2023
Lanzamiento de androidx.wear:wear-remote-interactions:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Correcciones de errores
- Se mejoró la forma en que se realizan la finalización y el manejo de errores en
RemoteActivityHelper
. (I60d60).
Contribución externa
- Quita la dependencia de Guava de
wear-remote-interactions
y usa alternativas más pequeñas.
Wear-Phone-Interactions versión 1.1.0-alpha03
9 de marzo de 2022
Lanzamiento de androidx.wear:wear-phone-interactions:1.1.0-alpha03
. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Correcciones de errores
redirectUrl
deOAuthRequest
ahora muestra una string vacía si no se establece la URL de redireccionamiento en la URL de solicitud dada (I44242).
Wear-Phone-Interactions versión 1.1.0-alpha02
15 de diciembre de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.1.0-alpha02
. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigieron errores en la documentación de
RemoteAuthClient
, incluidos el error del fragmento de muestra de código y el vínculo que no funcionaba aErrorCode
(I260e8).
Wear-Phone-Interactions versión 1.1.0-alpha01
15 de septiembre de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Cambios en la API
Wear Ongoing e Interactions versión 1.0.0
Wear-Phone-Interactions versión 1.0.1
15 de diciembre de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.1
. La versión 1.0.1 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió una excepción de
BridgingManager
que se arrojaba cuando se intentaba inhabilitar las notificaciones de puente sinexcludedTags
.
Wear-Phone-Interactions Wear-Remote-Interactions versión 1.0.0
15 de septiembre de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.0
y androidx.wear:wear-remote-interactions:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
La biblioteca de interacción con teléfonos incluye API para interacciones entre dispositivos wearable y teléfonos. Contiene lo siguiente:
PhoneDeviceType
, que proporciona métodos de ayuda para determinar el tipo de teléfono con el que está vinculado el reloj actual; solo para uso en dispositivos wearable- API de
BridgingManager
,BridgingManagerService
yBridgingConfig
para habilitar e inhabilitar las notificaciones durante el tiempo de ejecución y, de manera opcional, configurar etiquetas para notificaciones exentas del modo puente RemoteAuthClient
, que admite la autenticación remota en dispositivos wearable, además de compatibilidad para agregar la extensión PKCE de OAuth (se proporcionan clases auxiliares y controladores adicionales para la comunicación)
La biblioteca de interacción remota incluye API para interacciones entre dispositivos wearable y teléfonos. Contiene lo siguiente:
WatchFaceConfigIntentHelper
, que proporciona funciones de ayuda para especificar el ID y el nombre del componente en las actividades de configuración de cara del reloj para la aplicación complementaria del teléfono- La clase
RemoteActivityHelper
, que se puede usar para abrir intents en otros dispositivos (es decir, de reloj a teléfono)
Wear-Phone-Interactions Wear-Remote-Interactions versión 1.0.0-rc01
1 de septiembre de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.0-rc01
y androidx.wear:wear-remote-interactions:1.0.0-rc01
. La versión 1.0.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error que evita que los errores producidos dentro de los Servicios de Google Play se propaguen al emisor de la llamada al usar RemoteActivityHelper. (I60d60)
- Se corrigió el error por el que RemoteActivityHelper nunca cumplía su interfaz Future si no había nodos conectados o si no se encontraba el nodeId solicitado. (I60d60)
Wear-Ongoing versión 1.1
Versión 1.1.0-alpha01
23 de agosto de 2023
Lanzamiento de androidx.wear:wear-ongoing:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Agrega un campo de descripción del contenido a la actividad en curso. Los servicios de accesibilidad lo usarán para describir la actividad en curso. (I79fc6).
Correcciones de errores
- Se agregó
@RequiresPermission
a las APIs que requieren que se otorgue el permisoPOST_NOTIFICATIONS
en SDK 33 y versiones posteriores (Ie542e, b/238790278).
Wear-Ongoing versión 1.0.0
1 de septiembre de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
- La API de actividades en curso de Wear es una API para desarrolladores, incluidos los desarrolladores de terceros, que se usa para marcar su actividad como "actividad en curso" y brindar la información necesaria.
- Las actividades en curso son aquellas que pueden ejecutarse en segundo plano en el reloj (p. ej., entrenamientos, llamadas y contenido multimedia). En Wear 3, una actividad declarada como en curso se hará más prominente con un ícono de superposición dedicado en la cara de reloj y una renderización diferente en el selector de aplicaciones.
- Para obtener más información, consulta la Guía de actividades en curso de Wear.
Wear-Phone-Interactions Wear-Remote-Interactions versión 1.0.0-beta01
18 de agosto de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.0-beta01
y androidx.wear:wear-remote-interactions:1.0.0-beta01
. La versión 1.0.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se cambió el nombre de la clase
RemoteIntentHelper
aRemoteActivityHelper
. Cambiaron los nombres de las funcionesRemoteIntentHelper#getRemoteIntentExtraIntent
yRemoteIntentHelper#getRemoteIntentNodeId
aRemoteActivityHelper#getTargetIntent
yRemoteActivityHelper#getTargetNodeId
, respectivamente. (Id2042)
Wear-Ongoing versión 1.0.0-rc01
18 de agosto de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-rc01
sin cambios desde 1.0.0-beta01
. La versión 1.0.0-rc01 contiene estas confirmaciones.
Wear-Ongoing versión 1.0.0-beta01
4 de agosto de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-beta01
. La Versión 1.0.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Ahora, algunos métodos set de OngoingActivity.Builder aceptan argumentos nulos para dar simetría y coherencia a los métodos set y get. (I17ee5)
Wear-Phone-Interactions versión 1.0.0-alpha07
4 de agosto de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.0-alpha07
. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Cambios en la API
- Se cambió el nombre de
WearTypeHelper.isChinaDevice
aWearTypeHelper.isChinaBuild
. (I47302) - Se actualizó la biblioteca de RemoteAuthClient para que seleccione automáticamente redirect_uri, según el tipo de dispositivo (RoW/China). (I38866)
- Se corrigió el error que hacía que la conversión de BridgingConfig desde o hacia Bundle fallara con ClassCastException. Se agregaron pruebas de unidades para la clase BridgingManagerService. (I68ecb)
Wear-Remote-Interactions versión 1.0.0-alpha06
4 de agosto de 2021
Lanzamiento de androidx.wear:wear-remote-interactions:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Wear-Phone-Interactions versión 1.0.0-alpha06
21 de julio de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- La clase
BridgingManagerSeviceBinder
ahora es una subclase de Service y se le cambió el nombre a BridgingManagerSevice. (I9fca2) - Se cambió el método
RemoteAuthClient.Callback.onAuthorizationError
para que incluya el parámetro OAuthRequest. Los métodos que requieren devolución de llamada ahora también requieren un ejecutor para hacerla. (I35e11)
Correcciones de errores
- La API de autenticación es más clara con parámetros más documentados y con el uso de propiedades siempre que sea posible (I12287)
Wear-Phone-Interactions versión 1.0.0-alpha05
30 de junio de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.0-alpha05
. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Correcciones de errores
- Se documentaron los parámetros que se deben pasar en el constructor para
BridgingConfig.Builder
.
Wear-Ongoing versión 1.0.0-alpha06
2 de junio de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- Agrega el campo Título a la actividad en curso. (I7a405)
Correcciones de errores
- Ahora,
SerializationHelper.copy()
realiza una copia defensiva de la información. (I8b276) - Se mejoró la documentación de setCategory. (Iff01f)
Wear-Ongoing versión 1.0.0-alpha05
18 de mayo de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-alpha05
. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Cambios en la API
Ahora,
OngoingActivity
tiene métodos get para recuperar todos los valores configurados directamente a través del compilador (o los predeterminados que se toman de la notificación asociada). (Id8ac8)- La nueva clase
Status
ahora se usa para crear el estado de laOngoingActivity
. OngoingActivityData
yOngoingActivityStatus
dejaron de formar parte de la API pública.
- La nueva clase
Las clases
TextStatusPart
yTimerStatusPart
dejaron de formar parte de la API pública. (I57fb6)- Para crear un elemento
Part
con texto estático, usaStatus.TextPart
. - Para crear un elemento
Part
con un cronómetro (cuenta en aumento), usaStatus.Stopwatch
. - Para crear un elemento
Part
con un temporizador (cuenta regresiva), usaStatus.Timer
.
- Para crear un elemento
Wear-Ongoing versión 1.0.0-alpha04
5 de mayo de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-alpha04
. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- En OngoingActivity, los métodos fromExistingOngoingActivity ahora se llaman recoveryOngoingActivity.
- OngoingActivity ahora tiene un conjunto completo de métodos get, el mismo que antes solo estaba disponible en OngoingActivityData. (I0ee4d)
Wear-Remote-Interactions versión 1.0.0-alpha05
21 de julio de 2021
Lanzamiento de androidx.wear:wear-remote-interactions:1.0.0-alpha05
. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Cambios en la API
Se agregó la clase
RemoteIntentHelper
(anteriormente llamada RemoteIntent en la biblioteca de compatibilidad para wearables), que se puede usar para abrir intents en otros dispositivos (es decir, de reloj a teléfono) (I1d7e0)Se quitó la clase PlayStoreAvailability de la biblioteca de AndroidX. Para detectar si la Play Store está disponible en un teléfono conectado, utiliza el método
androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType
para determinar si se trata de un teléfono Android. Luego, usa el métodoandroidx.wear.utils.WearTypeHelper.isChinaDevice
a fin de determinar si el teléfono conectado es un dispositivo chino. Si el teléfono es un dispositivo Android y no es un dispositivo chino, Play Store estará disponible. (Ie7dec)
Wear-Phone-Interactions versión 1.0.0-alpha04
7 de abril de 2021
Lanzamiento de androidx.wear:wear-phone-interactions:1.0.0-alpha04
. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Se actualizaron las constantes
ErrorCode
para hacer que la biblioteca nueva sea retrocompatible con la implementación en la biblioteca de compatibilidad para wearables.
Correcciones de errores
- Se corrigió la excepción causada por la nueva API de OAuth cuando se inicia una sesión de OAuth.
Wear-Remote-Interactions versión 1.0.0-alpha03
7 de abril de 2021
Lanzamiento de androidx.wear:wear-remote-interactions:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se cambió
PlayStoreAvailability
para que sea una clase que contenga un objeto complementario con métodos estáticos. El uso no cambia.
Correcciones de errores
- Se corrigió el documento de resumen de
WatchFaceConfigIntentHelper
para mostrar correctamente el código de muestra con caracteres HTML reales.
Wear-Ongoing Wear-Phone-Interactions versión 1.0.0-alpha03
10 de marzo de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-alpha03
y androidx.wear:wear-phone-interactions:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se migró OAuthClient de una biblioteca de compatibilidad para wearables a AndroidX. Se cambió el nombre de esta clase migrada a RemoteAuthClient y permite la autenticación remota en dispositivos wearables junto con la posibilidad de agregar la extensión OAuth PKCE. Se proporcionan clases auxiliares y controladores adicionales para la comunicación.
- Ahora se pueden asociar las actividades que estén en curso con una notificación que tenga una etiqueta mediante el nuevo constructor OngoingActivity.Builder.
Cambios en la API
- Se agregó compatibilidad con las etiquetas de notificación en la biblioteca de actividades en curso. (I653b4)
- Se migró OAuthClient de la biblioteca de compatibilidad de Wear y se agregó compatibilidad con la extensión OAuth PKCE. (I3eao)
Wear-Remote-Interactions versión 1.0.0-alpha02
10 de marzo de 2021
Lanzamiento de androidx.wear:wear-remote-interactions:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se migró la clase PlayStoreAvailability desde la biblioteca de compatibilidad para wearables a AndroidX, que proporciona una API para verificar si Play Store está disponible en el teléfono.
Correcciones de errores
- Se migró la clase PlayStoreAvailability desde la biblioteca de compatibilidad para wearables a AndroidX (I69bfe)
Versión 1.0.0-alpha02
10 de febrero de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-alpha02
y androidx.wear:wear-phone-interactions:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se agregó compatibilidad con estados más complejos. Estos incluyen una plantilla (o varias) y una serie de partes que se usarán para completar los marcadores de posición de la plantilla. OngoingActivityStatus ahora tiene un método estático para crear estados simples con una sola parte (un Text o un Timer) y un Builder para crear estados más complejos. (I1fe81)
- Se trasladaron las clases BridgingManager y BridgingConfig de la biblioteca de compatibilidad de Wear a AndroidX, lo que proporciona API para habilitar e inhabilitar notificaciones en el tiempo de ejecución y, de manera opcional, configurar etiquetas para las notificaciones exentas del Modo puente. (I3a17e)
Versión 1.0.0-alpha01
27 de enero de 2021
Lanzamiento de androidx.wear:wear-ongoing:1.0.0-alpha01
, androidx.wear:wear-phone-interactions:1.0.0-alpha01
y androidx.wear:wear-remote-interactions:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Cambios en la API
Se migró la biblioteca de actividades en curso a una subbiblioteca nueva: wear-ongoing. Las clases ahora están disponibles en el paquete androidx.wear.ongoing (anteriormente, androidx.wear.ongoingactivities). (I7c029)
Se creó una nueva biblioteca de compatibilidad con clases que admiten interacciones de wearables con teléfonos. Inicialmente, se propagaron las clases migradas de la biblioteca de compatibilidad para wearables (Id5180)
Se migró la clase PhoneDeviceType de la biblioteca de compatibilidad para wearables a AndroidX. También se cambió el nombre de la clase migrada a PhoneTypeHelper, que ofrece métodos auxiliares para determinar el tipo de teléfono al que se vinculó el reloj actual. Solo funciona en dispositivos wearables. (Ibd947)
Se creó una biblioteca de compatibilidad nueva con clases que admiten interacciones entre wearables y teléfonos. Inicialmente, se propagaron clases migradas de la biblioteca de compatibilidad para wearables (I9deb4)
Se migró la clase WatchFaceCompanion de la biblioteca de compatibilidad para wearables a AndroidX. Se cambió el nombre de la clase migrada a WatchFaceConfigIntentHelper, que ofrece funciones auxiliares para especificar el ID y el nombre del componente en las actividades complementarias de configuración de la cara de reloj en el teléfono. También se puede usar a nivel local para configurar la cara de reloj en el dispositivo wearable. (Ia455f)
Wear Complications y Watchface 1.0.0
Versión 1.0.0-alpha22
15 de septiembre de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha22
. La versión 1.0.0-alpha22 contiene estas confirmaciones.
Nuevas funciones
- Ahora, EditorSession se suscribe a observadores de ciclo de vida para que ya no tengas que cerrarlo explícitamente cuando finalice tu actividad.
Cambios en la API
- Ahora, EditorSession y ListenableEditorSession usan StateFlows de Kotlin para complicationSlotsState, ComplicationsPreviewData y ComplicationsDataSourceInfo. (I761d9)
- EditorSession#userStyle ahora es un objeto
MutableStateFlow<UserStyle>
. (I32ca9) - EditorSession.createOnWatchEditorSession ahora usa un observador de ciclo de vida y se cierra automáticamente cuando observa onDestroy. Además,
createOnWatchEditorSession
ahora solo requiere que se pase la actividad. También se aplicaron cambios idénticos a ListenableEditorSession. (Ic6b7f) - El constructor de CustomValueUserStyleSetting se restableció como parte de la API pública. (I2e69a)
UserStyle
ahora hereda deMap<UserStyleSetting, UserStyleSetting.Option>
, yMutableUserStyleSetting#put
arroja IllegalArgumentException si la configuración no está en el esquema o si la opción no coincide. (Iba40f)
Versión 1.0.0-alpha21
1 de septiembre de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha21
. La versión 1.0.0-alpha21 contiene estas confirmaciones.
Cambios en la API
- Todas las API públicas de caras de reloj, cliente, editor y complicaciones ahora usan java.time.Instant para horas en lugar de Long, por lo que el nivel de API mínimo aumentó a 26. (I3cd48)
- Las API de caras de reloj y de complicación ahora usan ZonedDateTime inmutable en lugar de Calendar. (I25cf8)
- ComplicationSlots ahora se inicializan con NoDataComplicationData, ComplicationSlot.complicationData siempre tiene un valor, y CanvasComplicationDrawable.complicationData ya no es anulable. (I4dfd6) Esto reduce (pero no elimina) el parpadeo cuando se cambia de una cara de reloj a otra.
Versión 1.0.0-alpha20
18 de agosto de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha20
. La versión 1.0.0-alpha20 contiene estas confirmaciones.
Cambios en la API
- Se agregó createFallbackPreviewData a ComplicationDataSourceInfo, que se puede usar cuando ComplicationDataSourceInfoFetchr.fetchPreviewComplicationData muestra un valor nulo. (I38c4d)
- ComplicationDataSourceUpdateRequester se convirtió en una interfaz para permitir la simulación en las pruebas de unidades. Puedes crear una ComplicationDataSourceUpdateRequester concreta con ComplicationDataSourceUpdateRequester.create(). (I7da22).
- Se reemplazó RenderParameters.pressedComplicationSlotIds por RenderParameters.lastComplicationTapDownEvents, que expone la nueva clase TapEvent que contiene tres coordenadas x, y del toque en píxeles y una marca de tiempo.
WatchFace.TapListener.onTap
se reemplazó poronTapEvent(@TapType tapType: Int, tapEvent: TapEvent)
. Además, se quitóInteractiveWatchFaceClient.displayPressedAnimation
. (Id87d2) - Se agregó la anotación del subproceso explícito para setImportantForAccessibility. (I990fa)
- Se movió ComplicationSlotBoundsType a androidx-wear-watchface.ComplicationComplicationBoundsType en wear/wear-watchface. (I09420)
- Se agregó compatibilidad para pasar ID de recursos de strings a UserStyleSetting y Options. Esta es la forma recomendada de construir esos objetos. (I03d5f)
- Se impusieron límites al tamaño máximo de transferencia de un esquema UserStyle. Además, los íconos del esquema no deben superar los 400 x 400 píxeles. (I3b65b)
- Se agregó una clase MutableUserStyle para admitir cambios en instancias de UserStyle. (I95a40)
- Se cambió el nombre de
ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient
porListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient
. (I64ce2) - Se modificó EditorState.previewComplicationsData para que solo contenga datos de complicaciones habilitadas, y se agregó
EditorSession.DEFAULT_PREVIEW_TIME_MILLIS
, que si se pasa arenderWatchFaceToBitmap
oPreviewScreenshotParams
, solicita procesamientos con el tiempo de vista previa predeterminado de la cara de reloj. (If7b3c) - Se quitaron los constructores de UserStyleSetting que tomaban CharSequence de la API pública. En cambio, se recomienda usar los constructores que requieren ID de StringResource. (I8537b)
CurrentUserStyleRepository.UserStyleChangeListener
ahora admite la conversión de SAM. (I85989)
Versión 1.0.0-alpha19
4 de agosto de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha19
. La versión 1.0.0-alpha19 contiene estas confirmaciones.
Cambios en la API
- Se agregó
ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient
, que proporciona un wrapperListenableFuture
paraWatchFaceMetadataClient.createWatchFaceMetadataClient
. (I5fa37) UserStyleOption.getOptionForId
ahora aceptaUserStyleOption.Id
en lugar del array de bytes. (I469be)- Se proporcionaron constantes
BooleanOption.TRUE
yBooleanOption.FALSE
, además de no permitir la creación de instancias. (I46e09) - Los métodos de wear-watchface-client que pueden arrojar RemoteException ahora tienen anotaciones según corresponda. (Ib8438)
- Para mantener la coherencia, se cambió el nombre de
EditorSession.createOnWatchEditingSession
acreateOnWatchEditorSession
, del mismo modo quecreateHeadlessEditingSession
ahora escreateHeadlessEditorSession
. También se cambió el nombre de sus wrappers de Guava. (I1526b) - Ahora
EditorSession
es una interfaz yListenableEditorSession.commitChangesOnClose
se delega correctamente. (I7dc3e) - Ahora se rechaza a cualquier estilo de esquema de usuario que tenga una configuración u opciones con ID conflictivos. (Ic2715)
- Se agregó un
UserStyle.get
sobrecargado que aceptaUserStyleSetting.Id
. (I2aa0f)
Versión 1.0.0-alpha18
21 de julio de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha18
. La versión 1.0.0-alpha18 contiene estas confirmaciones.
Cambios en la API
- Se movió
ComplicationHelperActivity
a la bibliotecaandroidx.wear:wear-watchface
. (I39e76) - Por motivos de coherencia y claridad, se cambió el nombre de
ComplicationProvider
aComplicationDataSource
y, de forma similar, se cambió el nombre de todas las clases que incluían "Provider" en el nombre. (Iaef0b) - Se movió
CanvasComplication.isHighlighted
aRenderParameters.pressedComplicationSlotIds
. Este es un paso para queCanvasComplication
no tenga estado. Para admitir este cambio,CanvasComplication.render
ahora también tomaslotId
como parámetro, y pasamosComplicationSlot
aGlesTextureComplication
. (I50e6e) - Se agregó
headlessDeviceConfig
aEditorRequest
, si no es nulo, este parámetro se usa para construir una instancia sin interfaz gráfica a fin de respaldar EditorSession en lugar de actuar en la instancia interactiva. Permite que se invoque al editor para una cara de reloj que no sea la actual. (I0a820) - Agregamos un objeto
WatchFaceMetadataClient
experimental que permite la recuperación eficiente de metadatos de caras de reloj estáticas, comoUserStyleSchema
y datos fijos deComplicationSlots
. (I6bfdf) - Cambiamos el nombre de
CanvasRenderer.uiThreadInit
a init. (I6fff9) - Se agregó PreviewScreenshotParams, un nuevo parámetro opcional para EditorRequest que indica a EditorSession que realice una captura de pantalla de vista previa cuando se confirme con este parámetro. La imagen de vista previa se expone en
EditorState.previewImage
. (Ic2c16)
Correcciones de errores
- Los desarrolladores ya no necesitan agregar ComplicationHelperActivity a su propio manifiesto. (I6f0c2)
Versión 1.0.0-alpha17
30 de junio de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha17
. La versión 1.0.0-alpha17 contiene estas confirmaciones.
Nuevas funciones
En
GlesRenderer
, se reemplazaronmakeUiThreadContextCurrent
ymakeBackgroundThreadContextCurrent
porrunUiThreadGlCommands
yrunBackgroundThreadGlCommands
, que aceptan un objetoRunnable
. La biblioteca garantiza que se ejecute solo un comando de GL en cualquier momento.A fin de que la inicialización de UiThread resulte más fácil, agregamos
CanvasRenderer.uiThreadInit
, que se llama una vez en el UiThread antes de que se realice cualquier llamada para procesar. También agregamosonRendererCreated
aCanvasComplication
, que permite queRenderer
yCanvasComplication
compartan el estado con más facilidad.Para mayor claridad, cambiamos el nombre de
Complication
aComplicationSlot
, y el decomplicationId
acomplicationSlotId
ocomplicationInstanceId
, según el uso.
Cambios en la API
- Para mayor claridad, cambiamos el nombre de
Complication
aComplicationSlot
, y el decomplicationId
acomplicationSlotId
ocomplicationInstanceId
, según el uso. De la misma manera, se les cambió el nombre a las clases que usan Complication. Por ejemplo, ComplicationsManager ahora se llama ComplicationSlotsManager. (I4da44) - En GlesRenderer, se reemplazaron
makeUiThreadContextCurrent
ymakeBackgroundThreadContextCurrent
porrunUiThreadGlCommands
yrunBackgroundThreadGlCommands
, que aceptan unRunnable
. Solo se necesitarán estas funciones cuando requieras realizar llamadas de GL fuera del procesamiento,runBackgroundThreadGlCommands
yonUiThreadGlSurfaceCreated
. Esto es necesario porque puede haber varios GlesRenderers, cada uno con sus propios contextos en el mismo proceso, posiblemente desde diferentes caras de reloj. Además, ahora se sincroniza el acceso al contexto actual de GL compartido. (I04d59) - Agregamos
CanvasRenderer.uiThreadInit
, que se llama una vez en el UiThread antes de que se realice cualquier llamada para procesar. También para mayor claridad en GlesRenderer, cambiamos el nombre deonGlContextCreated
poronBackgroundThreadGlContextCreated
, y el deonGlSurfaceCreated
poronUiThreadGlSurfaceCreated
. (If86d0) - Se cambió el nombre de
HeadlessWatchFaceClient
yInteractiveWatchFaceClient
getComplicationsSlotState
porgetComplicationSlotsState
. EnComplicationSlot
, se cambió el nombre decreateRoundRectComplicationBuilder
,createBackgroundComplicationBuilder
ycreateEdgeComplicationBuilder
porcreateRoundRectComplicationSlotBuilder
,createBackgroundComplicationSlotBuilder
ycreateEdgeComplicationSlotBuilder
, respectivamente. (Ib9adc) - Agregamos onRendererCreated a CanvasComplication, que permite que Renderer y CanvasComplication compartan el estado con mayor facilidad. (I5e1ac)
Versión 1.0.0-alpha16
16 de junio de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha16
. La versión 1.0.0-alpha16 contiene estas confirmaciones.
Nuevas funciones
- Corregimos varios errores relacionados con los cambios recientes del modelo de subprocesos, así como otros problemas con el editor de caras de reloj.
Correcciones de errores
- Se evita la NPE en
onComplicationProviderChooserResult
. (b/189594557) - Se solucionaron problemas con plataformas inactivas y drawBlack. (b/189452267)
- Se corrigió la carrera para acceder a
complicationsManager.watchState
. (b/189457893) - Se corrigió un error con el ciclo de vida de subprocesos en segundo plano. (b/189445428)
- Se solucionaron problemas con el editor de caras de reloj anterior a R. (b/189126313)
- No se actualizaron los parámetros de reinicio directo para los cambios de estilo del editor. (b/187177307)
Versión 1.0.0-alpha15
2 de junio de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha15
. La versión 1.0.0-alpha15 contiene estas confirmaciones.
Nuevas funciones
Ahora, la mayor parte de la inicialización de la cara del reloj se lleva a cabo en un subproceso, en segundo plano. Sin embargo, después de cargar, todo el procesamiento de las caras de reloj se realiza en la anotación UiThread. Existe una barrera de memoria entre la carga y el procesamiento, de modo que la mayoría de las caras de reloj del usuario no requieren una acción especial. Las caras de reloj con GLES pueden ser una excepción, ya que el contexto es específico del subproceso y creamos dos contextos vinculados. Por lo tanto, es posible subir recursos GL (p. ej. texturas y sombreadores) al subproceso en segundo plano y usarlos en la anotación UiThread.
Dividimos la construcción de las caras del reloj en tres funciones: createUserStyleSchema, createComplicationsManager y createWatchFace. Suponemos que createUserStyleSchema y createComplicationsManager son rápidos, y createWatchFace puede tardar un poco en cargar los elementos. A fin de aprovechar esta característica, introdujimos WatchFaceControlClient.getDefaultProviderPoliciesAndType
, que muestra un mapa de ID de complicación para DefaultComplicationProviderPolicies y el elemento predeterminado ComplicationType. El proceso es más rápido que crear una instancia sin interfaz gráfica, ya que no necesita inicializar, por completo, la cara del reloj para realizar la consulta.
Por último, ahora, las complicaciones se construyen con CanvasComplicationFactory que permite la construcción diferida de los procesadores de CanvasComplication.
Cambios en la API
- Se reemplazó
@TargetApi
con@RequiresApi
. (I0184a, b/187447093, b/187447094) - Introdujimos
WatchFaceControlClient.getDefaultProviderPoliciesAndType
que muestra un mapa de ID de complicación para DefaultComplicationProviderPolicies y el elemento predeterminado ComplicationType. Cuando sea posible, se usa una ruta rápida que evite la construcción completa de una cara del reloj. Para facilitar este proceso, se tuvo que cambiar la API de WatchFaceService con dos métodos nuevos: createUserStyleSchema y createComplicationsManager, cuyos resultados se pasan a createWatchFace. Además, las complicaciones ahora se construyen con CanvasComplicationFactory que permite la construcción diferida de los procesadores de CanvasComplication. (Iad6c1) - Se quitó MOST_RECENT_APP de SystemProviders. (I3df00)
- Ahora, ObservableWatchData es una clase sellada. (Ic940d)
- Ahora, se llama a CanvasComplicationFactory.create (que suele vincularse a E/S) en un subproceso, en segundo plano para cada complicación antes de que comience el procesamiento del subproceso de IU. Existe una barrera de memoria entre la construcción y el procesamiento, de modo que no se requieren primitivas especiales de subprocesos. (Ia18f2)
- Ahora, la construcción de las caras del reloj se lleva a cabo en un subproceso, en segundo plano, aunque todo el procesamiento se realiza en el subproceso de IU, por lo que GlesRenderer admite dos contextos vinculados. Es posible que WatchFaceControlClient.createHeadlessWatchFaceClient y WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient se resuelvan antes de que se complete WatchFaceService.createWatchFace. Las llamadas posteriores a la API se bloquearán hasta que se complete la inicialización de la cara del reloj. (Id9f41)
- EXPANSION_DP y STROKE_WIDTH_DP ya no son visibles en api.txt. (I54801)
- Configuramos EditorSession.createOnWatchEditingSession para que arroje TimeoutCancellationException si se produce un error en lugar de enviar una sesión nula. Además, ahora, el valor que se muestra de EditorRequest.createFromIntent y EditorSession.createOnWatchEditingSession es NonNull. (I41eb4)
Versión 1.0.0-alpha14
18 de mayo de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha14
. La versión 1.0.0-alpha14 contiene estas confirmaciones.
Nuevas funciones
- Ahora,
EditorSession.openComplicationProviderChooser
muestra ChosenComplicationProvider, que contiene el ID de complicación,ComplicationProviderInfo
y un paquete que incluye cualquier extra adicional que muestre el selector de proveedor. - Además, hemos migrado código a Kotlin de manera constante, por lo que la mayoría de la API de Watchface ahora se define en Kotlin.
Cambios en la API
- Las propiedades
eglContext
yeglDisplay
de GlesRenderer ahora son no nulas. Ahora, cualquier error de GL se informa medianteGlesRenderer.GlesException
, en lugar de RuntimeExceptions. (Ib1005) - Migramos
androidx.wear.watchface.complications.rendering.ComplicationDrawable
de Java a Kotlin. (Ibc3eb) - Migramos
androidx.wear.watchface.complications.rendering.ComplicationStyle
de Java a Kotlin. (I3375e) - Agregamos información sobre el proveedor de complicaciones para cada complicación en EditorSession. (I37f14)
- Extendimos el resultado de
EditorSession.openComplicationProviderChooser
para incluir la información que muestra la selección. (Iead6d)
Wear Complications y Watchface versión 1.0.0-alpha13
5 de mayo de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha13
. La versión 1.0.0-alpha13 contiene estas confirmaciones.
Nuevas funciones
Las caras de reloj pueden tener elementos visuales importantes, además de mostrar el tiempo y las complicaciones. A fin de brindar compatibilidad con el lector de pantalla, la cara de reloj ahora especifica las ContentDescriptionLabels de accesibilidad a través de la propiedad additionalContentDescriptionLabels de Renderer. Además, se agregó accessibilityTraversalIndex a las complicaciones para controlar el orden de ContentDescriptionLabels. Esto puede modificarse mediante ComplicationsUserStyleSetting.
A fin de alentar a los desarrolladores a que analicen con detenimiento los lectores de pantalla, hemos establecido como obligatorio el campo
contentDescription
deShortTextComplicationData.Builder
,LongTextComplicationData.Builder
yRangedValueComplicationData.Builder
que se pasará a sus constructores. Si se pasaComplicationText.EMPTY
a lacontentDescription
, se generará automáticamente unacontentDescription
a partir del texto y del título.Ahora
WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
arrojaServiceStartFailureException
si la cara de reloj genera una excepción durante la inicialización. Esto facilita el diagnóstico de los problemas durante el inicio de la cara de reloj.
Cambios en la API
- Agregamos compatibilidad con un nombre de componente nulo en ComplicationProviderInfo, necesario para admitir versiones anteriores de Wear OS. (I744d2)
- Migramos
androidx.wear.complications.SystemProviders
de Java a Kotlin. (Ia1f8b) - Ocultamos todas las clases de la API pública que se encuentran en android.support.wearable.complications y creamos las wrappers correspondientes en AndroidX en los casos necesarios. (I7bd50)
- Cambiamos el nombre del método en
TimeDifferenceComplicationText.Builder
desetMinimumUnit
asetMinimalTimeUnit
. (I20c64) - Hicimos obligatorio el campo
contentDescription
deShortTextComplicationData.Builder
,LongTextComplicationData.Builder
yRangedValueComplicationData.Builder
que se pasará al constructor. (I8cb69) - Cambiamos el nombre de ComplicationProviderService.onComplicationUpdate a onComplicationRequest y encapsulamos el ID y el parámetro de tipo de este método en el ComplicationRequest de datos. Se cambió el nombre del objeto de escucha correspondiente por ComplicationRequestListener y su método ComplicationRequestListener.onComplicationData. (Iaf146)
- Quitamos el método
isActiveAt
deComplicationData
y, en su lugar, expusimos el campovalidTimeRange
. Esta llamada de método puede reemplazarse porvalidTimeRange.contains
. (I65936) - Cambiamos la descripción del método ComplicationProviderService.onComplicationActivated de modo que reciba un ComplicationType en lugar de un entero (Idb5ff).
- Migramos ProviderUpdateRequester de Java a Koltin. (Ibce13)
- GlesRender.makeContextCurrent ahora es público. Es posible que el código de la cara de reloj requiera realizar llamadas de GL fuera del procesamiento y de onGlContextCreated, y debido a que podría haber un contexto interactivo y sin interfaz gráfica, resulta necesario realizar esta llamada. (I8a43c)
- WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient ahora genera una ServiceStartFailureException si la cara de reloj arroja una excepción durante la inicialización. Además, WatchFaceService ahora arroja una excepción si createWatchFace tarda más de 6 segundos. (I59b2f)
- Quitamos la propiedad de ID no usada de
GlesTextureComplication
. (I28958) - La cara de reloj ahora puede especificar ContentDescriptionLabels de accesibilidad mediante la propiedad additionalContentDescriptionLabels de
Renderer
. Además de controlar el orden de ContentDescriptionLabels, se agregó accessibilityTraversalIndex a las complicaciones. Esto puede modificarse mediante ComplicationsUserStyleSetting. (Ib7362) - Se expandió la documentación sobre el manejo de eventos táctiles en la cara de reloj. (Iaf31e)
Correcciones de errores
EditorSession.getComplicationsPreviewData()
ahora muestra un mapa para todas las complicaciones no vacías. Se usa una instancia de EmptyComplicationData para las complicaciones vacías. (I1ef7e)
Wear Complications & Watchface versión 1.0.0-alpha12
21 de abril de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha12
. La versión 1.0.0-alpha12 contiene estas confirmaciones.
Nuevas funciones
Los editores de caras de reloj deben destacar partes de la cara para ayudar a indicar qué aspecto de un reloj se configura. Hemos extendido RenderParameters para permitir que se destaquen los estilos y las complicaciones. Existe un nuevo elemento HighlightLayer opcional que se diseñó para colocarse sobre la cara del reloj con transparencia alfa (las API de captura de pantalla pueden hacer esto por ti o proporcionar HighlightLayer por sí solas a fin de ofrecer máxima flexibilidad). Por ejemplo, si tienes un estilo que te permite configurar la apariencia de las manecillas del reloj, tu procesador en renderHighlightLayer puede dibujar un contorno alrededor de ellas.
A fin de promover la compatibilidad del proveedor de complicaciones para brindar accesibilidad, convertimos el campo contentDescription de PhotoImageComplicationData.Builder, de MonochromaticImageComplicationData.Builder y de SmallImageComplicationData.Builder en un argumento de constructor obligatorio. Se agregaron ComplicationTapFilter y Complication.createEdgeComplicationBuilder para admitir complicaciones perimetrales (que se dibujan alrededor del borde de la pantalla). Renderizar las complicaciones perimetrales y realizar pruebas de posicionamiento de estas complicaciones depende de la cara del reloj. La prueba de posicionamiento perimetral no es compatible con el editor complementario.
Cambios en la API
- Se agregó el prefijo
PROVIDER_
a las constantes en SystemProviders. (I1e773) - Convertimos el campo
contentDescription
dePhotoImageComplicationData.Builder
, deMonochromaticImageComplicationData.Builder
y deSmallImageComplicationData.Builder
en obligatorio para que se pase en el constructor. (I9643a) - El nombre de
ProviderInfoRetriever.requestPreviewComplicationData
cambió porretrievePreviewComplicationData
. (I911ee) - Se migró
ComplicationProviderService
de Java a Kotlin. (I849f2) - Ahora, el método
ComplicationProviderService.onBind
es definitivo. (I39af5) - Restablecimos la interfaz
CanvasComplication
y trasladamosCanvasComplicaitonDrawable
,GlesTextureComplication
yComplicationHighlightRenderer
awear-watchface-complications-rendering
. (I84670) - Se reestructuró
RenderParameters
para admitir la renderización extendida de contenido destacado. Ahora, es posible solicitar la renderización de contenido destacado para estilos y todas las complicaciones o una sola. Además, ahora, CanvasRenderer y GlesRenderer tienen un nuevo método renderHighlightLayer abstracto a fin de renderizar cualquier solicitud para destacar contenido que realice el editor. El nombre Layer se cambió por WatchFaceLayer. (Ic2444) - Se agregaron
ComplicationTapFilter
yComplication.createEdgeComplicationBuilder
para admitir complicaciones perimetrales. Renderizar las complicaciones perimetrales y realizar pruebas de posicionamiento de estas complicaciones depende de la cara del reloj. Las pruebas de posicionamiento no se admiten en los editores. (Ia6604) - Para
DoubleRangeUserStyleSetting
yLongRangeUserStyleSetting
: ahora,defaultValue
,maximumValue
yminimumValue
son propiedades de Kotlin. Además, se quitaron las funcionesUserStyleSetting.Option
, como toBooleanOption, toCoplicationOptions, toListOption y similares. (I52899) - Se agregó tamaño del mentón a las propiedades del dispositivo disponibles para la cara del reloj. (I76e1e)
- Ahora, el constructor de
ComplicationHighlightRenderer
acepta los parámetrosoutlineExpansion
youtlineStrokeWidth
. (I87009) - Ahora,
ComplicationDrawable.getNoDataText
forma parte de la API pública. (I00598)
Versión 1.0.0-alpha11
7 de abril de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha11
. La versión 1.0.0-alpha11 contiene estas confirmaciones.
Nuevas funciones
- Se mejoraron las API de caras de reloj. La mayoría de los cambios incluyen cambios de nombre simples, pero se combinaron
InteractiveWatchFaceWcsClient
yInteractiveWatchFaceSysUiClient
enInteractiveWatchFaceClient
.
Cambios en la API
- Ahora ContentDescriptionLabel.text es un ComplicationText en lugar de la antigua biblioteca de compatibilidad para wearables TimeDependeText. (I80c03)
- No se garantiza que
SystemProviders.GOOGLE_PAY
esté presente en todos los dispositivos Android R, por lo que se quitó de la lista. Aún se puede utilizar este proveedor medianteDefaultComplicationProviderPolicy
. (If01b5) - Se cambió el nombre de ComplicationUpdateCallback a ComplicationUpdateListener para mayor coherencia. (I61ec7)
- Se cambió el mapa de formato de cable UserStyle por
Map<String, byte[]>
. Por conveniencia, se agregó una claseUserStyleData
a la API pública y, ahora, se usa en wear-watchface-client y wear-watchface-editor. Además, CustomValueUserStyleSetting.CustomValueOption.value ahora esbyte[]
en lugar deString
. (Iaa103) UserStyleSetting
yUserStyleSetting.Option
ahora usanUserStyleSetting.Id
yUserStyleSetting.Option.Id
respectivamente para almacenar sus ID en lugar de una string. (I63f72)- El nombre de
InteractiveWatchFaceClient.SystemState
cambió porWatchUiState
. (I6a4e0) - Se combinaron
InteractiveWatchFaceWcsClient
yInteractiveWatchFaceSysUiClient
porque era difícil explicar la división de responsabilidad. (Iff3fa) - Se cambió el nombre de los valores de enumeración de capa para mayor claridad.
Layer#TOP_LAYER
ahora esLayer#COMPLICATIONS_OVERLAY
yLayer#BASE_LAYER
ahora esLayer#BASE
. (Ia144e) - Se modificó el nombre de
UserStyleListener
porUserStyleChangeListener
. (I18524) - Se modificó el nombre de
UserStyleRepository
porCurrentUserStyleRepository
. (I6ea53) - El nombre de
InteractiveWatchFaceWcsClient.updateInstance
cambió porupdateWatchfaceInstance
. (I321dc) - Se cambió el nombre de los eventos WatchFace TapType para alinearse con MotionEvents / Compose. (I0dfd0).
- Se cambió el nombre de takeWatchScreenScreenshot a renderWatchFaceToBitmap, y el de takeComplicationScreenshot a renderComplicationToBitmap. (Ie0697 )
- Se quitó la interfaz CanvasComplication para dar lugar a la clase abierta CanvasComplicationDrawable. (I1f81f)
- Se quitó
WatcfaceControlServiceFactory
de la API pública. (I1f8d3) - Se cambió el nombre de
CanvasComplication.setData
aCanvasComplication.loadData
. (If1239) - El nombre de
ComplicationsManager.bringAttentionToComplication
cambió pordisplayPressedAnimation
. (Ic4297) - Ahora,
WatchFaceService.createWatchFace
tiene una anotación@UiThread
. (Ib54c2) - Se cambió el nombre de un parámetro CanvasComplicationDrawable para corregir un error. (I50dac)
- Agregamos
HeadlessWatchFaceClient.toBundle()
yHeadlessWatchFaceClient.createFromBundle
para admitir el envío deHeadlessWatchFaceClient
a través de AIDL. (I07c35) - HeadlessWatchFaceClient y InteractiveWatchFaceClient ahora tienen ClientDisconnectListener y isConnectionAlive() para permitirte observar si la conexión está interrumpida por algún motivo (por ejemplo, la cara de reloj que se cierra). (Ie446d)
WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync
ahora es una función de suspensión y su nombre se cambió porgetOrCreateInteractiveWatchFaceClient
. (Ib745d)- Se cambió el nombre de
EditorState.commitChanges
yhasCommitChanges()
porshouldCommitChanges()
. (I06e04) - Se cambió el nombre de
previewComplicationData
porpreviewComplicationsData
para indicar que, por lo general, hay más de una complicación en el mapa. (I56c06) - Se cambió el nombre de
InteractiveWatchFaceWcsClient.bringAttentionToComplication
pordisplayPressedAnimation
para mantener la coherencia conComplicationsManager.displayPressedAnimation
. (Ic9999) - Todos los ID de instancia de cara de reloj se encapsulan en una nueva clase WatchFaceId. (I45fdf)
- Se cambió el nombre de la propiedad
complicationState
porcomplicationsState
para indicar pluralidad. (Ided07) - Se quitaron las diversas conversiones de wear-watchface-client Binder, ya que no eran necesarias. (Icc4c0)
- Por motivos de coherencia, se refactorizó
EditorServiceClient
para usar objetos de escucha en lugar de observadores. (Iec3a4) - Agregamos algunas anotaciones de
@Px
faltantes aInteractiveWatchFaceSysUiClient
yWatchFaceControlClient
. (I3277a) - Se cambió el nombre de EditorObserverCallback a EditorObserverListener para mayor coherencia. (Ie572d)
- EditorState.watchFaceInstanceId se restringe al nivel de API de Android R y versiones posteriores, y ya no es anulable. (Id52bb)
- El nombre de
EditorSession.launchComplicationProviderChooser
cambió poropenComplicationProviderChooser
. (I9d441) - Se cambió el nombre de
EditorSession.createOnWatchEditingSessionAsync
porcreateOnWatchEditingSession
y, ahora, es una función de suspensión. (Id257b) - Se agregaron varias anotaciones
@UiThread
faltantes enEditorSession
. (I6935c) - El nombre de
UserStyleSetting.affectsLayers
cambió poraffectedLayers
. (I6e22b)
Versión 1.0.0-alpha10
24 de marzo de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha10
. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Ahora, es posible crear objetos de gl abiertos, por ejemplo texturas, durante WatchFaceService.createWatchFace porque GlesRenderer requiere una llamada explícita a initOpenGLContext, que se puede realizar dentro de createWatchFace.
Cambios en la API
IdAndComplicationData
era un poco incómodo y se quitó de la API pública. Se refactorizaron las clases y las interfaces que la usaron. (I4c928)- Se reemplazó
ReferenceTime
porCountUpTimeReference
yCountDownTimeReference
, que son más evidentes. (Ib66c6) - Se agregaron algunas anotaciones
@Px
y@ColorInt
faltantes. (I9bbc3) - Ahora,
Complication.complicationConfigExtras
no puede anularse y su valor predeterminado esBundle.EMPTY
. (Iad04f) - Ahora,
GlesRenderer
requiere que llames ainitOpenGLContext
después de la construcción. Esta función era un detalle interno, pero ahora se encuentra en la API pública para permitir llamadas de GL antes en createWatchFace. (I726c2) - Se quitó
Complication.setRenderer
, ya que no es necesario. (Ie992f) Complicaiton.setComplicationBounds
ya no forma parte de la API pública. Si necesitas ajustar la posición de una complicación, puedes hacerlo medianteComplicationsUserStyleSetting
. (Ibd9e5)- El nombre de
ComplicationsManager.TapCallback.onComplicationSingleTapped
cambió poronComplicationTapped
. (I3a55c) - El nombre de
ComplicationOutlineRenderer.drawComplicationSelectOutline
cambió pordrawComplicationOutline
. (I14b88)
Versión 1.0.0-alpha09
10 de marzo de 2021
Lanzamiento de androidx.wear:wear-complications-*:1.0.0-alpha09
y androidx.wear:wear-watchface-*:1.0.0-alpha09
. La versión 1.0.0-alpha09 contiene estas confirmaciones.
Nuevas funciones
- Evolucionó la interfaz entre el host WCS/SysUI y la cara de reloj. Ahora un editor puede determinar si un cambio de estilo habilitará o inhabilitará una complicación (habilitada = initiallyEnabled, además de cualquier anulación desde ComplicationsUserStyleSetting).
EditorService.closeEditor
también permite que SysUI cierre de forma remota un editor de caras de reloj, si es necesario. - Además de
InteractiveWatchFaceWcsClient.setUserStyle
con un comando más eficazupdateInstance
: cambia el ID de la instancia, establece el estilo y elimina las complicaciones, todo en una sola operación.
Cambios en la API
- Se agregaron TraceEvents a las bibliotecas de caras de reloj. (I1a141)
- Ahora
ComplicationState
tiene una nueva propiedad,initiallyEnabled
, que sirve para predecir las consecuencias del cambio de estilos. (I8c905) - Reemplazamos
InteractiveWatchFaceWcsClient.setUserStyle
por un comando más eficaz,updateInstance
, que cambia el ID de la instancia, establece el estilo y elimina las complicaciones. (Ife6f6) - Las API de captura de pantalla de WatchFaceClient ya no comprimen las capturas de pantalla debido a que era un proceso lento. En su lugar, dejamos cualquier procesamiento posterior al emisor. (Id35af)
- Ahora es posible cerrar de forma remota un editor de caras de reloj a través de
EditorService.closeEditor
. (Ic5aa4) - Se agregaron anotaciones de nulabilidad. (Ic16ed).
Versión 1.0.0-alpha08
24 de febrero de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha08
. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Algunas caras de reloj están diseñadas en función de una o más complicaciones específicas. En respuesta, agregamos Complication.Builder#setFixedComplicationProvider, que, si tiene un valor True, evita que el usuario cambie la complicación en esa ranura.
- Las bibliotecas de caras de reloj priorizan Kotlin y usan corrutinas (p. ej., funciones de suspensión). Para los usuarios de Java, brindamos wrappers ListenableFuture, a fin de mejorar la interoperabilidad en las siguientes bibliotecas: wear/wear-watchface-guava, wear/wear-watchface-client-guava y wear/wear-watchface-editor-guava.
Cambios en la API
- Quitamos la compatibilidad con la función Presionar dos veces en las complicaciones que lanzan ProviderChooser. Esta función no era habitual en las caras de reloj y complicaba la implementación de SysUI. (I3ef24)
- Los métodos ProviderInfoRetriever pueden arrojar ServiceDisconnectedException si el Binder se cierra inesperadamente. (Ib2cc4)
- A partir de Android 11, existen restricciones sobre cuándo se puede ejecutar ProviderChooser. Además, queremos que los editores se compilen con el nuevo elemento
wear-watchface-editor
, para que se elimine ComplicationHelperActivity de la API pública. (Ib19c1) - Se quitaron los métodos estáticos ComplicationText y fueron reemplazados por los compiladores. (Ibe399)
- Incorporamos wrappers ListenableFuture de Guava para los distintos métodos suspendidos de la biblioteca de caras de reloj. (I16b2c)
- Para mayor claridad de la API, agregamos un constructor secundario a RenderParameters que no requiere tono, a fin de usar con LayerModes en lugar de
LayerMode.DRAW_OUTLINED
. (I497ea) - Anteriormente, ListUserStyleSetting era diferente al otro, ya que contaba con un argumento predeterminado. Ahora, todos los constructores de subclase StyleSetting toman el último valor predeterminado. (I9dbfd)
- Se reestructuró CanvasComplication para usar un método oculto, lo que facilita la implementación de una subclase. (I5b321)
- Reestructuramos EditorResult y se reemplazó por nuevos elementos EditorService y
EditorSession.broadcastState()
para transmitir actualizaciones a un observador (en general, SysUI). (Ic4370) - Algunas caras de reloj se compilan en base a una complicación específica como parte integral de la cara de reloj en la que el proveedor no pueda ser configurado por el usuario. En respuesta, agregamos
Complication.Builder#setFixedComplicationProvider
. (I4509e) - Ahora, EditorRequest especifica el nombre del paquete en lugar de ComponentName, ya que no era conveniente que SysUI buscara el nombre de la clase del editor, y, en realidad, solo necesitamos el nombre del paquete. (Ib6814)
Versión 1.0.0-alpha07
10 de febrero de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha07
. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- WatchFaceService.createWatchFace ahora es una función de suspensión, lo que significa que la cara de reloj ya no debe bloquear el subproceso de IU mientras espera la IO. Lo mismo sucede con wear-watchface-editor y wear-complications-data.
Cambios en la API
- Quita la clase de PhotoImage y usa Icon directamente. (I8a70b)
- Se expuso el validTimeRange de ComplicationData. (I91366)
- Los atributos image-like se volvieron más explícitos. (I81700)
- Se refactorizaron wear-watchface-editor y complications-data para que usen funciones de suspensión en lugar de corrutinas. Los wrappers RxJava y Future compat serán los próximos. (If3c5f)
- ProviderInfoFetcher ahora muestra PreviewNotAvailableException si requestPreviewComplicationData no puede mostrar datos de vista previa debido a problemas de conexión o a falta de compatibilidad con la API. (I4964d)
- WatchFaceControlService::createWatchFaceControlClient es ahora una función de suspensión y and getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient ahora se llama getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync y muestra
Deferred<InteractiveWatchFaceWcsClient>
. Los wrappers RxJava y Future compat serán los próximos (I5d461) - Se cambió el nombre de
CATEGORY_PROVIDER_CONFIG_ACTION
aCATEGORY_PROVIDER_CONFIG
. (I7c068) - Ten en cuenta que createOnWatchEditionSession ahora es una función suspendida, ya que, a veces, la cara de reloj no está disponible hasta poco después de que haya comenzado la actividad del editor. (Ida9aa)
- WatchFaceService.createWatchFace ahora es una función de suspensión que permite la inicialización asíncrona; antes debías bloquear el subproceso principal. (If076a)
- Ahora UserStyle tiene un operador de arreglos, y agregamos asistentes de transmisión a UserStyle.Option. (I35036)
- Se corrigió un error de ordenamiento con formatos de cable de UserStyle por el que se modificaban algunas de las API ocultas inestables. (I8be09)
- Agregamos CustomValueUserStyleSetting, que te permite almacenar una sola string específica de la aplicación en un UserStyle. Los editores de caras de reloj predeterminados ignorarán este valor. (Ic04d2)
- No se pasa InstanceID en los extras de intent de R ni versiones anteriores de Android Wear OS, que no podemos actualizar. Para admitir esta función, ahora permitimos que InstanceID sea un valor nulo. (Id8b78)
- EditorRequest ahora incluye el editor ComponentName, que se configura como el componente de WatchFaceEditorContract.createIntent. (I3cd06)
- El elemento EditorResult de la cara de reloj ahora incluye un ComplicationData de vista previa para permitir que el llamador tome una captura de pantalla de la cara de reloj después de la edición. (I2c561)
Correcciones de errores
- Se agregaron anulaciones de toString() a UserStyle, UserStyleSetting y UserStyleSchema, lo que permite que trabajar con estas clases sea un poco más agradable. (I9f5ec)
Versión 1.0.0-alpha06
27 de enero de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Presentamos la nueva biblioteca wear/wear-watchface-editor, que permite desarrollar un editor de estilo y complicación a los desarrolladores de caras de reloj y, posiblemente, a los OEM. SysUI enviará un intent a la cara de reloj que usará la nueva clase EditorSession para acceder a los datos de WatchFace y registrar el resultado a través de Activity.setWatchRequestResult. Para ello, agregamos ProviderInfoRetriever.requestPreviewComplicationData, que permite a los editores de caras de reloj solicitar una vista previa de ComplicationData. La ventaja de obtener una vista previa de ComplicationData es que, a diferencia de los datos en tiempo real, no tienes que preocuparte por los diálogos de permisos cuando procesas el editor (ten en cuenta que, si un usuario selecciona un proveedor que tiene un permiso, se le solicitará que otorgue el permiso de todos modos).
Cambios en la API
- ComplicationProviderInfo ahora tiene un campo para el ComponentName del proveedor. Se agregará la compatibilidad con este campo a Wear OS más adelante y, mientras tanto, será nula. (Id8fc4)
- Agregamos ProviderInfoRetriever.requestPreviewComplicationData, que permite a los editores de caras de reloj solicitar una vista previa de ComplicationData. Esto resulta útil, ya que es posible que las complicaciones activas requieran permisos, y ahora podrás mostrar datos de vista previa de las complicaciones que no estén activas. (I2e1df)
- ComplicationManager ahora es un parámetro opcional del constructor de WatchFace y, para ello, se reordenaron los argumentos. (I66c76)
- Agregamos un paquete opcional a Complications que, si se configura, se fusiona con el intent enviado para iniciar la actividad del selector de proveedores. (Ifd4ad)
- Agregamos
wear-watchface-editor
, una biblioteca nueva que brinda compatibilidad con la cara de reloj y los editores alojados en SysUi. SysUI iniciará esos editores enviando un intent. El servicio de actividad de la cara de reloj puede usar la nueva clase EditorSession a fin de acceder a los datos de WatchFace y registrar el resultado a través de Activity.setWatchRequestResult. (I2110d) - Ahora LayerMode.DRAW_HIGHLIGHTED se llama LayerMode.DRAW_OUTLINED, y RenderParameters.highlightComplicationId se llama RenderParameters.selectedComplicationId, que resalta la complicación especificada además de marcar su contorno. (I90a40)
- Ahora, el futuro de WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient puede resolverse con un ServiceStartFailureException si el servicio finaliza durante la creación de la cara de reloj. (I0f509)
- EditorSession.complicationPreviewData ahora es un ListenableFuture, ya que la recuperación de estos datos es un proceso asíncrono. (Iead9d)
Correcciones de errores
- Se quitarán los campos que no se usan de ComplicationOverlay, pero mantendremos los valores enabled y ComplicationBounds. (I17b71)
Versión 1.0.0-alpha05
13 de enero de 2021
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha05
. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
En general, las caras de reloj admiten varias configuraciones de complicaciones, en las que se muestran diferentes cantidades de complicaciones. Para facilitar esta configuración, ahora admitimos las complicaciones inhabilitadas inicialmente llamando a setEnabled(false) en el compilador. Estas pueden habilitarse más tarde mediante ComplicationsUserStyleSetting.
Cambios en la API
- ComplicationHelperActivity ahora acepta
Collection<ComplicationType>
en lugar de un arreglo int, lo que facilita su uso. (I1f13d) ProviderInfoRetriever.retrieveProviderInfo
ahora muestraListenableFuture<ProviderInfo[]>
correctamente. (If2710)- Ahora puedes crear una complicación inhabilitada inicialmente llamando a setEnabled(falso) en el compilador. (Idaa53)
- WatchFaceState ahora tiene una propiedad isHeadless, que solo es verdadera en instancias sin interfaz gráfica. (Ifa900)
- ComplicationDrawable ahora admite de manera opcional la carga síncrona de elementos de diseño. Las API de captura de pantalla usan esta función. (I34d4a)
Versión 1.0.0-alpha04
16 de diciembre de 2020
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha04
. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- La biblioteca de caras de reloj de Wear ahora admite la configuración de límites por tipo. P. ej., puedes cambiar a un cuadro de límite amplio para ComplicationType.LONG_TEXT, pero usar un cuadro de límite más pequeño para otros tipos.
Cambios en la API
- Las complicaciones ahora usan ComplicationBounds, que rodea un
Map<ComplicationType, RectF>
para admitir tamaños por tipo de complicaciones. (I1ebe7) - RenderParameters ahora te permite especificar el tono de destacado que se usará en capturas de pantalla. (Iff42b)
- Excepto para los límites, ahora debes usar ComplicationsUserStyleSetting para modificar complicaciones a fin de garantizar que el SO permanezca sincronizado. (I8dc5d)
- Renderer ahora es una clase sellada. Eso significa que CanvasRenderer y GlesRenderer ahora son clases internas de Renderer. (Iab5d4, b/173803230)
- Se cambió el nombre de CanvasComplicationDrawable.drawHighlight a drawOutline. ObservableWatchData ahora tiene algunas anotaciones de UiThread que faltaban. Se quitó por completo ScreenState de WatchState. (If1393)
- Ahora el nivel mínimo de API para caras de reloj de Wear es 25. Ten en cuenta que la compatibilidad con lienzos de hardware requiere el nivel de API 26 o superior. (Ic9bbd)
- InteractiveWatchFaceWcsClient ahora tiene un elemento auxiliar getComplicationIdAt. (I05811)
- Se redujo el nivel de API para watch-watchface-client a 25; sin embargo, las API de captura de pantalla requieren el nivel de API 27. (Id31c2)
Correcciones de errores
- Ahora exponemos el ComplicationType de ComplicationData de la complicación en ComplicationState. (I9b390)
- InteractiveWatchFaceWcs ahora tiene un método `bringHanceToComplication para destacar brevemente la complicación especificada. (I6d31c)
InteractiveWatchFaceWcsClient#setUserStyle
ahora tiene una sobrecarga que acepta Map<string, string="">, lo que podría evitar un procesamiento de ida y vuelta de IPC adicional necesario para construir UserStyle. (I24eec)</string,>
Versión 1.0.0-alpha03
2 de diciembre de 2020
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
Ahora la clase Complication tiene una propiedad complicationData que permite que las caras de reloj observen los cambios en ComplicationData. Esto permite cambiar las dimensiones de la complicación según su tipo.
Las velocidades de fotogramas variables ahora son compatibles mediante la asignación a Renderer.interactiveDrawModeUpdateDelayMillis. En el caso de las caras de reloj que ejecutan animaciones cortas cada segundo, esto puede generar un buen ahorro de energía si se suspende cuando no se reproduce ninguna.
Cambios en la API
- Se cambió el nombre de
BACKGROUND_IMAGE
aPHOTO_IMAGE
junto con las clases relacionadas. El cambio se debe a que este tipo de complicación no se usa exclusivamente para fondos. (I995c6) - Se anotó correctamente DefaultComplicationProviderPolicy con IntDefs. (I3b431)
- La clase oculta TimeDependentText ya no se expone a través de ContentDescriptionLabel. En su lugar, agregamos un descriptor de acceso para obtener el texto en un momento específico. (Ica692)
- Ahora, el constructor de ObservableWatchData es interno. (I30121, b/173802666)
- Ahora, Complication tiene complicationData, lo que permite que las caras de reloj observen los cambios en ComplicationData. Complication también tiene una nueva llamada isActiveAt, que puede usarse para saber si algo se debe procesar en una fecha y hora proporcionadas. (Ic0e2a)
- El
SharedMemoryImage
vacío ya no se encuentra en la API pública. (I7ee17) - Ahora,
WatchFace.overridePreviewReferenceTimeMillis
tiene una anotación IntRange, y el captador y los métodos get y set tienen nombres coherentes. (Ia5f78) - Ahora,
Complication.Builder
se crea a través deComplication.createRoundRectComplicationBuilder
oComplication.createBackgroundComplicationBuilder
para brindar mayor claridad. (I54063) - Se agregó WatchFace.TapListener, que permite que WatchFace observe las presiones que no consumieron las complicaciones. (Ic2fe1, b/172721168)
- WatchFace ahora admite velocidades de fotogramas variables mediante la asignación a
Renderer.interactiveDrawModeUpdateDelayMillis
. Esto puede ayudar a conservar la duración de batería entrando en suspensión cuando no se anima. (I707c9) - Ya no se necesita WatchFace.Builder, y se trasladaron invalidate() e InteractiveUpdateRateMillis a Renderer. (I329ea)
- Para mejorar la interoperabilidad de Java, se cambió el nombre de los métodos get de propiedades booleanas de WatchState. (I6d2f1)
- Se cambió el nombre de TapListener a TapCallback, y el de InvalidateCallback a InvalidateListener para mayor coherencia. (I9414e)
- Las opciones de estilo de cara de reloj de Wear 2.0 se movieron a su propia clase para mayor claridad. Los métodos set de WatchFace.Builder ahora tienen métodos get de clase WatchFace simétricos. (Iefdfc)
- Se agregaron InteractiveWatchFaceWcsClient y
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
, que obtienen una instancia existente o la crean una vez que el servicio de fondo de pantalla se conecte y encienda el motor. (Id666e) - WatchFaceControlClient ahora es una interfaz que las pruebas pueden probar. (I875d9)
- HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl y InteractiveWatchFaceWcsClient ahora son interfaces a fin de facilitar las pruebas. (I7cdc3)
- Se agregaron anotaciones a los métodos en
wear-watchface-complications-rendering
. (I0d65c)
Correcciones de errores
- Se quitó la forma de pantalla de DeviceConfig, que estaba duplicando
android.content.res.Configuration#isScreenRound()
. (Ifadf4) - Se cambió
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
para aceptar unaMap<String, String>
en lugar deUserStyle
, ya que es difícil crear unUserStyle
sin conocer el esquema que solo puedes obtener después de crear el cliente. (Iea02a) - Se corrigió
InteractiveWatchFaceWcsClient
para usarComplicationState
en lugar del formato de cable. (Icb8a4) - Ahora
UserStyleSettings
es una clase sellada, ya que los editores de caras de reloj solo entienden las clases integradas. (I2d797)
Versión 1.0.0-alpha02
11 de noviembre de 2020
Lanzamiento de androidx.wear:wear-*:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Cambios en la API
ComplicationDetails
ahora se llamaComplicationState
y está correctamente encapsulado, y se migró el uso de compatibilidad con wearables@ComplicationData.ComplicationType
aComplicationType
de androidx. (I4dd36)- Se agregó un parámetro
highlightedComplicationId
opcional a RenderParameters que permite solicitar el resaltado de una sola complicación en capturas de pantalla. (I66ce9) - Ahora
ComplicationProviderService
usará la nueva API de estilo de complicación para mantener la coherencia. (Id5aea) - Ahora
getPreviewReferenceTimeMillis
obtiene los tiempos de referencia deDeviceConfig
. (I779fe) - A los efectos de simplificar la plataforma de la API de Renderer, ahora se puede usar
SurfaceHolder.Callback
para observar cambios. (I210db) CanvasComplicationRenderer
no deriva deRenderer
. Se cambió el nombre para proporcionar mayor claridad. (Ibe880)
Correcciones de errores
- Primera versión de
androidx.wear:wear-watchface-client
(I1e35e) - Se cambió el nombre de
GlesTextureComplication#renderer
para proporcionar mayor claridad (Ib78f7) - Se cambió el nombre de
StyleCategory
aStyleSetting
para proporcionar mayor claridad (I488c7) - Se agregó
UserStyleSchema
para lograr una API más limpia (If36f8)
Versión 1.0.0-alpha01
28 de octubre de 2020
Lanzamiento de androidx.wear:wear-complications-*:1.0.0-alpha01
y androidx.wear:wear-watchface-*:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se quitaron algunos elementos que no se pretendían dar a conocer en la API pública. (I41669)
- Se creó la biblioteca
androidx.wear:wear-complications-provider
. (I77f1f) - ComplicationsUserStyleCategory ahora es la nueva categoría recomendada para configurar complicaciones. (I96909)
- Se agregó la API wear-complication-data. (I7c268)
- Las funciones con valores booleanos que se muestran deberán llevar el prefijo "is" en lugar de "get". (If36ff)
- Los consejos de API deberán evitar el uso de Protected, por lo que se refactorizó esta clase para que tome parámetros a través del constructor. (I61644)
- Se cambió el nombre de setBackgroundComplication para brindar mayor claridad. (I96fe3)
- Se usaron las propiedades de Kotlin para ComplicationDrawable isHighlighted y datos. (I4dcc8)
- En lugar de ComplicationRenderer.InvalidateCallback, se agregó Complication#invalidate(). (I4f4c6)
- Estas API dejarán de estar disponibles en WearableSupport y se quitarán de aquí. (Ib425c)
- Se cambiaron los nombres de algunos métodos del compilador WatchFace para enfatizar su naturaleza heredada de Wear 2.0. (Idb775)
- Se incluye el primer candidato de API en versión beta para wear/wear-watchface. (Id3981)
- Se incluye la primera versión rastreada de la API. (Ie9fe6)
- Se ocultó correctamente ComplicationDrawable.BorderStyle IntDef y se movió a ComplicationStyle para lograr coherencia. (I27f7a)
- Se agregaron las anotaciones faltantes de los métodos ComplicationStyle. (I838fd)
- Esta biblioteca no tiene una plataforma de API pública. (I88e2b)
- Todas las clases Style Category de Option ahora son definitivas. (Ib8323)
- Se incluye la primera versión rastreada de la API. (I27c85)
Correcciones de errores
- Se cambió ComplicationProviderService para tener un método getComplicationPreviewData explícito. (I4905f)
- Se habilitó la comprobación de lint de API para MissingGetterMatchingBuilder en androidx. (I4bbea, b/138602561)
- Se cambió el nombre de wear-complications-rendering. (Ifea02)
- Los nombres visibles de Style Category ahora son CharSequences. (I28990)
- Se reemplazó Override con Overlay para que coincida con las convenciones de nombres actuales de temas y estilos. (I4fde9)
- Se cambió el nombre de UserStyle#getOptions para brindar mayor claridad. (I695b6)
Versión 1.2.0
Versión 1.2.0
15 de septiembre de 2021
Lanzamiento de androidx.wear:wear:1.2.0
. La versión 1.2.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.1.0
Se agregó el componente CurvedText para escribir texto curvo con facilidad siguiendo la curvatura del círculo más grande que se pueda grabar en la vista. Un ejemplo de uso:
<androidx.wear.widget.CurvedText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="example curved text" app:anchorAngleDegrees="180" app:anchorPosition="center" app:clockwise="false" style="@android:style/TextAppearance.Large" />
Se agregó el contenedor de ArcLayout para distribuir sus elementos secundarios uno por uno en un arco en sentido horario o antihorario. Sus elementos secundarios pueden ser widgets estándar de Android o widgets "curvos" que implementen la interfaz
ArcLayout.Widget
. (I536da) Un ejemplo de uso:<androidx.wear.widget.ArcLayout android:layout_width="match_parent" android:layout_height="match_parent" app:anchorPosition="center"> <ImageView android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ic_launcher" /> <androidx.wear.widget.CurvedText android:layout_width="match_parent" android:layout_height="match_parent" android:text="Curved Text" style="@android:style/TextAppearance.Small" android:padding="2dp" /> </androidx.wear.widget.WearArcLayout>
Se agregó un contenedor de diseño DismissableFrameLayout, que administra la acción de botón Atrás/descarte y/o el deslizamiento para descartar que debe usarse dentro de una actividad. Se debe agregar al menos un objeto de escucha para actuar sobre una acción de descarte. Un objeto de escucha generalmente quitará una vista o un fragmento contenedores de la actividad actual. Para que el control sobre las funciones sea directo, se proporcionaron setSwipeDismissable(booleano) y setBackButtonDismissable(booleano). Este nuevo diseño tendrá como objetivo reemplazar el SwipeDismissFrameLayout existente.
Se agregó compatibilidad para indicar que una Activity se puede "reanudar automáticamente" cuando el dispositivo sale del modo ambiente en la clase AmbientModeSupport. Esta función estaba disponible anteriormente en la clase WearableActivity de WearableSupportLibrary que dejó de estar disponible. (I336ab)
Se migró la clase WearableCalendarContract de la biblioteca de compatibilidad con dispositivos wearable. Esta API proporciona un subconjunto de los datos disponibles a través de CalendarContract, pero se sincronizan automáticamente con los dispositivos wearables. (I6f2d7)
Se agregó una nueva API
WearTypeHelper
enandroidx.wear.utils
para determinar si un determinado dispositivo para Wear es para China. (Ib01a9)Se agregaron funciones de accesibilidad a
androidx.wear.widget.ConfirmationOverlay
, que leerán los mensajes si se configuran seguidos de la descripción de la animación. (I524dd)Se corrigió el error que causaba que ConfirmationActivity fallara si no se proporcionaba un mensaje. (Ie6055)
Se corrigió el error por el que desplazar horizontalmente las RecyclerViews provocaba que se revelara
WearableDrawerLayout
en todas las interacciones. (I24c7f)
Versión 1.2.0-rc01
1 de septiembre de 2021
Lanzamiento de androidx.wear:wear:1.2.0-rc01
sin modificaciones desde la última versión beta. La versión 1.2.0-rc01 contiene estas confirmaciones.
Versión 1.2.0-beta01
18 de agosto de 2021
Lanzamiento de androidx.wear:wear:1.2.0-beta01
. La versión 1.2.0-beta01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el error que causaba que ConfirmationActivity fallara si no se proporcionaba un mensaje. (Ie6055)
Versión 1.2.0-alpha13
4 de agosto de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha13
. La versión 1.2.0-alpha13 contiene estas confirmaciones.
Cambios en la API
- Se cambió el nombre de
WearTypeHelper.isChinaDevice
aWearTypeHelper.isChinaBuild
. (I47302)
Correcciones de errores
- Se agregaron funciones de accesibilidad a
androidx.wear.widget.ConfirmationOverlay
, que leerán los mensajes si se configuran seguidos de la descripción de la animación. (I524dd)
Versión 1.2.0-alpha12
21 de julio de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha12
. La versión 1.2.0-alpha12 contiene estas confirmaciones.
Cambios en la API
- Se agregó una API
WearTypeHelper
nueva enandroidx.wear.utils
para determinar si el dispositivo para Wear en cuestión está dirigido a China. (Ib01a9)
Versión 1.2.0-alpha11
30 de junio de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha11
. La versión 1.2.0-alpha11 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el error por el que desplazar horizontalmente las RecyclerViews provocaba que se revelara
WearableDrawerLayout
en todas las interacciones. (I24c7f)
Versión 1.2.0-alpha10
2 de junio de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha10
. La versión 1.2.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Alpha10 mejora la compatibilidad de accesibilidad en Curved Text y ArcLayout. También se agrega un cambio menor en el nombre de DismissibleFrameLayout para ayudar a aclarar la API.
Cambios en la API
- Cambiamos el nombre de los siguientes métodos en
DismissibleFrameLayout
(Ib195e):Callback#onDismissed
->Callback#onDismissedFinished
isSwipeDismissible
->isDismissableBySwipe
isBackButtonDismissible
->isDismissableByBackButton
- Los siguientes métodos serán definitivos (Ib195e):
setBackButtonDismissible
setSwipeDismissible
registerCallback
unregisterCallback
Correcciones de errores
- Usa el contenido de CurvedTextView en Talkback. (I05798)
- Mejor accesibilidad para vistas normales en ArcLayout. (I4418d)
Versión 1.2.0-alpha09
18 de mayo de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha09
. La versión 1.2.0-alpha09 contiene estas confirmaciones.
Cambios en la API
- Se agregó una nueva función
CurvedTextView.setTypeface()
(similar a la deTextView
), para establecer el tipo de texto y el estilo de negrita y cursiva. (I4653c) - Se cambió el nombre de
WearArcLayout
aArcLayout
, el deWearCurvedText
aCurvedText
y el deWearArcLayout.ArcLayoutWidget
aArcLayout.Widget
. (I6e5ce)- En
ArcLayout.Widget
, se cambió el nombre degetThicknessPx
agetThickness
. - Las constantes de alineación vertical en
ArcLayout.LayoutParams
ahora tienen un nombre que comienza conVERTICAL_ALIGN_
(en lugar deVALIGN_
).
- En
- En
CurvedTextView
, se reemplazaron los métodossetMinSweepDegrees
ysetMaxSweepDegrees
porsetSweepRangeDegrees
. (I7a9d9)
Versión 1.2.0-alpha08
5 de mayo de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha08
. La versión 1.2.0-alpha08 contiene estas confirmaciones.
Cambios en la API
- A fin de mejorar la claridad del código, agregamos anotaciones
@FloatRange
a algunos parámetros de ángulo y tipos de datos que se muestran. (I430dd) - En
WearArcLayout.ArcLayoutWidget
de la interfaz, elinsideClickArea
del método ahora se llama isPointInsideClickArea. (Ia7307)
Versión 1.2.0-alpha07
24 de marzo de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha07
. La versión 1.2.0-alpha07 contiene estas confirmaciones.
Correcciones de errores
- Se corrigieron errores con elementos secundarios sin curvas dentro de WearArcLayout causados por el uso del tamaño de pantalla con una altura mayor que el ancho. Ahora, estos elementos se encuentran correctamente dentro de un arco en todos los tipos de pantalla.
Versión 1.2.0-alpha06
27 de enero de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha06
. La versión 1.2.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- Se migró la biblioteca de actividades en curso a una subbiblioteca nueva: wear-ongoing. Las clases ahora están disponibles en el paquete androidx.wear.ongoing (anteriormente, androidx.wear.ongoingactivities). (I7c029)
- Se migró la clase WearableCalendarContract de la biblioteca de compatibilidad para wearables a AndroidX. Esta API proporciona un subconjunto de los datos disponibles a través de CalendarContract, pero se sincronizan automáticamente con los dispositivos wearables. (I6f2d7)
Correcciones de errores
- Se inhabilitó la función descartar del botón Atrás de forma predeterminada de DismissibleFrameLayout, ya que la acción deslizar para descartar sigue siendo en dispositivos wearables la principal manera de navegar hacia atrás en pantalla completa. (Ic24e3)
- Se corrigieron algunos problemas para controlar la visibilidad de los elementos secundarios de WearArcLayout. (Icf912)
Versión 1.2.0-alpha05
13 de enero de 2021
Lanzamiento de androidx.wear:wear:1.2.0-alpha05
. La versión 1.2.0-alpha05 contiene estas confirmaciones.
Correcciones de errores
- Se actualizó el javadoc de la clase AmbientModeSupport para brindar ejemplos de fragmentos a fin de demostrar mejor el uso general de esta clase.
Versión 1.2.0-alpha04
16 de diciembre de 2020
Lanzamiento de androidx.wear:wear:1.2.0-alpha04
. La versión 1.2.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Se agregó compatibilidad para indicar que una Activity se puede "reanudar automáticamente" cuando el dispositivo sale del modo ambiente en la clase AmbientModeSupport. Esta función estaba disponible anteriormente en la clase WearableActivity de WearableSupportLibrary que dejó de estar disponible. (I336ab)
- OngoingActivity
- Ahora se puede configurar la categoría cuando se crea una actividad en curso (p. ej.,
OngoingActivitiy.Builder.getCategory(String)
). - OngoingActivityData ahora tiene una marca de tiempo de cuándo se creó la OngoingActivity:
OngoingActivityData.getTimestamp()
. - (I91cb4)
- Ahora se puede configurar la categoría cuando se crea una actividad en curso (p. ej.,
- Se agregó compatibilidad para configurar márgenes en elementos secundarios de WearArcLayout cambiando los parámetros de diseño a fin de extender MarginLayoutParams; es decir, WearArcLayout.LayoutParams extiende android.view.ViewGroup.MarginLayoutParams. (I2cd88)
- Cambió el tipo de ancla de WearCurdTextView predeterminado a
WearArcLayout.ANCHOR_CENTER
(eraWearArcLayout.ANCHOR_START
). Esto simplifica el contrato entre el diseño de arco y el texto curvo del texto curvado, ya que, de forma predeterminada, el texto curvo se dibuja en el centro del eje X, en la parte superior, y el diseño de arco superior puede rotarlo para ubicarlo donde corresponda. (I105ff)
Versión 1.2.0-alpha03
2 de diciembre de 2020
Lanzamiento de androidx.wear:wear:1.2.0-alpha03
. La versión 1.2.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
Se agregó un contenedor de diseño DismissableFrameLayout, que administra la acción de botón Atrás/descarte y/o el deslizamiento para descartar que debe usarse dentro de una actividad. Se debe agregar al menos un objeto de escucha para actuar sobre una acción de descarte. Un objeto de escucha generalmente quitará una vista o un fragmento contenedores de la actividad actual. Para que el control sobre las funciones sea directo, se proporcionaron setSwipeDismissable(booleano) y setBackButtonDismissable(booleano). Este nuevo diseño tendrá como objetivo reemplazar el SwipeDismissFrameLayout existente.
Los widgets curvados ahora controlan eventos táctiles. Los widgets normales dentro de un WearArcLayout recibirán todos los eventos táctiles, mapeados en su espacio de coordenadas. WearCurvedTextView (dentro de un WearArcLayout o fuera de él) puede establecer controladores onClick y onLongClick.
Ahora las clases de actividades en curso son VersionedParcelables, en lugar de usar serialización/deserialización personalizadas. El ícono estático y el intent táctil ahora son obligatorios.
Cambios en la API
- El atributo "sweepDegrees" de WearCurvedTextView se dividió en minSweepDegrees y maxSweepDegrees para proporcionar un diseño más flexible de este widget.
Versión 1.2.0-alpha02
11 de noviembre de 2020
Lanzamiento de androidx.wear:wear:1.2.0-alpha02
. La versión 1.2.0-alpha02 contiene estas confirmaciones.
Esta versión agrega una nueva "API de actividades en curso" por primera vez. Los desarrolladores pueden usar esta API para indicar que una actividad de larga duración, como un entrenamiento físico o una sesión de reproducción de contenido multimedia, está en curso. Permite a los desarrolladores proporcionar actualizaciones de estado periódicas, como "distancia recorrida y tiempo transcurrido" o "pista que se está reproduciendo actualmente", para verlas en la cara del reloj o en el selector de aplicaciones. Esta funcionalidad está orientada a dispositivos futuros con la funcionalidad de actividad en curso habilitada.
Cambios en la API
- Se incluye una nueva API para actividades en curso; es un entorno no-op en "dispositivos no compatibles". (I69a31)
Versión 1.2.0-alpha01
28 de octubre de 2020
Lanzamiento de androidx.wear:wear:1.2.0-alpha01
. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó el componente WearCurvedTextView para escribir texto curvo con facilidad siguiendo la curvatura del círculo más grande que se pueda grabar en la vista. Un ejemplo de uso:
<androidx.wear.widget.WearCurvedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="example curved text"
app:anchorAngleDegrees="180"
app:anchorPosition="center"
app:clockwise="false"
style="@android:style/TextAppearance.Large"
/>
- Se agregó el contenedor WearArcLayout para distribuir los elementos secundarios uno por uno en un arco, ya sea en sentido horario o antihorario. Sus elementos secundarios pueden ser widgets estándar de Android o widgets "curvos" que implementan su interfaz de ArcLayoutWidget. Un ejemplo de uso:
<androidx.wear.widget.WearArcLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:anchorPosition="center">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_launcher"
/>
<androidx.wear.widget.WearCurvedTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Curved Text"
style="@android:style/TextAppearance.Small"
android:padding="2dp"
/>
</androidx.wear.widget.WearArcLayout>
(I536da)
Wear-Input 1.2
Versión 1.2.0-alpha02
29 de septiembre de 2021
Lanzamiento de androidx.wear:wear-input:1.2.0-alpha02
y androidx.wear:wear-input-testing:1.2.0-alpha02
. La versión 1.2.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se cambió el nombre de
disallowEmoji
porsetEmojisAllowed
enWearableRemoteInputExtender
para determinar si se mostrará la opción de dibujar emojis. (I28393)
Versión 1.2.0-alpha01
15 de septiembre de 2021
Lanzamiento de androidx.wear:wear-input:1.2.0-alpha01
y androidx.wear:wear-input-testing:1.2.0-alpha01
. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se expusieron todas las constantes de ubicación de botones de
WearableButtons
. (Ibb12c) - Se agregó la clase
WearableRemoteInputExtender
. que se puede usar para agregar elementos adicionales específicos de Wear a android.app.RemoteInput. (I01903)
Wear-Input 1.1.0
Versión 1.1.0
18 de agosto de 2021
Lanzamiento de androidx.wear:wear-input:1.1.0
y androidx.wear:wear-input-testing:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.0.0
- Se agregó
RemoteInputIntentHelper
.- Esta clase se puede usar para compilar un intent de RemoteInput. Esto se puede usar para solicitar la entrada de tus usuarios en una actividad personalizable.
Versión 1.1.0-rc01
4 de agosto de 2021
Lanzamiento de androidx.wear:wear-input:1.1.0-rc01
y androidx.wear:wear-input-testing:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Sin cambios en la API desde androidx.wear:wear-input:1.1.0-beta01
y androidx.wear:wear-input-testing:1.1.0-beta01
Versión 1.1.0-beta01
21 de julio de 2021
Lanzamiento de androidx.wear:wear-input:1.1.0-beta01
y androidx.wear:wear-input-testing:1.1.0-beta01
sin cambios desde 1.1.0-alpha03
. La versión 1.1.0-beta01 contiene estas confirmaciones.
Versión 1.1.0-alpha03
30 de junio de 2021
Lanzamiento de androidx.wear:wear-input:1.1.0-alpha03
y androidx.wear:wear-input-testing:1.1.0-alpha03
. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el error que causaba que se rechazaran los intents de RemoteInput (que recibían
RemoteInput
por medio deRemoteInputHelper.putRemoteInputsExtra
).
Versión 1.1.0-alpha02
18 de mayo de 2021
Lanzamiento de androidx.wear:wear-input:1.1.0-alpha02
y androidx.wear:wear-input-testing:1.1.0-alpha02
. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Los métodos de
RemoteInputIntentHelper
que se usan para obtener o colocar extras que representan las etiquetas de "título", "cancelar", "confirmar" y "en curso" ahora usanCharSequence
, en lugar deString
, para esas etiquetas. (I0e71f)
Versión 1.1.0-alpha01
27 de enero de 2021
Lanzamiento de androidx.wear:wear-input:1.1.0-alpha01
y androidx.wear:wear-input-testing:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se migró la clase RemoteInputIntent de la biblioteca de compatibilidad para wearables a AndroidX. También se cambió el nombre de la clase migrada a RemoteInputIntentHelper, la cual ofrece funciones auxiliares para admitir entradas remotas con el inicio de un intent. (I47cee)
Wear-Input 1.0.0
Versión 1.0.0
2 de diciembre de 2020
Lanzamiento de androidx.wear:wear-input:1.0.0
y androidx.wear:wear-input-testing:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Esta versión es idéntica a 1.0.0-rc01
.
Funciones principales de la versión 1.0.0
Se migró la funcionalidad de WearableButtons de una biblioteca de Wearable Support a Jetpack.
Se agregó
androidx.wear.input.test.TestWearableButtonsProvider
, que implementaandroidx.wear.input.WearableButtonsProvider
para ayudar a probar las aplicaciones desarrolladas con la biblioteca deandroidx.wear:wear-input
.
Versión 1.0.0-rc01
11 de noviembre de 2020
Lanzamiento de androidx.wear:wear-input:1.0.0-rc01
y androidx.wear:wear-input-testing:1.0.0-rc01
. La versión 1.0.0-rc01 contiene estas confirmaciones.
Esta versión es idéntica a la versión 1.0.0-beta01
.
Versión 1.0.0-beta01
28 de octubre de 2020
Lanzamiento de androidx.wear:wear-input:1.0.0-beta01
y androidx.wear:wear-input-testing:1.0.0-beta01
sin cambios desde 1.1.0-alpha01
. La versión 1.0.0-beta01 contiene estas confirmaciones.
Wear-Input-Testing versión 1.0.0-alpha01
14 de octubre de 2020
Lanzamiento de androidx.wear:wear-input-testing:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregó
androidx.wear.input.test.TestWearableButtonsProvider
, que implementaandroidx.wear.input.WearableButtonsProvider
para ayudar a probar las aplicaciones desarrolladas con la biblioteca deandroidx.wear:wear-input
. (I0ed0c)
Wear-Input versión 1.0.0-alpha01
2 de septiembre de 2020
Lanzamiento de androidx.wear:wear-input:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
Se migró la funcionalidad de WearableButtons de una biblioteca de Wearable Support a Jetpack. Se ampliará la compatibilidad con pruebas en la biblioteca de androidx.wear:wear-input-testing
en la próxima versión de Jetpack.
Versión 1.1.0
Versión 1.1.0
14 de octubre de 2020
Lanzamiento de androidx.wear:wear:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.0.0
- Se agregó un prefijo
layout_
al atributo boxedEdges (ahoralayout_BoxedEdges
) paraBoxInsetLayout
a fin de cumplir con la convención de nombres de Android. Esto quitará el error de linter en estos atributos de Android Studio. (I4272f) - Se agregó el objeto
EXTRA_ANIMATION_DURATION_MILLIS
opcional aConfirmationActivity
para permitir la duración en la que se muestra el cuadro de diálogo de confirmación. (adb83ce, b/143356547) - Se actualizó
WearableActionDrawView
para retrasar el aumento del panel lateral de acciones hasta que se abra por primera vez. (I01026, b/163870541)
Versión 1.1.0-rc03
2 de septiembre de 2020
Lanzamiento de androidx.wear:wear:1.1.0-rc03
. La versión 1.1.0-rc03 contiene estas confirmaciones.
Correcciones de errores
- Se solucionó el problema por el cual el panel lateral de acciones no mostraba contenido cuando se abría. (I01026, b/163870541)
Versión 1.1.0-rc02
24 de junio de 2020
Lanzamiento de androidx.wear:wear:1.1.0-rc02
. La versión 1.1.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Se agregó un prefijo
layout_
al atributo boxedEdges (ahoralayout_boxedEdges
) paraBoxInsetLayout
a fin de cumplir con la convención de nombres de Android. Esto quitará el error de linter en estos atributos de Android Studio.
Versión 1.1.0-rc01
14 de mayo de 2020
Lanzamiento de androidx.wear:wear:1.1.0-rc01
sin cambios desde .1.0-beta01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Versión 1.1.0-beta01
29 de abril de 2020
Lanzamiento de androidx.wear:wear:1.1.0-beta01
sin cambios desde androidx.wear:wear:1.1.0-alpha01
. La versión 1.3.0-beta01 contiene estas confirmaciones.
Versión 1.1.0-alpha01
15 de abril de 2020
Lanzamiento de androidx.wear:wear:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregó el objeto
EXTRA_ANIMATION_DURATION_MILLIS
opcional aConfirmationActivity
para permitir la duración en la que se muestra el cuadro de diálogo de confirmación. (adb83ce, 134523c, b/143356547)
Correcciones de errores
- Se actualizó
WearableActionDrawView
para retrasar el aumento del panel lateral de acciones hasta que se abra por primera vez. (5cd32f7)