Wear

Crea aplicaciones para relojes inteligentes de Wear OS by Google.

En esta tabla, se enumeran todos los artefactos del grupo androidx.wear.

Artefacto Versión estable actual Próxima versión potencial Versión beta Versión Alfa
wear 1.1.0 - - 1.2.0-alpha07
wear-input 1.0.0 - - 1.1.0-alpha01
wear-complications-data - - - 1.0.0-alpha12
wear-complications-provider - - - 1.0.0-alpha12
wear-watchface - - - 1.0.0-alpha12
wear-watchface-client - - - 1.0.0-alpha12
wear-watchface-complications-rendering - - - 1.0.0-alpha12
wear-watchface-data - - - 1.0.0-alpha12
wear-watchface-editor - - - 1.0.0-alpha12
wear-watchface-style - - - 1.0.0-alpha12
wear-ongoing - - - 1.0.0-alpha03
wear-phone-interactions - - - 1.0.0-alpha04
wear-remote-interactions - - - 1.0.0-alpha03
Esta biblioteca se actualizó por última vez el 21 de abril de 2021

Cómo declarar dependencias

Para agregar una dependencia en Wear, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio 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:

dependencies {
    implementation "androidx.wear:wear:1.1.0"

    // Add support for wearable specific inputs
    implementation "androidx.wear:wear-input:1.0.0"
    implementation "androidx.wear:wear-input-testing:1.0.0"

    // Use to implement wear watchface complications
    implementation "androidx.wear:wear-complications-provider:1.0.0-alpha12"

    // Use to implement wear watchfaces
    implementation "androidx.wear:wear-watchface:1.0.0-alpha12"

    // Use to implement a watchface style and complication editor
    implementation "androidx.wear:wear-watchface-editor:1.0.0-alpha12"

    // Use to implement wear ongoing activities
    implementation "androidx.wear:wear-ongoing:1.0.0-alpha03"

    // Use to implement support for interactions from the Wearables to Phones
    implementation "androidx.wear:wear-phone-interactions:1.0.0-alpha04"
    // Use to implement support for interactions between the Wearables and Phones
    implementation "androidx.wear:wear-remote-interactions:1.0.0-alpha03"
}

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 en esta biblioteca antes de crear uno nuevo. Para agregar tu voto a un error existente, haz clic en el botón de la estrella.

