Wear Watchface

Crea aplicaciones para relojes inteligentes de Wear OS by Google.
Actualización más reciente Versión estable actual Próxima versión potencial Versión beta Versión alfa
3 de noviembre de 2021 - 1.0.0-rc01 - -

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:

Groovy

dependencies {
    // Use to implement wear watchfaces
    implementation "androidx.wear.watchface:watchface:1.0.0-rc01"

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.0.0-rc01"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.0.0-rc01"

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

Kotlin

dependencies {
    // Use to implement wear watchfaces
    implementation("androidx.wear.watchface:watchface:1.0.0-rc01")

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.0.0-rc01"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.0.0-rc01"

    // Use to implement a watchface style and complication editor
    implementation("androidx.wear.watchface:watchface-editor:1.0.0-rc01")
}

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.

Versión 1.0

Versión 1.0.0-rc01

3 de noviembre de 2021

Se lanzó androidx.wear.watchface:watchface-*:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió dump() (llamado adb shell dumpsys), que se rompió por las migraciones de flujo (087cf9e).

  • Garantiza el orden adecuado de writeDirectBootPrefs. Queremos que writeDirectBootPrefs se ejecute siempre después de initStyleAndComplications o corremos el riesgo de retrasar el init del subproceso de IU (37650ac).

  • Asegúrate de que se llame a Renderer.onDestroy. En el escenario en que se creó el procesador, pero no se completó el init de WF y se llama a Engine.onDestroy, debemos llamar a Renderer.onDestroy (f9952dc).

  • Optimización o corrección de isBatteryLowAndNotCharging. Este parche mueve la configuración inicial de isBatteryLowAndNotCharging antes, lo que significa que se puede realizar en paralelo con createWatchFace. Además, ahora escuchamos ACTION_POWER_DISCONNECTED (ddffd80

  • InteractiveWatchFaceClientImpl.isConnectionAlive será falso después de cerrar (ab9774e).

Versión 1.0.0-beta01

27 de octubre de 2021

Se lanzó androidx.wear.watchface:watchface-*:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Versión 1.0.0-alpha24

13 de octubre de 2021

Lanzamiento de androidx.wear.watchface:watchface-*:1.0.0-alpha24. La versión 1.0.0-alpha24 contiene estas confirmaciones.

Cambios en la API

  • Las clases en el paquete androidx.wear.watchface.complications se movieron a un proyecto wear:watchface:watchface-complications nuevo. Ten en cuenta que esto implica que no puedes incluir esta biblioteca, así como tampoco ninguna versión alfa anterior de wear:watchface:watchface-complications-data, ya que se producirán errores relacionados con las clases duplicadas. (I97195)
  • Renderer.dump cambió de nombre a Renderer.onDump y se anotó con @UiThread. (I44845)
  • Se cambió el nombre de InteractiveWatchFaceClient.addWatchFaceReadyListener por addOnWatchFaceReadyListener y el de removeWatchFaceReadyListener por removeOnWatchFaceReadyListener. (I48fea)
  • EditorSession getComplicationsPreviewData y getComplicationsDataSourceInfo ya no son funciones de suspensión, sino que son propiedades StateFlow<> cuyo valor, en un principio, es nulo. En ListenableEditorSession, se quitaron getListenableComplicationPreviewData y getListenableComplicationsProviderInfo, y se reemplazaron por los objetos StateFlow<> nuevos desde la clase base. Si necesitas detectar los cambios en el código Java, considera usar androidx.lifecycle.FlowLiveDataConversions.asLiveData para convertir a LiveData<>. (Ic5483)

Versión 1.0.0-alpha23

29 de septiembre de 2021

Lanzamiento de androidx.wear.watchface:watchface-*:1.0.0-alpha23. La versión 1.0.0-alpha23 contiene estas confirmaciones.

Nuevas funciones

La biblioteca de caras de reloj ahora es un solo grupo de bibliotecas. Como resultado, las bibliotecas se trasladaron, y deberás actualizar tus importaciones de Gradle de la siguiente manera:

Antiguas Nuevas
androidx.wear:wear-complications-data androidx.wear.watchface:watchface-complications-data
androidx.wear:wear-complications-data-source androidx.wear.watchface:watchface-complications-data-source
androidx.wear:wear-watchface androidx.wear.watchface:watchface
androidx.wear:wear-watchface-complications-rendering androidx.wear.watchface:watchface-complications-rendering
androidx.wear:wear-watchface-client androidx.wear.watchface:watchface-client
androidx.wear:wear-watchface-client-guava androidx.wear.watchface:watchface-client-guava
androidx.wear:wear-watchface-data androidx.wear.watchface:watchface-data
androidx.wear:wear-watchface-editor androidx.wear.watchface:watchface-editor
androidx.wear:wear-watchface-editor-guava androidx.wear.watchface:watchface-editor-guava
androidx.wear:wear-watchface-guava androidx.wear.watchface:watchface-guava
androidx.wear:wear-watchface-style androidx.wear.watchface:watchface-style

Cambios en la API

  • Se migraron las bibliotecas de caras de reloj y complicaciones androidx.wear por separado al grupo de bibliotecas androidx.wear.watchface. (b25f3c0)
  • Se agregó EditorRequest.canWatchFaceSupportHeadlessEditing para de informar al cliente si un editor de cara de reloj admite la edición sin interfaz gráfica. Ten en cuenta que habrá algunos falsos negativos debido a que se agregó compatibilidad en asop/1756809. Sin embargo, se mostrará el valor correcto para todas las caras de reloj futuras. (ca55590)
  • El procesador ahora tiene un método dump() que se puede anular para agregar datos personalizados a la información generada por el servicio de actividad de volcado de shell de ABD WatchFaceService. (95235f9)
  • InteractiveWatchFaceClient.addWatchFaceReadyListener ahora especifica el ejecutor primero. (563ac2f)
  • Se quitó StateFlowCompatHelper. En su lugar, debes usar asLiveData (androidx.lifecycle.asLiveData). (bd35d3)
  • El objeto CurrentUserStyleRepository.userStyle ya no es mutable. (I44889)
  • Se cambió el nombre de WatchFaceReadyListener por OnWatchFaceReadyListener. (Ic12a9)

Correcciones de errores

  • InteractiveInstanceManager.deleteInstance para llamar a onDestroy. Esto es necesario para asegurarse de que InteractiveWatchFaceImpl obtenga la recolección de elementos no utilizados. (fce4af8, b/199485839)