Cómo crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Wear Ongoing e Interactions versión 1.0.0

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 de wearable.

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 con dispositivos 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 de dispositivos 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 de dispositivos 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 incluyeron las clases migradas de la biblioteca de compatibilidad de wearables. (Id5180)

  • Se migró la clase PhoneDeviceType de la biblioteca de compatibilidad de 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 incluyeron clases migradas de la biblioteca de compatibilidad de wearables. (I9deb4)

  • Se migró la clase WatchFaceCompanion de la biblioteca de compatibilidad de 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

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 de PhotoImageComplicationData.Builder, de MonochromaticImageComplicationData.Builder y de SmallImageComplicationData.Builder en obligatorio para que se pase en el constructor. (I9643a)
  • El nombre de ProviderInfoRetriever.requestPreviewComplicationData cambió por retrievePreviewComplicationData. (I911ee)
  • Se migró ComplicationProviderService de Java a Kotlin. (I849f2)
  • Ahora, el método ComplicationProviderService.onBind es definitivo. (I39af5)
  • Restablecimos la interfaz CanvasComplication y trasladamos CanvasComplicaitonDrawable, GlesTextureComplication y ComplicationHighlightRenderer a wear-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 y Complication.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 y LongRangeUserStyleSetting: ahora, defaultValue, maximumValue y minimumValue son propiedades de Kotlin. Además, se quitaron las funciones UserStyleSetting.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ámetros outlineExpansion y outlineStrokeWidth. (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 y InteractiveWatchFaceSysUiClient en InteractiveWatchFaceClient.

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 mediante DefaultComplicationProviderPolicy. (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 clase UserStyleData a la API pública y, ahora, se usa en wear-watchface-client y wear-watchface-editor. Además, CustomValueUserStyleSetting.CustomValueOption.value ahora es byte[] en lugar de String. (Iaa103)
  • UserStyleSetting y UserStyleSetting.Option ahora usan UserStyleSetting.Id y UserStyleSetting.Option.Id respectivamente para almacenar sus ID en lugar de una string. (I63f72)
  • El nombre de InteractiveWatchFaceClient.SystemState cambió por WatchUiState. (I6a4e0)
  • Se combinaron InteractiveWatchFaceWcsClient y InteractiveWatchFaceSysUiClient 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 es Layer#COMPLICATIONS_OVERLAY y Layer#BASE_LAYER ahora es Layer#BASE. (Ia144e)
  • Se modificó el nombre de UserStyleListener por UserStyleChangeListener. (I18524)
  • Se modificó el nombre de UserStyleRepository por CurrentUserStyleRepository. (I6ea53)
  • El nombre de InteractiveWatchFaceWcsClient.updateInstance cambió por updateWatchfaceInstance. (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 a CanvasComplication.loadData. (If1239)
  • El nombre de ComplicationsManager.bringAttentionToComplication cambió por displayPressedAnimation. (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() y HeadlessWatchFaceClient.createFromBundle para admitir el envío de HeadlessWatchFaceClient 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ó por getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • Se cambió el nombre de EditorState.commitChanges y hasCommitChanges() por shouldCommitChanges(). (I06e04)
  • Se cambió el nombre de previewComplicationData por previewComplicationsData para indicar que, por lo general, hay más de una complicación en el mapa. (I56c06)
  • Se cambió el nombre de InteractiveWatchFaceWcsClient.bringAttentionToComplication por displayPressedAnimation para mantener la coherencia con ComplicationsManager.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 por complicationsState 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 a InteractiveWatchFaceSysUiClient y WatchFaceControlClient. (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ó por openComplicationProviderChooser. (I9d441)
  • Se cambió el nombre de EditorSession.createOnWatchEditingSessionAsync por createOnWatchEditingSession y, ahora, es una función de suspensión. (Id257b)
  • Se agregaron varias anotaciones @UiThread faltantes en EditorSession. (I6935c)
  • El nombre de UserStyleSetting.affectsLayers cambió por affectedLayers. (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 por CountUpTimeReference y CountDownTimeReference, 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 es Bundle.EMPTY. (Iad04f)
  • Ahora, GlesRenderer requiere que llames a initOpenGLContext 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 mediante ComplicationsUserStyleSetting. (Ibd9e5)
  • El nombre de ComplicationsManager.TapCallback.onComplicationSingleTapped cambió por onComplicationTapped. (I3a55c)
  • El nombre de ComplicationOutlineRenderer.drawComplicationSelectOutline cambió por drawComplicationOutline. (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 eficaz updateInstance: 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 a CATEGORY_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 muestra ListenableFuture<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 a PHOTO_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 de Complication.createRoundRectComplicationBuilder o Complication.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 una Map<String, String> en lugar de UserStyle, ya que es difícil crear un UserStyle sin conocer el esquema que solo puedes obtener después de crear el cliente. (Iea02a)
  • Se corrigió InteractiveWatchFaceWcsClient para usar ComplicationState 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 llama ComplicationState y está correctamente encapsulado, y se migró el uso de compatibilidad con wearables @ComplicationData.ComplicationType a ComplicationType 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 de DeviceConfig. (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 de Renderer. 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 a StyleSetting 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-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 de 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)
  • 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 (era WearArcLayout.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"
/>

Un ejemplo de texto curvo en Android Wear

  • 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>

Ejemplo de texto arqueado en Android Wear

(I536da)

Wear-Input 1.1.0

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 de 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 compatibilidad con dispositivos wearables a Jetpack.

  • Se agregó androidx.wear.input.test.TestWearableButtonsProvider, que implementa androidx.wear.input.WearableButtonsProvider para ayudar a probar las aplicaciones desarrolladas con la biblioteca de androidx.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 implementa androidx.wear.input.WearableButtonsProvider para ayudar a probar las aplicaciones desarrolladas con la biblioteca de androidx.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 compatibilidad con dispositivos wearables 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 (ahora layout_BoxedEdges) para BoxInsetLayout 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 a ConfirmationActivity 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 (ahora layout_boxedEdges) para BoxInsetLayout 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 a ConfirmationActivity 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)