Wear

Créez des applications pour les montres connectées Wear OS by Google.

Ce tableau répertorie tous les artefacts du groupe androidx.wear.

Artefact Version stable Version finale Version bêta Version alpha
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 - - -
Dernière mise à jour de la bibliothèque: 11 décembre 2024

Déclarer des dépendances

Pour ajouter une dépendance sur Wear, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

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")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Wear Core version 1.0

Version 1.0.0-alpha01

29 mai 2024

Publication d'androidx.wear:wear-core:1.0.0-alpha01. La version 1.0.0-alpha01 contient ces commits.

Modifications apportées à l'API

  • Ajout d'une nouvelle classe WearApiVersionhelper pour faciliter la vérification de la compatibilité des API d'exécution sur Wear. Les clients peuvent utiliser cette classe d'assistance statique et la méthode fournie (#isApiVersionAtLeast(VERSION)) pour vérifier la compatibilité.

Aperçu des outils Wear version 1.0

Version 1.0.0

29 novembre 2023

Publication d'androidx.wear:wear-tooling-preview:1.0.0. Liste des commits de la version 1.0.0

Fonctionnalités de la version 1.0.0

  • Ajoutez WearDevices pour lister les appareils Wear valides pouvant être utilisés pour les aperçus de l'UI.

Version 1.0.0-rc01

15 novembre 2023

Publication d'androidx.wear:wear-tooling-preview:1.0.0-rc01 sans aucune modification. Liste des commits de la version 1.0.0-rc01

Version 1.0.0-beta01

18 octobre 2023

Publication d'androidx.wear:wear-tooling-preview:1.0.0-beta01 sans aucune modification. Liste des commits de la version 1.0.0-beta01

Version 1.0.0-alpha01

23 août 2023

Publication d'androidx.wear:wear-tooling-preview:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Modifications apportées à l'API

  • Ajout de WearDevices pour lister les appareils Wear valides pouvant être utilisés pour les aperçus de l'interface utilisateur (Ib036e)

Wear version 1.4

Version 1.4.0-alpha01

15 novembre 2023

Publication d'androidx.wear:wear:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01.

Correction de bugs

  • Centrer verticalement l'icône ConfirmationOverlay lorsqu'il n'y a pas de message (I496d8)

Wear Version 1.3

Version 1.3.0

9 août 2023

Publication d'androidx.wear:wear:1.3.0 sans aucune modification par rapport à la version 1.3.0-rc01. Liste des commits de la version 1.3.0

Changements importants depuis la version 1.2.0

  • Migrez AmbientModeSupport pour utiliser LifecycleObserver. Abandon de AmbientModeSupport au profit des nouvelles classes tenant compte du cycle de vie.
  • Mise à jour de ConfirmationOverlay avec de nouvelles icônes/mises en page, polices et métriques de police
  • Modification de SwipeDismissTransitionHelper pour utiliser un drawable d'arrière-plan au lieu d'un deuxième View afin de corriger les erreurs lors de l'utilisation de FragmentContainerView
  • Animation SwipeDismissFrameLayout mise à jour pour être cohérente avec la plate-forme Wear et les implémentations Wear Compose.
  • Correction d'un bug SwipeDismissFrameLayout pour éviter de fermer accidentellement des fragments avec un balayage vertical
  • ArcLayout prend désormais en charge les pondérations d'expansion qui fonctionnent de la même manière que les pondérations standards de mise en page.
  • Prise en charge de layoutDirection sur ArcLayout

Version 1.3.0-rc01

21 juin 2023

Publication d'androidx.wear:wear:1.3.0-rc01 sans aucune modification par rapport à la version 1.3.0-beta01. Liste des commits de la version 1.3.0-rc01

Version 1.3.0-beta01

7 juin 2023

Publication d'androidx.wear:wear:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01

Modifications apportées à l'API

  • Modification de AmbientLifecycleObserver après réception de commentaires. AmbientLifecycleObserverInterface a été renommé AmbientLifecycleObserver, et une instance peut être obtenue en appelant AmbientLifecycleObserver(...). isAmbient est désormais un champ au lieu d'une méthode. (I84b4f)

Correction de bugs

  • Ajout de vérifications de valeurs nulles pour gérer les cas où la vue parent est nulle lors du réinitialisation de l'alpha et de la traduction dans SwipeToDismiss. (Ib0ec7)

Version 1.3.0-alpha05

19 avril 2023

Publication d'androidx.wear:wear:1.3.0-alpha05. Liste des commits de la version 1.3.0-alpha05.

Modifications apportées à l'API

  • Migrez AmbientModeSupport pour utiliser LifecycleObserver. Abandon de AmbientModeSupport au profit des nouvelles classes tenant compte du cycle de vie. (I1593b)

Correction de bugs

  • Mise à jour de l'approche de la scrim d'arrière-plan SwipeDismissTransitionHelper pour utiliser des drawables au lieu d'ajouter une vue afin de corriger les erreurs lors de l'utilisation de FragmentContainerView. (I851cd)

Version 1.3.0-alpha04

25 janvier 2023

Publication d'androidx.wear:wear:1.3.0-alpha04. Liste des commits de la version 1.3.0-alpha04

Correction de bugs

  • Nous avons mis à jour l'animation dans SwipeDismissFrameLayout par souci de cohérence avec la plate-forme Wear et les implémentations Wear Compose. (I7261b)

Version 1.3.0-alpha03

24 Août 2022

Publication d'androidx.wear:wear:1.3.0-alpha03. Liste des commits de la version 1.3.0-alpha03

Nouvelles fonctionnalités

  • ArcLayout prend désormais en charge les pondérations d'expansion qui fonctionnent de la même manière que les pondérations standards de mise en page. Cela signifie que vous pouvez spécifier la taille relative des éléments enfants sans avoir à calculer leurs angles directement. Nous avons ajouté un MaxAngleDegrees optimisé, qui est respecté lors de l'expansion des éléments enfants avec des pondérations. Par exemple, vous pouvez fixer l'arc avec plusieurs éléments enfants dont le poids est égal à 90 degrés, afin de respecter l'espace occupé par les éléments non développés.

Modifications apportées à l'API

  • Nous avons ajouté une pondération à ArcLayout.LayoutParams, qui permet à un widget de se développer pour occuper l'espace disponible. S'il y a plusieurs widgets, leur part de l'espace occupé est proportionnelle à leur pondération. De plus, nous avons ajouté ArcLayout.setMaxAngleDegrees afin que vous puissiez, par exemple, limiter l'expansion à 90 degrés (notez que cela n'affecte pas la mise en page des widgets enfants de taille fixe). Enfin, ArcLayout.Widget dispose désormais de setSweepAngleDegrees, ce qui permet d'utiliser ArcLayout pour un widget avec une pondération de taille non nulle. (I75f24)
  • Mise à jour de la possibilité de valeur nulle de setColorFilter(I99ddf, b/236498063)

Version 1.3.0-alpha02

23 février 2022

Publication d'androidx.wear:wear:1.3.0-alpha02. Liste des commits de la version 1.3.0-alpha02

Nouvelles fonctionnalités

  • Prise en charge de layoutDirection sur ArcLayout (I14d49)
  • Amélioration du message de description du contenu de ConfirmationOverlay (I0fdf8)
  • Mise à jour de ConfirmationOverlay avec de nouvelles icônes/mises en page. (If5b54)

Corrections de bugs

  • Ajout de règles ProGuard pour garantir la conservation du code associé à l'environnement (Idaa10)
  • Évite de fermer accidentellement des fragments dans une SwipeDismissFrameLayout avec un balayage vertical (Idb6d8)
  • Résolution du problème d'absence de message pour ConfirmationOverlay (I63e6f)

Contribution externe

  • Dae Gyu LEE (Samsung) : éviter le rejet accidentel par balayage vertical de fragments dans une SwipeDismissFrameLayout (Idb6d8)

Version 1.3.0-alpha01

29 septembre 2021

Publication d'androidx.wear:wear:1.3.0-alpha01. Liste des commits de la version 1.3.0-alpha01

Corrections de bugs

  • ConfirmationOverlay pousse désormais l'icône vers le haut pour s'adapter aux messages plus longs et éviter qu'ils ne s'affichent sur le contour de l'appareil (ou hors écran). (I54bff)

Wear Ongoing & Interactions version 1.1.0

Version 1.1.0-alpha05

11 décembre 2024

Publication d'androidx.wear:wear-phone-interactions:1.1.0-alpha05. La version 1.1.0-alpha05 contient ces commits.

Correction de bugs

  • Correction d'un bug de plantage lors de l'exécution sur Wear OS 5.1 (version d'API 34) et du ciblage de versions ultérieures du SDK. Les applications doivent passer à cette version de la bibliothèque avant de mettre à jour leur targetSdkVersion vers la version 35 ou ultérieure.

Version 1.1.0

11 décembre 2024

Publication d'androidx.wear:wear-remote-interactions:1.1.0. La version 1.1.0 contient ces commits.

Modifications importantes depuis la version 1.0.0

  • Nous avons ajouté RemoteActivityHelper.isRemoteActivityHelperAvailable, qui permet de vérifier si la fonctionnalité de lancement d'une activité à distance est disponible. (I107a9)

Version 1.1.0-rc01

16 octobre 2024

Publication d'androidx.wear:wear-remote-interactions:1.1.0-rc01 sans aucune modification par rapport à la version 1.1.0-beta01. La version 1.1.0-rc01 contient ces commits.

Version 1.1.0-beta01

24 juillet 2024

Publication d'androidx.wear:wear-remote-interactions:1.1.0-beta01. La version 1.1.0-beta01 contient ces commits. La version 1.3.0-beta01 des interactions à distance Wear indique que cette version de la bibliothèque est complète et que l'API est verrouillée (sauf si elle est marquée comme expérimentale).

Version 1.1.0-alpha04

10 janvier 2024

Publication d'androidx.wear:wear-phone-interactions:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04

Modifications apportées à l'API

  • Nous avons ajouté RemoteAuthClient.isRemoteAuthAvailable, qui vérifie si l'authentification à distance est disponible. (Ibc10c)

Version 1.1.0-alpha02

10 janvier 2024

Publication d'androidx.wear:wear-remote-interactions:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Modifications apportées à l'API

  • Nous avons ajouté RemoteActivityHelper.isRemoteActivityHelperAvailable, qui permet de vérifier si la fonctionnalité de lancement d'une activité à distance est disponible. (I107a9)
  • Nous avons mis à jour le constructeur de RemoteActivityHelper pour que le paramètre facultatif soit compatible avec Java. (I75554)

Version 1.1.0-alpha01

21 juin 2023

Publication d'androidx.wear:wear-remote-interactions:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Correction de bugs

  • Amélioration de la gestion de la finalisation et des erreurs dans RemoteActivityHelper. (I60d60)

Contribution externe

  • Supprimez la dépendance Guava de wear-remote-interactions et utilisez des alternatives plus petites.

Wear-Phone-Interactions version 1.1.0-alpha03

9 mars 2022

Publication d'androidx.wear:wear-phone-interactions:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Corrections de bugs

  • redirectUrl des requêtes OAuthRequest renvoie désormais une chaîne vide si l'URL de redirection n'est pas définie dans l'URL de la requête donnée. (I44242)

Wear-Phone-Interactions version 1.1.0-alpha02

15 décembre 2021

Publication d'androidx.wear:wear-phone-interactions:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Corrections de bugs

  • Correction d'erreurs dans la documentation RemoteAuthClient, y compris les erreurs dans l'extrait de code et le lien désactivé vers ErrorCode (I260e8)

Wear-Phone-Interactions version 1.1.0-alpha01

15 septembre 2021

Publication d'androidx.wear:wear-phone-interactions:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Modifications apportées à l'API

  • La propriété redirectUrl a été ajoutée à OAuthRequest. (I98840, Ie684d)

Wear Ongoing & Interactions version 1.0.0

Wear-Phone-Interactions version 1.0.1

15 décembre 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.1. Liste des commits de la version 1.0.1

Corrections de bugs

  • L'exception survenant lors des tentatives de désactivation des notifications de pont sans excludedTags à partir de BridgingManager a été levée.

Wear-Phone-Interactions Wear-Remote-Interactions version 1.0.0

15 septembre 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.0 et d'androidx.wear:wear-remote-interactions:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

La bibliothèque Phone Interaction contient des API permettant les interactions entre les accessoires connectés et les téléphones. Elle contient les éléments suivants :

  • PhoneDeviceType, qui fournit des méthodes d'assistance permettant de déterminer le type de téléphone auquel la montre actuelle est associée (uniquement pour les accessoires connectés).
  • Les API BridgingManager, BridgingManagerService et BridgingConfig, qui permettent d'activer ou de désactiver les notifications au moment de l'exécution. Vous pouvez également définir des balises pour les notifications qui ne sont pas soumises au mode Pont.
  • RemoteAuthClient, qui permet d'authentifier à distance les accessoires connectés et d'ajouter l'extension OAuth PKCE. Des gestionnaires et des classes d'assistance supplémentaires pour la communication sont fournis.

La bibliothèque Remote Interaction contient des API permettant les interactions entre les accessoires connectés et les téléphones. Elle contient les éléments suivants :

  • WatchFaceConfigIntentHelper, qui fournit des fonctions d'assistance permettant de spécifier l'ID et le nom du composant dans les activités de configuration du cadran de l'appareil associé sur le téléphone.
  • La classe RemoteActivityHelper qui peut être utilisée pour ouvrir des intents sur d'autres appareils (c'est-à-dire passer de la montre au téléphone).

Wear-Phone-Interactions Wear-Remote-Interactions version 1.0.0-rc01

1er septembre 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.0-rc01 et d'androidx.wear:wear-remote-interactions:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01

Corrections de bugs

  • Correction d'un bug qui empêchait la transmission des erreurs signalées dans les services Google Play à l'appelant lors de l'utilisation de RemoteActivityHelper (I60d60)
  • Correction d'un bug qui empêchait RemoteActivityHelper de traiter son interface Future si aucun nœud n'était connecté ou si l'ID de nœud demandé était introuvable (I60d60)

Wear-Ongoing version 1.1

Version 1.1.0-alpha01

23 août 2023

Publication d'androidx.wear:wear-ongoing:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Modifications apportées à l'API

  • Ajout d'un champ de description du contenu à "Activité en cours". Il sera utilisé par les services d'accessibilité pour décrire l'activité en cours. (I79fc6)

Correction de bugs

  • Ajout de @RequiresPermission aux API nécessitant l'autorisation POST_NOTIFICATIONS sur le SDK 33 et les versions ultérieures (Ie542e, b/238790278).

Wear-Ongoing version 1.0.0

1er septembre 2021

Publication d'androidx.wear:wear-ongoing:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

  • L'API Ongoing Activities pour Wear est une API pour les développeurs, y compris les développeurs tiers, qui permet de marquer leur activité en tant qu'activité en cours et de fournir les informations nécessaires.
  • Les activités en cours font référence aux activités qui peuvent s'exécuter en arrière-plan de la montre (par exemple, les entraînements, les appels et les contenus multimédias). Sur Wear 3, une activité marquée comme en cours sera mise en évidence par une icône de superposition sur le cadran et un affichage différent dans le lanceur d'applications.
  • Pour en savoir plus, consultez le Guide Ongoing Activity pour Wear.

Wear-Phone-Interactions Wear-Remote-Interactions version 1.0.0-beta01

18 août 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.0-beta01 et d'androidx.wear:wear-remote-interactions:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Modifications apportées à l'API

  • Classe RemoteIntentHelper renommée RemoteActivityHelper. Les fonctions RemoteIntentHelper#getRemoteIntentExtraIntent et RemoteIntentHelper#getRemoteIntentNodeId ont été renommées respectivement RemoteActivityHelper#getTargetIntent et RemoteActivityHelper#getTargetNodeId. (Id2042)

Wear-Ongoing version 1.0.0-rc01

18 août 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-rc01 sans aucune modification par rapport à la version 1.0.0-beta01. Liste des commits de la version 1.0.0-rc01

Wear-Ongoing version 1.0.0-beta01

4 août 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Modifications apportées à l'API

  • Certains setters sur OngoingActivity.Builder acceptent désormais un argument nul afin d'assurer la symétrie et la cohérence entre setters et getters (I17ee5).

Wear-Phone-Interactions version 1.0.0-alpha07

4 août 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07

Modifications apportées à l'API

  • WearTypeHelper.isChinaDevice a renommé WearTypeHelper.isChinaBuild. (I47302)
  • Nous avons mis à jour la bibliothèque RemoteAuthClient pour choisir automatiquement une redirect_uri en fonction du type d'appareil (Reste du monde/Chine). (I38866)
  • Correction d'un bug qui provoquait l'échec de la conversion de BridgingConfig vers/à partir du bundle avec ClassCastException. Ajout de tests unitaires pour la classe BridgingManagerService. (I68ecb)

Wear-Remote-Interactions version 1.0.0-alpha06

4 août 2021

Publication d'androidx.wear:wear-remote-interactions:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Wear-Phone-Interactions version 1.0.0-alpha06

21 juillet 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Modifications apportées à l'API

  • La classe BridgingManagerSeviceBinder est désormais une sous-classe de Service. Elle est renommée BridgingManagerService. (I9fca2)
  • La méthode RemoteAuthClient.Callback.onAuthorizationError a été modifiée pour inclure le paramètre OAuthRequest. Les méthodes nécessitant un rappel nécessitent désormais également un exécuteur pour exécuter le rappel. (I35e11)

Corrections de bugs

  • Nous avons rendu l'API Authentication plus simple d'utilisation avec des paramètres mieux documentés et en utilisant des propriétés lorsque cela est possible. (I12287)

Wear-Phone-Interactions version 1.0.0-alpha05

30 juin 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05

Corrections de bugs

  • Paramètres documentés à transmettre dans le constructeur pour BridgingConfig.Builder.

Wear-Ongoing version 1.0.0-alpha06

2 juin 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Modifications apportées à l'API

  • Ajout du champ Titre à Ongoing Activity. (I7a405)

Corrections de bugs

  • SerializationHelper.copy() effectue désormais une copie défensive des informations (I8b276).
  • Amélioration de la documentation pour setCategory (Iff01f)

Wear-Ongoing version 1.0.0-alpha05

18 mai 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05

Modifications apportées à l'API

  • OngoingActivity dispose désormais de getters pour récupérer toutes les valeurs directement définies via le compilateur (ou les valeurs par défaut extraites de la notification associée). (Id8ac8)

    • La nouvelle classe Status est maintenant utilisée pour créer l'état du OngoingActivity
    • OngoingActivityData et OngoingActivityStatus ne sont plus incluses dans l'API publique.
  • Les classes TextStatusPart et TimerStatusPart ne sont plus incluses dans l'API publique. (I57fb6)

    • Pour créer un Part avec du texte statique, utilisez Status.TextPart.
    • Pour créer un Part avec un chronomètre (compte en avant), utilisez Status.Stopwatch.
    • Pour créer une Part avec un minuteur (compte à rebours), utilisez Status.Timer

Wear-Ongoing version 1.0.0-alpha04

5 mai 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Modifications apportées à l'API

  • Dans OngoingActivity, les méthodes fromExistingOngoingActivity sont désormais nommées recoverOngoingActivity.
  • OngoingActivity disposons désormais d'un ensemble complet de getters, qui n'étaient auparavant disponibles que dans OngoingActivityData. (I0ee4d)

Wear-Remote-Interactions version 1.0.0-alpha05

21 juillet 2021

Publication d'androidx.wear:wear-remote-interactions:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05

Modifications apportées à l'API

  • Nous avons ajouté la classe RemoteIntentHelper (anciennement RemoteIntent dans la bibliothèque Wearable Support) qui peut être utilisée pour ouvrir des intents sur d'autres appareils (c'est-à-dire passer de la montre au téléphone). (I1d7e0)

  • La classe PlayStoreAvailability a été supprimée de la bibliothèque AndroidX. Pour savoir si le Play Store est disponible sur un téléphone connecté, utilisez la méthode androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType pour déterminer s'il s'agit d'un téléphone Android. Utilisez ensuite la méthode androidx.wear.utils.WearTypeHelper.isChinaDevice pour déterminer s'il s'agit d'un appareil chinois. Si le téléphone est un téléphone Android et qu'il n'est pas chinois, le Play Store est disponible. (Ie7dec)

Wear-Phone-Interactions version 1.0.0-alpha04

7 avril 2021

Publication d'androidx.wear:wear-phone-interactions:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Modifications apportées à l'API

  • Mise à jour des constantes ErrorCode pour rendre la nouvelle bibliothèque rétrocompatible avec l'implémentation dans la bibliothèque Wearable Support.

Corrections de bugs

  • Correction de l'exception causée par la nouvelle API OAuth lors du démarrage d'une session OAuth.

Wear-Remote-Interactions version 1.0.0-alpha03

7 avril 2021

Publication d'androidx.wear:wear-remote-interactions:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Modifications apportées à l'API

  • Remplacement de PlayStoreAvailability par une classe contenant un objet compagnon avec des méthodes statiques. L'utilisation reste la même.

Corrections de bugs

  • Correction du document récapitulatif pour WatchFaceConfigIntentHelper afin qu'il affiche correctement l'exemple de code avec les caractères HTML réels.

Wear-Ongoing Wear-Phone-Interactions version 1.0.0-alpha03

10 mars 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-alpha03 et d'androidx.wear:wear-phone-interactions:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

  • Migration de OAuthClient de la bibliothèque Wearable Support vers AndroidX. Cette classe migrée a été renommée RemoteAuthClient. Elle permet l'authentification à distance sur les accessoires connectés et permet d'ajouter l'extension OAuth PKCE. Des gestionnaires et des classes d'assistance supplémentaires pour la communication sont fournis.
  • Les activités en cours peuvent désormais être associées à une notification comportant une balise, à l'aide du nouveau constructeur OngoingActivity.Builder.

Modifications apportées à l'API

  • Ajout de la prise en charge des balises de notification dans la bibliothèque Ongoing Activities (I653b4)
  • Migration de OAuthClient de la bibliothèque Wear Support vers AndroidX et ajout de la prise en charge de l'extension OAuth PKCE (I3eaaa)

Wear-Remote-Interactions version 1.0.0-alpha02

10 mars 2021

Publication d'androidx.wear:wear-remote-interactions:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02

Nouvelles fonctionnalités

  • Migration de la classe PlayStoreAvailability de la bibliothèque Wearable Support vers AndroidX, qui fournit une API pour vérifier si le Play Store est disponible sur le téléphone.

Corrections de bugs

  • Migration de la classe PlayStoreAvailability de la bibliothèque Wearable Support vers AndroidX. (I69bfe)

Version 1.0.0-alpha02

10 février 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-alpha02 et d'androidx.wear:wear-phone-interactions:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02

Modifications apportées à l'API

  • Ajout de la prise en charge d'états plus complexes. Ils se composent d'un ou de plusieurs modèles et d'une série de parties qui permettent de remplir les espaces réservés du modèle. OngoingActivityStatus dispose maintenant d'une méthode statique pour créer des états simples ne comportant qu'une seule partie (Text ou Timer), ainsi que d'un compilateur pour créer des états plus complexes. (I1fe81)
  • Migration des classes BridgingManager et BridgingConfig de la bibliothèque Wear Support vers AndroidX, qui fournit des API permettant d'activer ou de désactiver les notifications au moment de l'exécution et éventuellement de définir des balises pour les notifications exclues du mode Pont. (I3a17e)

Version 1.0.0-alpha01

27 janvier 2021

Publication d'androidx.wear:wear-ongoing:1.0.0-alpha01, androidx.wear:wear-phone-interactions:1.0.0-alpha01 et androidx.wear:wear-remote-interactions:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Modifications apportées à l'API

  • Migration de la bibliothèque Ongoing Activities vers une nouvelle sous-bibliothèque : wear-ongoing. Les classes se trouvent désormais dans le package androidx.wear.ongoing (auparavant appelé androidx.wear.ongoingactivities) (I7c029)

  • Création d'une bibliothèque Support contenant les classes qui prennent en charge les interactions entre les accessoires connectés et les téléphones. Elle a dans un premier temps été alimentée par les classes migrées depuis la bibliothèque Wearable Support. (Id5180)

  • Migration de la classe PhoneDeviceType de la bibliothèque Wearable Support vers AndroidX. La classe migrée est renommée PhoneTypeHelper. Elle fournit des méthodes d'assistance permettant de déterminer le type de téléphone auquel la montre actuelle est associée (disponible uniquement sur les accessoires connectés). (Ibd947)

  • Création d'une bibliothèque Support contenant les classes qui prennent en charge les interactions entre les accessoires connectés et les téléphones. Elle a dans un premier temps été alimentée par les classes migrées depuis la bibliothèque Wearable Support. (I9deb4)

  • Migration de la classe WatchFaceCompanion de la bibliothèque Wearable Support vers AndroidX. La classe migrée est renommée WatchFaceConfigIntentHelper. Elle fournit des fonctions d'assistance permettant de spécifier l'ID et le nom du composant dans les activités de configuration du cadran de la montre associée sur le téléphone. Vous pouvez également l'utiliser localement pour configurer le cadran de la montre sur l'appareil connecté. (Ia455f)

Wear Complications and Watchface 1.0.0

Version 1.0.0-alpha22

15 septembre 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha22. Liste des commits de la version 1.0.0-alpha22

Nouvelles fonctionnalités

  • EditorSession s'abonne désormais aux observateurs du cycle de vie. Ainsi, vous n'avez plus besoin de la fermer lorsque votre activité disparaît.

Modifications apportées à l'API

  • EditorSession et ListenableEditorSession utilisent maintenant kotlin StateFlows pour complicationSlotsState, ComplicationsPreviewData et ComplicationsDataSourceInfo. (I761d9)
  • EditorSession#userStyle est désormais un MutableStateFlow<UserStyle> (I32ca9)
  • EditorSession.createOnWatchEditorSession utilise désormais un observateur de cycle de vie et se ferme automatiquement lorsqu'elle observe onDestroy. De plus, createOnWatchEditorSession ne nécessite désormais que la transmission de l'activité. Des modifications identiques ont également été appliquées à ListenableEditorSession. (Ic6b7f)
  • Le constructeur de CustomValueUserStyleSetting a été rétabli dans l'API publique. (I2e69a)
  • UserStyle hérite désormais de Map<UserStyleSetting, UserStyleSetting.Option>. MutableUserStyleSetting#put génère une IllegalArgumentException si le paramètre ne figure pas dans le schéma ou si l'option ne correspond pas au paramètre. (Iba40f)

Version 1.0.0-alpha21

1er septembre 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha21. Liste des commits de la version 1.0.0-alpha21

Modifications apportées à l'API

  • Toutes les API publiques de cadran, de client, d'éditeur et de complication utilisent désormais java.time.Instant pour les heures plutôt que Long, ce qui explique le niveau minimal d'API passé à 26. (I3cd48)
  • Les API du cadran et de complication utilisent désormais l'immuable ZonedDateTime au lieu de Calendar (I25cf8)
  • Les ComplicationSlots sont désormais initialisés avec NoDataComplicationData, ComplicationSlot.complicationData a maintenant toujours une valeur et CanvasComplicationDrawable.complicationData ne peut plus avoir une valeur nulle. (I4dfd6) Cela permet de réduire (mais pas d'éliminer) les scintillements de complication lors des changements de cadran.

Version 1.0.0-alpha20

18 août 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha20. Liste des commits de la version 1.0.0-alpha20

Modifications apportées à l'API

  • Nous avons ajouté createFallbackPreviewData à ComplicationDataSourceInfo, qui peut être utilisé lorsque ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData renvoie la valeur null. (I38c4d)
  • ComplicationDataSourceUpdateRequester est désormais une interface permettant de simuler les tests unitaires. Vous pouvez construire un ComplicationDataSourceUpdateRequester concret avec ComplicationDataSourceUpdateRequester.create(). (I7da22).
  • RenderParameters.pressedComplicationSlotIds a été remplacé par RenderParameters.lastComplicationTapDownEvents, qui expose la nouvelle classe TapEvent, qui contient le trio constitué des coordonnées x et y de la sélection en pixels et d'un horodatage. WatchFace.TapListener.onTap a été remplacé par onTapEvent(@TapType tapType: Int, tapEvent: TapEvent). De plus, InteractiveWatchFaceClient.displayPressedAnimation a été supprimé. (Id87d2)
  • Ajout d'une annotation explicite des threads pour setImportantForAccessibility (I990fa)
  • ComplicationSlotBoundsType a été déplacé vers androidx-wear-watchface.ComplicationSlotBoundsType dans wear/wear-watchface. (I09420)
  • Il est désormais possible de transmettre des ID de ressource de chaîne dans UserStyleSetting et Options. Il s'agit maintenant de la méthode recommandée pour construire ces objets. (I03d5f)
  • Des limites ont été imposées quant à la taille de transfert maximale d'un schéma UserStyle. De plus, les icônes du schéma ne doivent pas dépasser 400 x 400 pixels. (I3b65b)
  • Nous avons ajouté une classe MutableUserStyle pour permettre la modification des instances UserStyle (I95a40)
  • ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient a été renommé ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient. (I64ce2)
  • Nous avons modifié EditorState.previewComplicationsData pour qu'il ne contienne plus que les données des complications activées, et nous avons ajouté EditorSession.DEFAULT_PREVIEW_TIME_MILLIS qui, s'il est transmis à des requêtes renderWatchFaceToBitmap ou PreviewScreenshotParams, affiche l'heure d'aperçu par défaut du cadran. (If7b3c)
  • Nous avons supprimé les constructeurs UserStyleSetting qui utilisaient CharSequence à partir de l'API publique. Il est recommandé d'utiliser à la place les constructeurs qui nécessitent des ID de StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener permet désormais les conversions SAM. (I85989)

Version 1.0.0-alpha19

4 août 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha19. Liste des commits de la version 1.0.0-alpha19

Modifications apportées à l'API

  • Nous avons ajouté ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient, qui fournit un wrapper ListenableFuture pour WatchFaceMetadataClient.createWatchFaceMetadataClient. (I5fa37)
  • UserStyleOption.getOptionForId accepte désormais UserStyleOption.Id au lieu d'un tableau d'octets. (I469be)
  • Fournit les constantes BooleanOption.TRUE et BooleanOption.FALSE et désactive la création d'instances (I46e09)
  • Les méthodes wear-watchface-client qui peuvent générer une RemoteException sont maintenant annotées en conséquence. (Ib8438)
  • Par souci de cohérence, nous avons renommé EditorSession.createOnWatchEditingSession en createOnWatchEditorSession, et createHeadlessEditingSession est désormais createHeadlessEditorSession. Leurs wrappers guava ont également été renommés. (I1526b)
  • EditorSession est désormais une interface et ListenableEditorSession.commitChangesOnClose est désormais correctement délégué. (I7dc3e)
  • Nous refusons maintenant tout schéma de style utilisateur comportant des paramètres ou des options en conflit avec des ID (Ic2715).
  • Nous avons ajouté un UserStyle.get surchargé qui accepte UserStyleSetting.Id. (I2aa0f)

Version 1.0.0-alpha18

21 juillet 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha18. Liste des commits de la version 1.0.0-alpha18

Modifications apportées à l'API

  • Nous avons déplacé ComplicationHelperActivity vers la bibliothèque androidx.wear:wear-watchface. (I39e76)
  • Par souci de cohérence et de clarté, ComplicationProvider a été renommé ComplicationDataSource, et toutes les classes dont le nom inclut le fournisseur ont été renommées de la même manière. (Iaef0b)
  • CanvasComplication.isHighlighted a été déplacé vers RenderParameters.pressedComplicationSlotIds. Il s'agit d'une étape du processus visant à rendre CanvasComplication sans état. Pour prendre en charge cette modification, CanvasComplication.render utilise désormais également slotId comme paramètre et nous transmettons maintenant le ComplicationSlot à GlesTextureComplication. (I50e6e)
  • Nous avons ajouté headlessDeviceConfig à EditorRequest. S'il n'est pas "null", ce paramètre est utilisé pour construire une instance sans interface graphique afin de sauvegarder EditorSession au lieu d'agir sur l'instance interactive. Cela permet à l'éditeur d'être appelé pour un cadran qui ne correspond pas au cadran actuel. (I0a820)
  • Nous avons ajouté un WatchFaceMetadataClient expérimental qui permet de récupérer efficacement les métadonnées statiques du cadran telles que UserStyleSchema et des informations fixes sur ComplicationSlots. (I6bfdf)
  • Nous avons renommé CanvasRenderer.uiThreadInit en "init". (I6fff9)
  • Nous avons ajouté PreviewScreenshotParams, un nouveau paramètre facultatif pour EditorRequest, qui indique à EditorSession de faire une capture d'écran d'aperçu lors de la validation avec ce paramètre. L'image d'aperçu est exposée sur EditorState.previewImage. (Ic2c16)

Corrections de bugs

  • Les développeurs n'ont plus besoin d'ajouter ComplicationHelperActivity à leur propre fichier manifeste. (I6f0c2)

Version 1.0.0-alpha17

30 juin 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha17. Liste des commits de la version 1.0.0-alpha17

Nouvelles fonctionnalités

  • Dans GlesRenderer, makeUiThreadContextCurrent et makeBackgroundThreadContextCurrent ont été remplacés respectivement par runUiThreadGlCommands et runBackgroundThreadGlCommands, qui acceptent tous les deux un Runnable. La bibliothèque garantit qu'une seule commande GL exécutable est en cours d'exécution à la fois.

  • Pour faciliter l'initialisation d'UiThread, nous avons ajouté CanvasRenderer.uiThreadInit, qui est appelé une fois sur l'UiThread avant l'affichage des appels. Nous avons également ajouté onRendererCreated à CanvasComplication pour faciliter le partage d'état entre Renderer et CanvasComplication.

  • Pour plus de clarté, nous avons renommé Complication en ComplicationSlot et complicationId en complicationSlotId ou complicationInstanceId, selon l'utilisation.

Modifications apportées à l'API

  • Pour plus de clarté, nous avons renommé Complication en ComplicationSlot, et complicationId en complicationSlotId ou complicationInstanceId, selon l'utilisation. Les classes qui utilisent Complication ont également été renommées. Par exemple, ComplicationsManager s'appelle désormais ComplicationSlotsManager. (I4da44)
  • Dans GlesRenderer, makeUiThreadContextCurrent et makeBackgroundThreadContextCurrent ont été remplacés par runUiThreadGlCommands et runBackgroundThreadGlCommands, qui acceptent tous deux un Runnable. Ces fonctions ne sont utiles que si vous devez effectuer des appels GL en dehors de l'affichage, runBackgroundThreadGlCommands et onUiThreadGlSurfaceCreated. Cette opération est nécessaire, car il peut y avoir plusieurs GlesRenderers ayant chacun leur propre contexte au cours du même processus, parfois pour différents cadrans. De plus, l'accès au contexte GL actuel est désormais synchronisé. (I04d59)
  • Nous avons ajouté CanvasRenderer.uiThreadInit, qui est appelé une fois sur l'UiThread avant l'affichage des appels. Pour plus de clarté dans GlesRenderer, nous avons renommé onGlContextCreated en onBackgroundThreadGlContextCreated, et onGlSurfaceCreated en onUiThreadGlSurfaceCreated. (If86d0)
  • HeadlessWatchFaceClient et InteractiveWatchFaceClient getComplicationsSlotState ont été renommés getComplicationSlotsState. Dans ComplicationSlot : createRoundRectComplicationBuilder, createBackgroundComplicationBuilder et createEdgeComplicationBuilder ont été renommés respectivement createRoundRectComplicationSlotBuilder, createBackgroundComplicationSlotBuilder et createEdgeComplicationSlotBuilder. (Ib9adc)
  • Nous avons ajouté onRendererCreated à CanvasComplication afin que Renderer et CanvasComplication partagent plus facilement l'état. (I5e1ac)

Version 1.0.0-alpha16

16 juin 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha16. Liste des commits de la version 1.0.0-alpha16

Nouvelles fonctionnalités

  • Nous avons corrigé un certain nombre de bugs liés aux modifications récentes du modèle de création de threads et d'autres problèmes liés à l'éditeur de cadran.

Corrections de bugs

  • Prévention des exceptions NPE dans onComplicationProviderChooserResult (b/189594557)
  • Résolution des problèmes d'actualisation des surfaces et de drawBlack (b/189452267)
  • Correction de la course pour accéder à complicationsManager.watchState (b/189457893)
  • Résolution du bug lié à la durée de vie du thread en arrière-plan (b/189445428)
  • Résolution des problèmes liés à l'éditeur de cadran Pre-R (b/189126313)
  • Ne pas mettre à jour les paramètres de démarrage direct pour les modifications du style de l'éditeur (b/187177307)

Version 1.0.0-alpha15

2 juin 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha15. Liste des commits de la version 1.0.0-alpha15

Nouvelles fonctionnalités

La majorité de l'initialisation du cadran est désormais effectuée sur un thread en arrière-plan. Toutefois, après le chargement tout le rendu du cadran, etc., est effectué sur UiThread. Il existe une barrière mémoire entre le chargement et l'affichage. La plupart des utilisateurs de cadran n'ont donc aucune action particulière à effectuer. Les cadrans utilisant GLES peuvent faire exception à cette règle, car le contexte est propre à un thread. Nous créons alors deux contextes associés. Il est donc possible d'importer des ressources GL (par exemple, des textures et des nuanceurs) dans le thread d'arrière-plan et de les utiliser sur l'UiThread.

Nous avons divisé la construction des cadrans en trois fonctions : createUserStyleSchema, createComplicationsManager et createWatchFace. Nous supposons que createUserStyleSchema et createComplicationsManager sont rapides et que createWatchFace peut prendre un certain temps pour charger les éléments. Pour en bénéficier, nous avons lancé WatchFaceControlClient.getDefaultProviderPoliciesAndType, qui renvoie une map des ID de complication vers DefaultComplicationProviderPolicies et le ComplicationType par défaut. Cela est plus rapide que de créer une instance sans interface graphique, car il n'est pas nécessaire d'initialiser complètement le cadran pour exécuter la requête.

Enfin, les complications sont désormais créées avec une CanvasComplicationFactory, qui permet la construction différée des moteurs de rendu CanvasComplication.

Modifications apportées à l'API

  • @TargetApi a été remplacé par @RequiresApi. (I0184a, b/187447093, b/187447094)
  • Nous avons introduit WatchFaceControlClient.getDefaultProviderPoliciesAndType, qui renvoie une map des ID de complication vers DefaultComplicationProviderPolicies et ComplicationType par défaut. Dans la mesure du possible, un chemin rapide permet d'éviter de construire complètement un cadran. Pour permettre cela, l'API WatchFaceService a été modifiée, avec l'ajout de deux nouvelles méthodes : createUserStyleSchema et createComplicationsManager, dont les résultats sont transmis à createWatchFace. De plus, les complications sont désormais construites avec une CanvasComplicationFactory, ce qui permet une construction différée des moteurs de rendu CanvasComplication. (Iad6c1)
  • Nous avons supprimé MOST_RECENT_APP dans SystemProviders. (I3df00)
  • ObservableWatchData est désormais une classe scellée. (Ic940d)
  • CanvasComplicationFactory.create (qui est généralement liée à io) est désormais appelé sur un thread en arrière-plan pour chaque complication avant le début du rendu du thread UI. Il existe une barrière de mémoire entre la construction et l'affichage. Par conséquent, aucune primitive de thread spéciale n'est requise. (Ia18f2)
  • La création du cadran est désormais effectuée sur un thread en arrière-plan, bien que tout le rendu s'effectue sur le thread ui, GlesRenderer prend en charge deux contextes liés. WatchFaceControlClient.createHeadlessWatchFaceClient et WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient peuvent être résolus avant la fin de WatchFaceService.createWatchFace. Les appels d'API ultérieurs seront bloqués jusqu'à l'initialisation de watchFace. (Id9f41)
  • EXPANSION_DP et STROKE_WIDTH_DP ne sont plus visibles dans le fichier api.txt. (I54801)
  • Nous avons fait en sorte que EditorSession.createOnWatchEditingSession génère une TimeoutCancellationException au lieu d'envoyer une session nulle si une erreur survient. De plus, la valeur renvoyée pour EditorRequest.createFromIntent et EditorSession.createOnWatchEditingSession est désormais "NonNull". (I41eb4)

Version 1.0.0-alpha14

18 mai 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha14. Liste des commits de la version 1.0.0-alpha14

Nouvelles fonctionnalités

  • EditorSession.openComplicationProviderChooser renvoie désormais ChosenComplicationProvider, qui contient l'ID de complication, ComplicationProviderInfo ainsi qu'un bundle contenant tous les extras supplémentaires renvoyés par le sélecteur de fournisseur.
  • De plus, nous convertissons progressivement le code en Kotlin, et la majorité de l'API de cadran est désormais définie en Kotlin.

Modifications apportées à l'API

  • Les propriétés GlesRenderer eglContext et eglDisplay ne peuvent plus avoir une valeur nulle. Toutes les erreurs GL sont désormais signalées via GlesRenderer.GlesException plutôt que via RuntimeExceptions. (Ib1005)
  • Nous avons converti androidx.wear.watchface.complications.rendering.ComplicationDrawable de Java en Kotlin (Ibc3eb)
  • Nous avons converti androidx.wear.watchface.complications.rendering.ComplicationStyle de Java en Kotlin (I3375e)
  • Nous avons ajouté des informations sur le fournisseur de chaque complication dans EditorSession. (I37f14)
  • Nous avons étendu le résultat de EditorSession.openComplicationProviderChooser afin d'inclure les informations renvoyées par la sélection. (Iead6d)

Wear Complications & Watchface version 1.0.0-alpha13

5 mai 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha13. Liste des commits de la version 1.0.0-alpha13

Nouvelles fonctionnalités

  • Les cadrans peuvent comporter des éléments visuels importants en plus de l'heure et des complications. Pour permettre leur prise en charge par des lecteurs d'écran, le cadran peut désormais spécifier des ContentDescriptionLabels d'accessibilité via la propriété additionalContentDescriptionLabels du moteur de rendu. En outre, pour contrôler l'ordre d'affichage des ContentDescriptionLabels, accessibilityTraversalIndex a été ajouté aux complications. Ce paramètre peut être modifié par un ComplicationsUserStyleSetting.

  • Pour inciter les développeurs à prendre en compte les exigences relatives aux lecteurs d'écran, nous avons rendu obligatoire la transmission vers les constructeurs du champ contentDescription de ShortTextComplicationData.Builder, LongTextComplicationData.Builder et RangedValueComplicationData.Builder. Si ComplicationText.EMPTY est transmis pour contentDescription, un contentDescription est automatiquement généré à partir du texte et du titre.

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient génère désormais ServiceStartFailureException si le cadran génère une exception lors de l'initialisation, ce qui facilite le diagnostic des problèmes lors du démarrage du cadran.

Modifications apportées à l'API

  • Nous avons ajouté la prise en charge d'un nom de composant nul dans ComplicationProviderInfo, qui était nécessaire pour assurer la compatibilité avec les anciennes versions de Wear OS. (I744d2)
  • Nous avons converti androidx.wear.complications.SystemProviders de Java en Kotlin. (Ia1f8b)
  • Nous avons masqué toutes les classes de l'API publique dans android.support.wearable.complications et créé des wrappers correspondants dans AndroidX si nécessaire. (I7bd50)
  • Nous avons renommé la méthode setMinimumUnit de TimeDifferenceComplicationText.Builder en setMinimalTimeUnit. (I20c64)
  • Nous avons rendu obligatoire la transmission dans le constructeur du champ contentDescription de ShortTextComplicationData.Builder, LongTextComplicationData.Builder et RangedValueComplicationData.Builder. (I8cb69)
  • ComplicationProviderService.onComplicationUpdate a été renommée onComplicationRequest, et le paramètre d'ID et de type encapsulé de cette méthode est désormais data ComplicationRequest. L'écouteur correspondant a été renommé ComplicationRequestListener et sa méthode ComplicationRequestListener.onComplicationData. (Iaf146)
  • Nous avons supprimé la méthode isActiveAt de ComplicationData et exposé le champ validTimeRange à la place. Cet appel de méthode peut être remplacé par validTimeRange.contains. (I65936)
  • Nous avons modifié la description de la méthode ComplicationProviderService.onComplicationActivated afin de recevoir un ComplicationType au lieu d'un int. (Idb5ff).
  • Migration de ProviderUpdateRequester de Java vers Koltin. (Ibce13)
  • GlesRender.makeContextCurrent est désormais public. Le code de cadran peut avoir besoin d'effectuer des appels GL en dehors du rendu et de onGlContextCreated. En effet, il peut s'agir d'un contexte interactif et sans interface graphique. (I8a43c)
  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient génère maintenant ServiceStartFailureException si le cadran génère une exception pendant l'initialisation. De plus, WatchFaceService génère désormais une exception si createWatchFace prend plus de six secondes. (I59b2f)
  • Nous avons supprimé la propriété d'ID inutilisée de GlesTextureComplication. (I28958)
  • Le cadran peut désormais spécifier les ContentDescriptionLabels d'accessibilité via la propriété additionalContentDescriptionLabels de Renderer. En plus de contrôler l'ordre d'affichage de ContentDescriptionLabels, accessibilityTraversalIndex a été ajouté aux complications. Ce paramètre peut être modifié par un ComplicationsUserStyleSetting. (Ib7362)
  • Développement de la documentation sur la gestion des événements tactiles sur le cadran. (Iaf31e)

Corrections de bugs

  • EditorSession.getComplicationsPreviewData() affiche désormais une map pour chaque complication, et non plus uniquement pour les complications non vides. Une instance de EmptyComplicationData est utilisée pour les complications vides. (I1ef7e)

Wear Complications & Watchface version 1.0.0-alpha12

21 avril 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12

Nouvelles fonctionnalités

Les éditeurs de cadran doivent mettre en surbrillance des parties du cadran pour aider à comprendre quel aspect de la montre est configuré. Nous avons étendu RenderParameters pour permettre la mise en surbrillance des styles et des complications. Il existe une nouvelle HighlightLayer facultative, destinée à couvrir le cadran par une transparence alpha (les API de capture d'écran peuvent gérer les caches pour vous ou fournir la HighlightLayer pour une flexibilité maximale). Par exemple, supposons que vous disposiez d'un style qui vous permet de configurer l'apparence des aiguilles de la montre. La renderHighlightLayer de votre moteur de rendu peut mettre ces éléments en surbrillance.

Pour favoriser la prise en charge de l'accessibilité par les fournisseurs de complications, nous avons rendu le champ contentDescription obligatoire pour PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder et SmallImageComplicationData.Builder. ComplicationTapFilter et Complication.createEdgeComplicationBuilder ont été ajoutés pour permettre les complications en périphérie (dessinées autour du bord de l'écran). L'affichage et les tests de positionnement des complications en périphérie sont délégués au cadran. Les tests de positionnement en périphérie ne peuvent pas être réalisés depuis l'éditeur associé.

Modifications apportées à l'API

  • Ajout du préfixe PROVIDER_ aux constantes dans SystemProviders. (I1e773)
  • Nous avons rendu obligatoire la transmission dans le constructeur du champ contentDescription de PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder et SmallImageComplicationData.Builder. (I9643a)
  • ProviderInfoRetriever.requestPreviewComplicationData a été renommé retrievePreviewComplicationData. (I911ee)
  • Conversion de ComplicationProviderService de Java en Koltin. (I849f2)
  • La méthode ComplicationProviderService.onBind est désormais définie comme finale (I39af5)
  • Nous avons rétabli l'interface CanvasComplication et déplacé CanvasComplicaitonDrawable, GlesTextureComplication et ComplicationHighlightRenderer vers wear-watchface-complications-rendering. (I84670)
  • RenderParameters a été refactorisé pour prendre en charge l'affichage étendu de la mise en surbrillance. Il est désormais possible de demander l'affichage des mises en surbrillance pour les styles, ainsi que pour une ou toutes les complications. De plus, CanvasRenderer et GlesRenderer disposent d'une nouvelle méthode abstraite renderHighlightLayer pour l'affichage de toute mise en surbrillance demandée par l'éditeur. La couche a été renommé WatchFaceLayer. (Ic2444)
  • ComplicationTapFilter et Complication.createEdgeComplicationBuilder ont été ajoutés pour permettre la prise en charge des complications en périphérie. L'affichage et les tests de positionnement des complications en périphérie sont délégués au cadran. Les tests de positionnement ne peuvent pas être réalisés depuis les éditeurs. (Ia6604)
  • Pour DoubleRangeUserStyleSetting et LongRangeUserStyleSetting : defaultValue, maximumValue et minimumValue sont désormais des propriétés en kotlin. En outre, les fonctions UserStyleSetting.Option telles que toBooleanOption, toCoplicationOptions, toListOption et similaires ont été supprimées. (I52899)
  • Ajout de la taille de l'encart aux propriétés de l'appareil qui peuvent être présentées au cadran. (I76e1e)
  • Le constructeur de ComplicationHighlightRenderer accepte désormais les paramètres outlineExpansion et outlineStrokeWidth. (I87009)
  • ComplicationDrawable.getNoDataText fait désormais partie de l'API publique. (I00598)

Version 1.0.0-alpha11

7 avril 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11

Nouvelles fonctionnalités

  • Améliorations des API pour les cadrans. La plupart des modifications ont simplement consisté en des changements de noms, mais InteractiveWatchFaceWcsClient et InteractiveWatchFaceSysUiClient ont été fusionnés dans InteractiveWatchFaceClient.

Modifications apportées à l'API

  • ContentDescriptionLabel.text est désormais un ComplicationText, et non plus un TimeDependentText de l'ancienne bibliothèque Support pour les accessoires connectés. (I80c03)
  • Il n'est pas garanti que SystemProviders.GOOGLE_PAY soit présent sur tous les appareils Android R. Il a donc été supprimé de la liste. Il est toujours possible d'utiliser ce fournisseur via DefaultComplicationProviderPolicy (If01b5).
  • Par souci de cohérence, nous avons renommé ComplicationUpdateCallback en ComplicationUpdateListener. (I61ec7)
  • La map du format de communication UserStyle a été remplacée par Map<String, byte[]>. Pour plus de commodité, une classe UserStyleData a été ajoutée à l'API publique. Elle est désormais utilisée par wear-watchface-client et wear-watchface-editor. En outre, CustomValueUserStyleSetting.CustomValueOption.value est désormais byte[] au lieu de String. (Iaa103)
  • UserStyleSetting et UserStyleSetting.Option utilisent désormais respectivement UserStyleSetting.Id et UserStyleSetting.Option.Id pour archiver leurs ID au lieu d'une chaîne. (I63f72)
  • InteractiveWatchFaceClient.SystemState a été renommé WatchUiState. (I6a4e0)
  • InteractiveWatchFaceWcsClient et InteractiveWatchFaceSysUiClient ont été fusionnés, car il était difficile d'expliquer la division de responsabilités (Iff3fa)
  • Les valeurs de l'énumération des couches ont été renommées pour plus de clarté. Layer#TOP_LAYER est maintenant Layer#COMPLICATIONS_OVERLAY et Layer#BASE_LAYER est maintenant Layer#BASE. (Ia144e)
  • UserStyleListener a été renommé UserStyleChangeListener (I18524)
  • UserStyleRepository a été renommé CurrentUserStyleRepository (I6ea53)
  • InteractiveWatchFaceWcsClient.updateInstance a été renommé updateWatchfaceInstance. (I321dc)
  • Les événements TapType de cadran ont été renommés pour correspondre à MotionEvents / Compose. (I0dfd0)
  • takeWatchfaceScreenshot a été renommé renderWatchFaceToBitmap, et takeComplicationScreenshot a été renommé renderComplicationToBitmap (Ie0697).
  • L'interface CanvasComplication a été supprimée et remplacée par la classe ouverte CanvasComplicationDrawable. (I1f81f)
  • WatcfaceControlServiceFactory a été supprimé de l'API publique. (I1f8d3)
  • CanvasComplication.setData a été renommé CanvasComplication.loadData. (If1239)
  • ComplicationsManager.bringAttentionToComplication a été renommé displayPressedAnimation. (Ic4297)
  • WatchFaceService.createWatchFace comporte désormais une annotation @UiThread. (Ib54c2)
  • Modification du nom d'un paramètre CanvasComplicationDrawable pour corriger un bug. (I50dac)
  • Nous avons ajouté HeadlessWatchFaceClient.toBundle() et HeadlessWatchFaceClient.createFromBundle pour permettre l'envoi de HeadlessWatchFaceClient via AIDL. (I07c35)
  • Les clients HeadlessWatchFaceClient et InteractiveWatchFaceClient disposent maintenant de ClientDisconnectListener et de isConnectionAlive() pour vous permettre de vérifier si la connexion est interrompue pour une raison quelconque (par exemple, le cadran est en cours de fermeture). (Ie446d)
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync est désormais une fonction de suspension et a été renommée getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • EditorState.commitChanges et hasCommitChanges() ont été renommés shouldCommitChanges(). (I06e04)
  • previewComplicationData a été renommé previewComplicationsData pour indiquer qu'il y a (généralement) plusieurs complications sur la map. (I56c06)
  • InteractiveWatchFaceWcsClient.bringAttentionToComplication a été renommé displayPressedAnimation par souci de cohérence avec ComplicationsManager.displayPressedAnimation. (Ic9999)
  • Toutes les instances de l'ID d'instance de cadran ont été encapsulées dans une nouvelle classe WatchFaceId (I45fdf).
  • La propriété complicationState a été renommée complicationsState pour indiquer le pluriel. (Ided07)
  • Nous avons supprimé les différentes conversions Binder de wear-watchface-client. Elles devraient être nécessaires. (Icc4c0)
  • Par souci de cohérence, EditorServiceClient a été refactorisé pour utiliser des écouteurs au lieu d'observateurs. (Iec3a4)
  • Nous avons ajouté quelques annotations @Px manquantes à InteractiveWatchFaceSysUiClient et WatchFaceControlClient. (I3277a)
  • EditorObserverCallback a été renommé EditorObserverListener pour des raisons de cohérence. (Ie572d)
  • EditorState.watchFaceInstanceId est limité au niveau d'API Android R ou supérieur et ne peut plus être une valeur nulle. (Id52bb)
  • EditorSession.launchComplicationProviderChooser a été renommé openComplicationProviderChooser. (I9d441)
  • EditorSession.createOnWatchEditingSessionAsync a été renommé createOnWatchEditingSession et est désormais une fonction de suspension. (Id257b)
  • Ajout de plusieurs annotations @UiThread manquantes à EditorSession. (I6935c)
  • UserStyleSetting.affectsLayers a été renommé affectedLayers. (I6e22b)

Version 1.0.0-alpha10

24 mars 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10

Nouvelles fonctionnalités

  • Il est désormais possible de créer des objets GL ouverts (des textures, par exemple) pendant WatchFaceService.createWatchFace, car GlesRenderer nécessite désormais un appel explicite à initOpenGLContext, qui peut être effectué dans createWatchFace.

Modifications apportées à l'API

  • IdAndComplicationData n'était pas optimal et a été supprimé de l'API publique. Les classes et les interfaces qui l'utilisaient ont été refactorisées. (I4c928)
  • Nous avons remplacé ReferenceTime par CountUpTimeReference et CountDownTimeReference, qui sont plus explicites. (Ib66c6)
  • Ajout des annotations @Px et @ColorInt manquantes. (I9bbc3)
  • Complication.complicationConfigExtras ne peut désormais plus être nul. Il est défini par défaut sur Bundle.EMPTY. (Iad04f)
  • GlesRenderer nécessite désormais d'appeler initOpenGLContext après la construction. Cette fonction était un détail interne, mais elle est désormais sur l'API publique pour permettre les appels GL plus tôt dans createWatchFace. (I726c2)
  • Nous avons supprimé Complication.setRenderer, car il ne devrait pas être nécessaire. (Ie992f)
  • Complicaiton.setComplicationBounds ne fait plus partie de l'API publique. Si vous devez ajuster la position d'une complication, vous pouvez le faire via ComplicationsUserStyleSetting. (Ibd9e5)
  • ComplicationsManager.TapCallback.onComplicationSingleTapped a été renommé onComplicationTapped. (I3a55c)
  • ComplicationOutlineRenderer.drawComplicationSelectOutline a été renommé drawComplicationOutline. (I14b88)

Version 1.0.0-alpha09

10 mars 2021

Publication d'androidx.wear:wear-complications-*:1.0.0-alpha09 et d'androidx.wear:wear-watchface-*:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09

Nouvelles fonctionnalités

  • L'interface entre l'hôte WCS/SysUI et le cadran a évolué. Il est désormais possible pour un éditeur de déterminer si un changement de style activera ou désactivera une complication (enabled = initiallyEnabled plus tout forçage de ComplicationsUserStyleSetting). EditorService.closeEditor permet également à SysUI de fermer à distance un éditeur de cadran si nécessaire.
  • De plus, InteractiveWatchFaceWcsClient.setUserStyle est doté d'une commande updateInstance plus performante, qui modifie l'ID d'instance, définit le style et supprime les complications en une seule fois.

Modifications apportées à l'API

  • Des TraceEvents ont été ajoutés aux bibliothèques de cadrans. (I1a141)
  • ComplicationState dispose désormais d'une nouvelle propriété initiallyEnabled qui permet de prédire les conséquences du changement de style. (I8c905)
  • Nous avons remplacé InteractiveWatchFaceWcsClient.setUserStyle par une commande updateInstance plus performante, qui modifie l'ID d'instance, définit le style et supprime les complications. (Ife6f6)
  • Les API de capture d'écran WatchFaceClient ne compressent plus les captures d'écran, car l'opération était lente. Au lieu de cela, nous laissons l'appelant gérer l'ensemble du post-traitement. (Id35af)
  • Vous pouvez désormais fermer à distance un éditeur de cadran via EditorService.closeEditor. (Ic5aa4)
  • Ajout d'annotations de possibilité de valeur nulle (Ic16ed)

Version 1.0.0-alpha08

24 février 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08

Nouvelles fonctionnalités

  • Certains cadrans sont conçus autour d'une ou de plusieurs complications spécifiques. Pour faciliter la tâche, nous avons ajouté Complication.Builder#setFixedComplicationProvider qui, s'il est défini sur "true", empêche l'utilisateur de modifier la complication dans cet emplacement.
  • Le Kotlin est le langage par défaut des bibliothèques de cadran. Elles utilisent des coroutines (par exemple, des fonctions de suspension). Pour les utilisateurs de Java, nous avons fourni des wrappers ListenableFuture pour améliorer l'interopérabilité dans les bibliothèques suivantes : wear/wear-watchface-guava, wear/wear-watchface-client-guava et wear/wear-watchface-editor-guava.

Modifications apportées à l'API

  • Il n'est plus possible de prendre en charge les doubles pressions sur les complications lors du lancement du sélecteur de fournisseur. Cette fonctionnalité n'était pas courante sur les cadrans et compliquait l'implémentation de SysUI. (I3ef24)
  • Les méthodes ProviderInfoRetriever peuvent générer une ServiceDisconnectedException si la liaison se ferme de manière inattendue. (Ib2cc4)
  • À partir d'Android 11, des restrictions s'appliquent concernant l'exécution du ProviderChooser. Nous souhaitons également que les éditeurs soient créés avec le nouveau wear-watchface-editor afin de pouvoir supprimer ComplicationHelperActivity de l'API publique. (Ib19c1)
  • Suppression des méthodes statiques ComplicationText en faveur des constructeurs. (Ibe399)
  • Nous avons lancé des wrappers guava ListenableFuture pour les différentes méthodes suspendues de la bibliothèque de cadran. (I16b2c)
  • Pour plus de clarté, nous avons ajouté un constructeur secondaire à RenderParameters, qui ne nécessite pas de teinte. Il est destiné à être utilisé avec des LayerModes autres que LayerMode.DRAW_OUTLINED. (I497ea)
  • Auparavant, ListUserStyleSetting se distinguait des autres constructeurs, car il comportait un argument par défaut. Tous les constructeurs de sous-classes StyleSetting utilisent désormais la valeur par défaut en dernier. (I9dbfd)
  • CanvasComplication a été refactorisé pour utiliser une méthode cachée, ce qui facilite l'implémentation d'une sous-classe (I5b321)
  • Dans le cadre d'une refactorisation, nous avons remplacé EditorResult par un nouveau EditorService et EditorSession.broadcastState() pour diffuser les mises à jour en flux continu vers un observateur (généralement SysUI). (Ic4370)
  • Certains cadrans sont construits autour d'une complication spécifique en tant que partie intégrante, pour laquelle le fournisseur n'est pas configurable par l'utilisateur. Pour prendre en charge ce type de conception, nous avons ajouté Complication.Builder#setFixedComplicationProvider. (I4509e)
  • EditorRequest spécifie désormais le nom du package plutôt que ComponentName, car il n'était pas pratique pour SysUI de rechercher le nom de classe de l'éditeur, alors que nous n'avons besoin que du nom du package. (Ib6814)

Version 1.0.0-alpha07

10 février 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07

Nouvelles fonctionnalités

  • WatchFaceService.createWatchFace est désormais une fonction de suspension, ce qui signifie que le cadran n'a plus besoin de bloquer le thread UI en attendant l'E/S. Idem pour wear-watchface-editor et wear-complications-data.

Modifications apportées à l'API

  • La classe PhotoImage a été supprimée et Icon est directement utilisée. (I8a70b)
  • Exposition de la valeur validTimeRange de ComplicationData. (I91366)
  • Les attributs semblables à des images ont été rendus plus explicites. (I81700)
  • Wear-watchface-editor et wear-complications-data ont été refactorisés afin d'utiliser des fonctions de suspension au lieu de coroutines. Wrappers compatibles Rx java et Future à suivre. (If3c5f)
  • ProviderInfoRetriever génère désormais une exception PreviewNotAvailableException si requestPreviewComplicationData ne peut pas renvoyer de données d'aperçu en raison de problèmes de connexion ou d'une incompatibilité avec l'API. (I4964d)
  • WatchFaceControlService::createWatchFaceControlClient est désormais une fonction suspendue et getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient s'appelle désormais getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync renvoyant Deferred<InteractiveWatchFaceWcsClient>. Wrappers compatibles Rx java et Future à suivre. (I5d461)
  • CATEGORY_PROVIDER_CONFIG_ACTION a été renommé CATEGORY_PROVIDER_CONFIG. (I7c068)
  • Notez que createOnWatchEditingSession est désormais une fonction suspendue, car le cadran est parfois indisponible peu de temps après le début de l'activité de l'éditeur. (Ida9aa)
  • WatchFaceService.createWatchFace est désormais une fonction de suspension qui permet l'initialisation asynchrone. Auparavant, vous deviez bloquer le thread principal. (If076a)
  • UserStyle dispose désormais d'un opérateur de tableau et nous avons ajouté des assistants de diffusion à UserStyle.Option. (I35036)
  • Nous avons corrigé un bug de triage concernant les formats de communication UserStyle qui entraînait la modification de certaines API masquées instables. (I8be09)
  • Nous avons ajouté CustomValueUserStyleSetting, qui vous permet de stocker une seule chaîne spécifique à une application dans un objet UserStyle. Cette valeur sera ignorée par les éditeurs du cadran par défaut. (Ic04d2)
  • InstanceID n'est pas transmis dans les éléments supplémentaires d'intent pour R et les versions antérieures d'Android WearOS, que nous ne pouvons pas mettre à niveau. Par conséquent, nous autorisons désormais la valeur "null" pour InstanceID. (Id8b78)
  • EditorRequest inclut désormais le ComponentName de l'éditeur, qui est défini comme composant dans WatchFaceEditorContract.createIntent (I3cd06).
  • L'EditorResult de cadran comprend désormais un aperçu de ComplicationData pour permettre à l'appelant de faire une capture d'écran du cadran après l'avoir modifié. (I2c561)

Corrections de bugs

  • Ajout des forçages toString() aux classes UserStyle, UserStyleSetting et UserStyleSchema pour utilisation plus conviviale. (I9f5ec)

Version 1.0.0-alpha06

27 janvier 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Nouvelles fonctionnalités

  • Nous avons lancé une nouvelle bibliothèque, wear/wear-watchface-editor, qui permet aux développeurs de cadrans et, potentiellement, aux OEM de créer un éditeur de style et de complication. SysUI enverra un intent au cadran, qui utilisera la nouvelle classe EditorSession pour accéder aux détails WatchFace et enregistrer le résultat via Activity.setWatchRequestResult. Pour cela, nous avons ajouté ProviderInfoRetriever.requestPreviewComplicationData, qui permet aux éditeurs de cadrans de demander un aperçu de ComplicationData. L'avantage de l'aperçu de ComplicationData par rapport aux données en direct est que vous n'avez pas à vous soucier de l'affichage de boîtes de dialogue d'autorisation lorsque vous affichez votre éditeur. Notez que si un utilisateur sélectionne un fournisseur avec une autorisation, il sera quand même invité à donner son autorisation.

Modifications apportées à l'API

  • ComplicationProviderInfo dispose désormais d'un champ pour le ComponentName du fournisseur. Ce champ sera compatible avec Wear OS à une date ultérieure et, en attendant, il sera nul. (Id8fc4)
  • Nous avons ajouté ProviderInfoRetriever.requestPreviewComplicationData, qui permet aux éditeurs de cadrans de demander un aperçu de ComplicationData. Cette fonctionnalité est utile, car les complications en direct peuvent nécessiter des autorisations. Vous pouvez désormais afficher un aperçu des données pour les complications inactives. (I2e1df)
  • ComplicationManager est désormais un paramètre facultatif du constructeur WatchFace. Les arguments ont été réorganisés pour permettre ce changement. (I66c76)
  • Nous avons ajouté un Bundle facultatif aux Complications qui, s'il est défini, est fusionné avec l'intent envoyé pour lancer l'activité de sélection du fournisseur. (Ifd4ad)
  • Nous avons ajouté une bibliothèque wear-watchface-editor pour la prise en charge des éditeurs de cadran et hébergés par SysUi. SysUI lancera ces éditeurs en envoyant un intent. Le service d'activité du cadran peut utiliser la nouvelle classe EditorSession pour accéder aux détails WatchFace et enregistrer le résultat via Activity.setWatchRequestResult. (I2110d)
  • LayerMode.DRAW_HIGHLIGHTED s'appelle maintenant LayerMode.DRAW_OUTLINED et RenderParameters.highlightComplicationId s'appelle maintenant RenderParameters.selectedComplicationId. Ce dernier permet de mettre en avant la complication spécifiée grâce à un contour et une surbrillance. (I90a40)
  • L'interface Future de WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient peut maintenant se résoudre avec une ServiceStartFailureException si le service échoue en attendant la création du cadran. (I0f509)
  • EditorSession.complicationPreviewData est maintenant une ListenableFuture, car la récupération de ces données est un processus asynchrone. (Iead9d)

Corrections de bugs

  • Nous avons supprimé les champs inutilisés de ComplicationOverlay et conservons enabled et complicationBounds. (I17b71)

Version 1.0.0-alpha05

13 janvier 2021

Publication d'androidx.wear:wear-*:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.

Nouvelles fonctionnalités

Les cadrans sont souvent compatibles avec un certain nombre de configurations de complications, et le nombre de complications affichées est variable. Pour faciliter la configuration, nous prenons désormais en charge la désactivation initiale des complications en appelant setEnabled(false) sur le compilateur. Vous pourrez les activer plus tard via ComplicationsUserStyleSetting.

Modifications apportées à l'API

  • ComplicationHelperActivity accepte désormais Collection<ComplicationType> au lieu d'un tableau d'entier pour simplifier son utilisation. (I1f13d)
  • ProviderInfoRetriever.retrieveProviderInfo retourne maintenant correctement ListenableFuture<ProviderInfo[]>. (If2710)
  • Vous pouvez maintenant créer une complication initialement désactivée en appelant setEnabled(false) sur le compilateur. (Idaa53)
  • WatchFaceState dispose désormais d'une propriété isHeadless, qui n'est vraie que pour les instances sans interface graphique. (Ifa900)
  • ComplicationDrawable prend désormais en charge le chargement synchrone des drawables. Elle est utilisée par les API de capture d'écran. (I34d4a)

Version 1.0.0-alpha04

16 décembre 2020

Publication d'androidx.wear:wear-*:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Nouvelles fonctionnalités

  • La bibliothèque de cadrans de Wear permet désormais de définir des limites par type. Par exemple, vous pouvez passer à un cadre de délimitation large pour ComplicationType.LONG_TEXT tout en utilisant un cadre de délimitation plus petit pour les autres types.

Modifications apportées à l'API

  • Les complications utilisent désormais la fonctionnalité ComplicationBounds, qui encapsule un élément Map<ComplicationType, RectF> pour prendre en charge la définition des tailles par type de complication. (I1ebe7)
  • RenderParameters vous permet désormais de spécifier la teinte utilisée pour la mise en surbrillance dans les captures d'écran. (Iff42b)
  • À l'exception des limites, vous devez maintenant utiliser ComplicationsUserStyleSetting pour modifier les complications, afin de vous assurer que l'OS reste synchronisé. (I8dc5d)
  • Renderer est maintenant une classe scellée. Cela signifie que CanvasRenderer et GlesRenderer sont désormais des classes internes de Renderer. (Iab5d4, b/173803230)
  • CanvasComplicationDrawable.drawHighlight a été renommé drawOutline. Il manque maintenant quelques annotations UiThread dans ObservableWatchData. ScreenState a été entièrement supprimé de WatchState. (If1393)
  • Le niveau d'API minimal pour wear-watchface est maintenant de 25. Notez que la compatibilité avec les canevas matériels nécessite une API de niveau 26 ou supérieur. (Ic9bbd)
  • InteractiveWatchFaceWcsClient dispose désormais d'un outil d'aide getComplicationIdAt. (I05811)
  • Le niveau d'API requis pour le client wear-watchface a été réduit à 25, mais les API de capture d'écran nécessitent le niveau d'API 27. (Id31c2)

Corrections de bugs

  • Nous affichons maintenant le ComplicationType actuel des ComplicationData de la complication dans ComplicationState. (I9b390)
  • InteractiveWatchFaceWcs dispose désormais d'une méthode bringAttentionToComplication permettant de mettre brièvement en évidence la complication spécifiée. (I6d31c)
  • InteractiveWatchFaceWcsClient#setUserStyle est désormais soumis à une surcharge qui accepte Map<string, string="">, ce qui peut potentiellement éviter un aller-retour IPC supplémentaire pour la construction de UserStyle. (I24eec)</string,>

Version 1.0.0-alpha03

2 décembre 2020

Publication d'androidx.wear:wear-*:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

La classe Complication dispose désormais d'une propriété complicationData qui permet aux cadrans d'observer les modifications apportées à ComplicationData. Cela permet de modifier les dimensions de la complication en fonction du type de complication.

Vous pouvez désormais attribuer des fréquences de frames variables à Renderer.interactiveDrawModeUpdateDelayMillis. Pour les cadrans qui exécutent de courtes animations chaque seconde, cela peut permettre préserver l'autonomie de la batterie grâce à leur mise en veille lorsqu'ils ne sont pas animés.

Modifications apportées à l'API

  • BACKGROUND_IMAGE et les classes associés ont été renommés PHOTO_IMAGE. Ce type de complication n'est pas exclusivement utilisé pour les arrière-plans, d'où le changement de nom. (I995c6)
  • Annotation correcte de DefaultComplicationProviderPolicy avec IntDefs. (I3b431)
  • La classe TimeDependentText masquée n'est plus exposée via ContentDescriptionLabel. Nous ajoutons un accesseur pour obtenir le texte à un moment précis. (Ica692)
  • Le constructeur de ObservableWatchData est désormais interne. (I30121, b/173802666)
  • Complication propose désormais complicationData, ce qui permet aux cadrans d'observer les modifications apportées à ComplicationData. Complication dispose également d'un nouvel appel isActiveAt qui peut être utilisé pour indiquer si quelque chose doit être affiché à la date et à l'heure fournies. (Ic0e2a)
  • Le SharedMemoryImage vide ne se trouve plus dans l'API publique. (I7ee17)
  • WatchFace.overridePreviewReferenceTimeMillis comporte désormais une annotation IntRange, et les fonctions getter et setter ont des noms cohérents. (Ia5f78)
  • Complication.Builder est désormais créé via Complication.createRoundRectComplicationBuilder ou Complication.createBackgroundComplicationBuilder pour plus de clarté. (I54063)
  • Ajout de WatchFace.TapListener, qui permet à WatchFace d'observer les pressions non consommées par des complications. (Ic2fe1, b/172721168)
  • WatchFace accepte désormais des fréquences de frames variables en les attribuant à Renderer.interactiveDrawModeUpdateDelayMillis. Cela permet de préserver l'autonomie de la batterie grâce à une mise en veille en dehors des animations. (I707c9)
  • WatchFace.Builder n'est plus nécessaire, et invalidate() et interactiveUpdateRateMillis ont été déplacés vers Renderer. (I329ea)
  • Pour une meilleure interopérabilité Java, les getters des propriétés booléennes dans WatchState ont été renommés (I6d2f1)
  • Par souci de cohérence, TapListener a été renommé TapCallback et InvalidateCallback a été renommé InvalidateListener. (I9414e)
  • Les options de style du cadran Wear 2.0 ont été rassemblées dans une classe distincte pour plus de clarté. Les setters de WatchFace.Builder ont maintenant des getters de classe WatchFace symétriques. (Iefdfc)
  • Ajout de InteractiveWatchFaceWcsClient et de WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, qui obtiennent une instance existante ou la créent une fois que le service de fond d'écran s'est connecté et a généré le moteur. (Id666e)
  • WatchFaceControlClient est désormais une interface permettant des tests de simulation. (I875d9)
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl et InteractiveWatchFaceWcsClient sont désormais des interfaces pour faciliter les tests. (I7cdc3)
  • Ajout d'annotations aux méthodes dans wear-watchface-complications-rendering (I0d65c)

Corrections de bugs

  • Suppression de la forme d'écran de DeviceConfig, car il s'agissait d'un doublon de android.content.res.Configuration#isScreenRound(). (Ifadf4)
  • Modification de WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient qui accepte désormais un Map<String, String> au lieu de UserStyle, car il est difficile de créer un UserStyle sans connaître le schéma que vous ne pouvez obtenir qu'après la création du client. (Iea02a)
  • Correction de InteractiveWatchFaceWcsClient qui utilise désormais ComplicationState au lieu du format de communication. (Icb8a4)
  • UserStyleSettings est désormais une classe scellée, car les éditeurs du cadran ne comprennent que les classes intégrées. (I2d797)

Version 1.0.0-alpha02

11 novembre 2020

Publication d'androidx.wear:wear-*:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Modifications apportées à l'API

  • ComplicationDetails s'appelle désormais ComplicationState et est correctement encapsulé. Les utilisations du @ComplicationData.ComplicationType de prise en charge des accessoires connectés ont été migrées vers le ComplicationType androidx. (I4dd36).
  • Ajout d'un paramètre highlightedComplicationId facultatif à RenderParameters, qui vous permet de demander la mise en surbrillance d'une seule complication dans les captures d'écran. (I66ce9)
  • ComplicationProviderService utilise désormais la nouvelle API de complication de style afin d'assurer la cohérence (Id5aea)
  • getPreviewReferenceTimeMillis reçoit désormais les heures de référence de DeviceConfig. (I779fe)
  • Simplification de la surface de l'API Renderer, vous pouvez utiliser SurfaceHolder.Callback pour observer les modifications. (I210db)
  • CanvasComplicationRenderer ne s'étend pas à partir de Renderer, il a été renommé à des fins de clarification. (Ibe880).

Corrections de bugs

  • Première version de androidx.wear:wear-watchface-client (I1e35e)
  • Modification du nom de GlesTextureComplication#renderer pour plus de clarté (Ib78f7)
  • StyleCategory a été renommé StyleSetting pour plus de clarté (I488c7)
  • Ajout de UserStyleSchema pour une API plus propre (If36f8)

Version 1.0.0-alpha01

28 octobre 2020

Publication d'androidx.wear:wear-complications-*:1.0.0-alpha01 et d'androidx.wear:wear-watchface-*:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Modifications apportées à l'API

  • Suppression de certains éléments que nous n'avions pas l'intention d'exposer dans l'API publique. (I41669)
  • Création de la bibliothèque androidx.wear:wear-complications-provider. (I77f1f)
  • ComplicationsUserStyleCategory : nouvelle catégorie recommandée pour la configuration des complications (I96909)
  • Ajout de l'API wear-complication-data. (I7c268)
  • Les fonctions avec des valeurs de retour booléennes se composent désormais du préfixe "is" plutôt que "get" (If36ff)
  • Une bonne pratique pour l'API consiste à éviter d'utiliser une protection afin que cette classe soit refactorisée pour intégrer des paramètres via le constructeur. (I61644)
  • setBackgroundComplication a été renommé pour plus de clarté. (I96fe3)
  • Utilisation des propriétés en Kotlin pour ComplicationDrawable isHighlighted et data (I4dcc8)
  • Nous avons ajouté Complication#invalidate() en remplacement de ComplicationRenderer.InvalidateCallback (I4f4c6).
  • Ces API sont abandonnées dans WearableSupport et supprimées. (Ib425c)
  • Certaines méthodes du compilateur WatchFace ont été renommées pour souligner leur origine, l'ancien environnement Wear 2.0. (Idb775)
  • Première candidature à la version bêta de l'API wear/wear-watchface (Id3981)
  • Première version de l'API suivie. (Ie9fe6)
  • IntDef de ComplicationDrawable.BorderStyle est masqué correctement et déplacé vers ComplicationStyle pour plus de cohérence (I27f7a)
  • Ajout d'annotations manquantes pour les méthodes ComplicationStyle (I838fd)
  • Cette bibliothèque ne comporte aucune surface d'API publique (I88e2b)
  • Toutes les classes Option de la catégorie Style sont désormais finalisées. (Ib8323)
  • Première version de l'API suivie. (I27c85)

Corrections de bugs

  • Modification de ComplicationProviderService afin de disposer d'une méthode getComplicationPreviewData explicite. (I4905f)
  • La vérification lint de l'API pour MissingGetterMatchingBuilder est activée pour androidx. (I4bbea, b/138602561)
  • wear-complications-rendering a été renommé. (Ifea02).
  • Les noms à afficher pour la catégories Style sont désormais des CharSequences (I28990)
  • Remplacement de Override par Overlay pour plus de cohérence avec les conventions de dénomination actuelles des thèmes et des styles. (I4fde9)
  • UserStyle#getOptions a été renommé pour plus de clarté. (I695b6)

Version 1.2.0

Version 1.2.0

15 septembre 2021

Publication d'androidx.wear:wear:1.2.0. Liste des commits de la version 1.2.0

Changements importants depuis la version 1.1.0

  • Ajout d'un composant CurvedText pour écrire facilement du texte incurvé qui suit la courbure du plus grand cercle pouvant être inscrit dans la vue. Exemple d'utilisation :

    <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"
    />
    

    Exemple de texte incurvé dans Android Wear

  • Ajout du conteneur ArcLayout pour disposer ses éléments enfant un par un sur un arc, dans le sens des aiguilles d'une montre ou dans le sens inverse des aiguilles d'une montre. Ses enfants peuvent être des widgets Android standards ou des widgets "courbés" qui implémentent l'interface ArcLayout.Widget. (I536da) Exemple d'utilisation :

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

    Exemple de texte courbé dans Android Wear

  • Ajout d'un conteneur de mise en page DismissibleFrameLayout, qui gère les actions back-button-dismiss (retour pour annuler) et/ou swipe-to-dismiss (balayer pour annuler), destinées à être utilisées dans une activité. Au moins un écouteur doit être ajouté pour gérer une action ignorer. Un écouteur supprime généralement une vue conteneur ou un fragment de l'activité en cours. Les commandes setSwipeDismissible(boolean) et setBackButtonDismissible(boolean) permettent un contrôle direct sur les fonctionnalités. Cette nouvelle mise en page est destinée à remplacer la mise en page SwipeDismissFrameLayout existante.

  • Ajout de la possibilité d'indiquer qu'une activité peut être "réactivée automatiquement" lorsque l'appareil quitte le mode ambiant dans la classe AmbientModeSupport. Cette fonctionnalité était auparavant disponible dans la classe WearableActivity obsolète de WearableSupportLibrary. (I336ab)

  • La classe WearableCalendarContract a été migrée depuis la bibliothèque Wearable Support. Cette API fournit un sous-ensemble des données disponibles via CalendarContract, mais est automatiquement synchronisée avec les accessoires connectés. (I6f2d7)

  • Ajout d'une API WearTypeHelper dans androidx.wear.utils pour déterminer si un appareil Wear donné est destiné à la Chine. (Ib01a9)

  • Ajout de fonctionnalités d'accessibilité à androidx.wear.widget.ConfirmationOverlay. Les messages sont lus à voix haute s'ils sont suivis d'une description de l'animation. (I524dd)

  • Correction d'un bug qui provoquait le plantage de ConfirmationActivity si aucun message n'était fourni. (Ie6055)

  • Correction d'un bug qui entraînait un affichage de toutes les interactions par WearableDrawerLayout dans les RecyclerViews à défilement horizontal. (I24c7f)

Version 1.2.0-rc01

1er septembre 2021

Publication d'androidx.wear:wear:1.2.0-rc01 sans modification par rapport à la dernière version bêta. Liste des commits de la version 1.2.0-rc01

Version 1.2.0-beta01

18 août 2021

Publication d'androidx.wear:wear:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01

Corrections de bugs

  • Correction du bug qui entraînait le plantage de ConfirmationActivity si aucun message n'était fourni. (Ie6055)

Version 1.2.0-alpha13

4 août 2021

Publication d'androidx.wear:wear:1.2.0-alpha13. Liste des commits de la version 1.2.0-alpha13

Modifications apportées à l'API

  • WearTypeHelper.isChinaDevice a renommé WearTypeHelper.isChinaBuild. (I47302)

Corrections de bugs

  • Nous avons ajouté des fonctionnalités d'accessibilité à androidx.wear.widget.ConfirmationOverlay. Les messages sont lus à voix haute s'ils sont suivis d'une description de l'animation. (I524dd)

Version 1.2.0-alpha12

21 juillet 2021

Publication d'androidx.wear:wear:1.2.0-alpha12. Liste des commits de la version 1.2.0-alpha12

Modifications apportées à l'API

  • Nous avons ajouté une nouvelle API WearTypeHelper dans androidx.wear.utils pour déterminer si l'appareil Wear donné est destiné à la Chine. (Ib01a9)

Version 1.2.0-alpha11

30 juin 2021

Publication d'androidx.wear:wear:1.2.0-alpha11. Liste des commits de la version 1.2.0-alpha11

Corrections de bugs

  • Correction d'un bug qui entraînait un affichage de toutes les interactions par WearableDrawerLayout dans les RecyclerViews à défilement horizontal. (I24c7f)

Version 1.2.0-alpha10

2 juin 2021

Publication d'androidx.wear:wear:1.2.0-alpha10. Liste des commits de la version 1.2.0-alpha10

Nouvelles fonctionnalités

  • Dans cette version, la prise en charge de l'accessibilité a été améliorée pour Curved Text et ArcLayouts. Des changements de dénominations mineurs ont également été apportés à DismissibleFrameLayout à des fins de clarifications de l'API.

Modifications apportées à l'API

  • Nous avons renommé les méthodes suivantes dans DismissibleFrameLayout (Ib195e) :
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Nous avons défini les méthodes suivantes comme finales (Ib195e) :
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Corrections de bugs

  • Utilisation du contenu de CurvedTextView dans Talkback (I05798)
  • Amélioration de l'accessibilité pour les vues normales dans un ArcLayout (I4418d)

Version 1.2.0-alpha09

18 mai 2021

Publication d'androidx.wear:wear:1.2.0-alpha09. Liste des commits de la version 1.2.0-alpha09

Modifications apportées à l'API

  • Ajout d'une fonction CurvedTextView.setTypeface() (semblable à celle de TextView) pour définir la police de caractères et le style gras/italique. (I4653c)
  • WearArcLayout a été renommé ArcLayout, WearCurvedText a été renommé CurvedText et WearArcLayout.ArcLayoutWidget a été renommé ArcLayout.Widget. (I6e5ce)
    • Dans ArcLayout.Widget, getThicknessPx a été renommé getThickness.
    • Le nom des constantes d'alignement vertical pour ArcLayout.LayoutParams commence désormais par VERTICAL_ALIGN_ (au lieu de VALIGN_)
  • Dans la CurvedTextView, les méthodes setMinSweepDegrees et setMaxSweepDegrees ont été remplacées par setSweepRangeDegrees (I7a9d9).

Version 1.2.0-alpha08

5 mai 2021

Publication d'androidx.wear:wear:1.2.0-alpha08. Liste des commits de la version 1.2.0-alpha08

Modifications apportées à l'API

  • Pour plus de clarté, nous avons ajouté des annotations @FloatRange à certains paramètres d'angle et types de renvois. (I430dd)
  • Dans l'interface WearArcLayout.ArcLayoutWidget, la méthode insideClickArea s'appelle désormais isPointInsideClickArea. (Ia7307)

Version 1.2.0-alpha07

24 mars 2021

Publication d'androidx.wear:wear:1.2.0-alpha07. Liste des commits de la version 1.2.0-alpha07

Corrections de bugs

  • Correction d'erreurs liées à des enfants non incurvés dans WearArcLayout, causées par l'utilisation d'une taille d'écran dont la hauteur était supérieure à la largeur. Ces enfants non incurvés sont désormais correctement placés dans un arc sur tous les types d'écrans.

Version 1.2.0-alpha06

27 janvier 2021

Publication d'androidx.wear:wear:1.2.0-alpha06. Liste des commits de la version 1.2.0-alpha06

Modifications apportées à l'API

  • Migration de la bibliothèque Ongoing Activities vers une nouvelle sous-bibliothèque : wear-ongoing. Les classes se trouvent désormais dans le package androidx.wear.ongoing (auparavant appelé androidx.wear.ongoingactivities) (I7c029)
  • Migration de la classe WearableCalendarContract de la bibliothèque Wearable Support vers AndroidX. Cette API fournit un sous-ensemble des données disponibles via CalendarContract, mais est automatiquement synchronisée avec les accessoires connectés. (I6f2d7)

Corrections de bugs

  • Désactivation de la fonctionnalité par défaut "Ignorer" du bouton "Retour" dans Dismissible FrameLayout, car swipe-to-dismiss reste le moyen principal de revenir en plein écran sur les accessoires connectés (Ic24e3)
  • Correction de problèmes de gestion de la visibilité des enfants sur WearArcLayout (Icf912)

Version 1.2.0-alpha05

13 janvier 2021

Publication d'androidx.wear:wear:1.2.0-alpha05. Liste des commits de la version 1.2.0-alpha05

Corrections de bugs

  • Mise à jour de la javadoc de la classe AmbientModeSupport pour fournir des exemples d'extraits de code permettant de mieux illustrer son utilisation générale.

Version 1.2.0-alpha04

16 décembre 2020

Publication d'androidx.wear:wear:1.2.0-alpha04. Liste des commits de la version 1.2.0-alpha04

Modifications apportées à l'API

  • Ajout de la possibilité d'indiquer qu'une activité peut être "réactivée automatiquement" lorsque l'appareil quitte le mode ambiant dans la classe AmbientModeSupport. Cette fonctionnalité était auparavant disponible dans la classe WearableActivity obsolète de WearableSupportLibrary. (I336ab)
  • OngoingActivity
    • La catégorie peut désormais être définie lors de la création d'une OngoingActivity. Exemple : OngoingActivitiy.Builder.getCategory(String)
    • OngoingActivityData comprend désormais un code temporel indiquant le moment de la création de l'OngoingActivity (OngoingActivityData.getTimestamp()).
    • (I91cb4)
  • Ajout de la possibilité de définir des marges sur les enfants de WearArcLayout, en modifiant les paramètres de mise en page pour étendre MarginLayoutParams. Par exemple, WearArcLayout.LayoutParams étend android.view.ViewGroup.MarginLayoutParams. (I2cd88)
  • Le type d'ancrage de WearCurvedTextView par défaut est désormais WearArcLayout.ANCHOR_CENTER (au lieu de WearArcLayout.ANCHOR_START). Cela simplifie la coordination entre la mise en page en arc et le texte incurvé. En effet, par défaut, le texte incurvé se dessine lui-même au centre de l'axe X en haut, et la mise en page de l'arc parent peut le faire pivoter là où il doit être. (I105ff)

Version 1.2.0-alpha03

2 décembre 2020

Publication d'androidx.wear:wear:1.2.0-alpha03. Liste des commits de la version 1.2.0-alpha03

Nouvelles fonctionnalités

Ajout d'un nouveau conteneur de mise en page DismissibleFrameLayout, qui gère les actions back-button-dismiss et/ou swipe-to-dismiss, destinées à être utilisées dans une activité. Au moins un écouteur doit être ajouté pour gérer une action ignorer. Un écouteur supprime généralement une vue conteneur ou un fragment de l'activité en cours. Les commandes setSwipeDismissible(boolean) et setBackButtonDismissible(boolean) permettent un contrôle direct sur les fonctionnalités. Cette nouvelle mise en page est destinée à remplacer la mise en page SwipeDismissFrameLayout existante.

Les widgets incurvés gèrent désormais les événements tactiles. Les widgets normaux d'une mise en page WearArcLayout recevront tous les événements tactiles, mappés à leur espace de coordonnées. WearCurvedTextView (au sein d'une mise en page WearArcLayout ou non) peut définir des gestionnaires onClick et onLongClick.

Les classes d'activités Ongoing sont désormais des VersionedParcelables au lieu d'utiliser la (dé)sérialisation personnalisée. L'icône statique et l'intent tactile sont désormais obligatoires.

Modifications apportées à l'API

  • L'attribut sweepDegrees pour WearCurvedTextView est divisé en deux attributs, minSweepDegrees et maxSweepDegrees, pour permettre une mise en page plus flexible à ce widget.

Version 1.2.0-alpha02

11 novembre 2020

Publication d'androidx.wear:wear:1.2.0-alpha02. Liste des commits de la version 1.2.0-alpha02

Cette version introduit la première API Ongoing Activities. Les développeurs peuvent utiliser cette API pour signaler qu'une activité de longue durée, comme un exercice de fitness ou une session de lecture de contenus multimédias, est en cours. Elle permet aux développeurs de fournir des mises à jour périodiques de l'état, telles que "distance et durée de course" ou "lecture de la piste en cours" afin de les afficher sur le cadran ou dans le lanceur d'applications. Cette fonctionnalité cible les futurs appareils sur lesquels la fonctionnalité Activité en cours sera activée.

Modifications apportées à l'API

  • Nouvelle API pour les activités en cours, il s'agit d'une opération no-op sur les "appareils non compatibles". (I69a31)

Version 1.2.0-alpha01

28 octobre 2020

Publication d'androidx.wear:wear:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01

Nouvelles fonctionnalités

  • Ajout du composant WearCurvedTextView pour écrire facilement du texte incurvé qui suit la courbure du plus grand cercle pouvant être inscrit dans la vue. Exemple d'utilisation :
<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"
/>

Exemple de texte incurvé dans Android Wear

  • Ajout du conteneur WearArcLayout pour disposer ses éléments enfant un par un sur un arc, dans le sens des aiguilles d'une montre ou dans le sens inverse des aiguilles d'une montre. Ses enfants peuvent être des widgets Android standards ou des widgets "courbés" qui implémentent son interface ArcLayoutWidget. Exemple d'utilisation :
<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>

Exemple de texte courbé dans Android Wear

(I536da)

Wear-Input 1.2

Version 1.2.0-alpha02

29 septembre 2021

Publication d'androidx.wear:wear-input:1.2.0-alpha02 et d'androidx.wear:wear-input-testing:1.2.0-alpha02. Liste des commits de la version 1.2.0-alpha02

Modifications apportées à l'API

  • disallowEmoji a été renommé setEmojisAllowed dans WearableRemoteInputExtender pour indiquer si l'option de dessin des emoji sera affichée. (I28393)

Version 1.2.0-alpha01

15 septembre 2021

Publication d'androidx.wear:wear-input:1.2.0-alpha01 et d'androidx.wear:wear-input-testing:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01

Modifications apportées à l'API

  • Toutes les constantes d'emplacement du bouton ont été exposées depuis WearableButtons. (Ibb12c)
  • Ajout de la classe WearableRemoteInputExtender permettant d'ajouter des extras spécifiques à Wear à android.app.RemoteInput. (I01903)

Wear-Input 1.1.0

Version 1.1.0

18 août 2021

Publication d'androidx.wear:wear-input:1.1.0 et d'androidx.wear:wear-input-testing:1.1.0. Liste des commits de la version 1.1.0

Modifications importantes depuis la version 1.0.0

  • RemoteInputIntentHelper a été ajouté.
    • Cette classe peut être utilisée pour créer un intent RemoteInput. Elle peut ensuite être utilisée pour demander à vos utilisateurs une entrée dans une activité personnalisable.

Version 1.1.0-rc01

4 août 2021

Publication d'androidx.wear:wear-input:1.1.0-rc01 et d'androidx.wear:wear-input-testing:1.1.0-rc01. Liste des commits de la version 1.1.0-rc01

Aucune modification de l'API depuis les versions androidx.wear:wear-input:1.1.0-beta01 et androidx.wear:wear-input-testing:1.1.0-beta01

Version 1.1.0-beta01

21 juillet 2021

Publication d'androidx.wear:wear-input:1.1.0-beta01 et d'androidx.wear:wear-input-testing:1.1.0-beta01 sans modification par rapport à la version 1.1.0-alpha03. Liste des commits de la version 1.1.0-beta01

Version 1.1.0-alpha03

30 juin 2021

Publication d'androidx.wear:wear-input:1.1.0-alpha03 et d'androidx.wear:wear-input-testing:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Corrections de bugs

  • Correction d'un bug qui provoquait le rejet des intents RemoteInput, auxquels des RemoteInput étaient ajoutés via RemoteInputHelper.putRemoteInputsExtra.

Version 1.1.0-alpha02

18 mai 2021

Publication d'androidx.wear:wear-input:1.1.0-alpha02 et d'androidx.wear:wear-input-testing:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Modifications apportées à l'API

  • Les méthodes RemoteInputIntentHelper utilisées pour obtenir ou placer des éléments supplémentaires qui représentent les titres, les annulations, les confirmations et les libellés en cours utilisent désormais CharSequence au lieu de String pour ces libellés. (I0e71f)

Version 1.1.0-alpha01

27 janvier 2021

Publication d'androidx.wear:wear-input:1.1.0-alpha01 et d'androidx.wear:wear-input-testing:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Modifications apportées à l'API

  • Migration de la classe RemoteInputIntent de la bibliothèque Wearable Support vers AndroidX. La classe migrée est renommée RemoteInputIntentHelper. Elle fournit des fonctions d'assistance permettant de gérer les entrées à distance en démarrant un intent. (I47cee)

Wear-Input 1.0.0

Version 1.0.0

2 décembre 2020

Publication d'androidx.wear:wear-input:1.0.0 et d'androidx.wear:wear-input-testing:1.0.0. Liste des commits de la version 1.0.0

Cette version est identique à 1.0.0-rc01.

Principales fonctionnalités de la version 1.0.0

  • Migration de la fonctionnalité WearableButtons depuis la bibliothèque Wearable Support vers Jetpack.

  • Ajout de androidx.wear.input.test.TestWearableButtonsProvider, qui implémente androidx.wear.input.WearableButtonsProvider pour faciliter le test des applications développées avec la bibliothèque androidx.wear:wear-input.

Version 1.0.0-rc01

11 novembre 2020

Publication d'androidx.wear:wear-input:1.0.0-rc01 et d'androidx.wear:wear-input-testing:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01

Cette version est identique à la version 1.0.0-beta01.

Version 1.0.0-beta01

28 octobre 2020

Publication d'androidx.wear:wear-input:1.0.0-beta01 et d'androidx.wear:wear-input-testing:1.0.0-beta01 sans modification par rapport à la version 1.1.0-alpha01. Liste des commits de la version 1.0.0-beta01

Wear-Input-Testing version 1.0.0-alpha01

14 octobre 2020

Publication d'androidx.wear:wear-input-testing:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Modifications apportées à l'API

  • Ajout de androidx.wear.input.test.TestWearableButtonsProvider, qui implémente androidx.wear.input.WearableButtonsProvider pour faciliter le test des applications développées avec la bibliothèque androidx.wear:wear-input. (I0ed0c)

Wear-Input version 1.0.0-alpha01

2 septembre 2020

Publication d'androidx.wear:wear-input:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

Migration de la fonctionnalité WearableButtons depuis la bibliothèque Wearable Support vers Jetpack. Des tests supplémentaires seront disponibles dans la bibliothèque androidx.wear:wear-input-testing dans la prochaine version de Jetpack.

Version 1.1.0

Version 1.1.0

14 octobre 2020

Publication d'androidx.wear:wear:1.1.0. Liste des commits de la version 1.1.0

Principales modifications depuis la version 1.0.0

  • Ajout d'un préfixe layout_ à l'attribut boxedEdges (désormais layout_BoxedEdges) pour BoxInsetLayout afin de respecter la convention de dénomination d'Android. Cela supprimera l'erreur linter dans Android Studio pour ces attributs. (I4272f)
  • Ajout d'un élément facultatif, EXTRA_ANIMATION_DURATION_MILLIS, à ConfirmationActivity pour permettre l'affichage de la boîte de dialogue de confirmation. (adb83ce, b/143356547).
  • Mise à jour de WearableActionDrawView pour retarder le gonflement du panneau de commandes jusqu'à ce qu'il soit ouvert pour la première fois. (I01026, b/163870541)

Version 1.1.0-rc03

2 septembre 2020

Publication d'androidx.wear:wear:1.1.0-rc03. Liste des commits de la version 1.1.0-rc03

Corrections de bugs

  • Résolution du problème lié au panneau des commandes qui n'affichait pas le contenu lorsqu'il était ouvert. (I01026, b/163870541)

Version 1.1.0-rc02

24 juin 2020

Publication d'androidx.wear:wear:1.1.0-rc02. Liste des commits de la version 1.1.0-rc02

Corrections de bugs

  • Ajout d'un préfixe layout_ à l'attribut boxedEdges (désormais layout_boxedEdges) pour BoxInsetLayout afin de respecter la convention de dénomination d'Android. Cela supprimera l'erreur linter dans Android Studio pour ces attributs.

Version 1.1.0-rc01

14 mai 2020

Publication d'androidx.wear:wear:1.1.0-rc01 sans aucune modification par rapport à la version .1.0-beta01. Liste des commits de la version 1.1.0-rc01

Version 1.1.0-beta01

29 avril 2020

Publication d'androidx.wear:wear:1.1.0-beta01 sans aucune modification par rapport à la version androidx.wear:wear:1.1.0-alpha01. Liste des commits de la version 1.3.0-beta01

Version 1.1.0-alpha01

15 avril 2020

Publication d'androidx.wear:wear:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Modifications apportées à l'API

  • Ajout d'un élément facultatif, EXTRA_ANIMATION_DURATION_MILLIS, à ConfirmationActivity pour permettre l'affichage de la boîte de dialogue de confirmation. (adb83ce, 134523c, b/143356547)

Corrections de bugs

  • Mise à jour de WearableActionDrawView pour retarder le gonflement du panneau de commandes jusqu'à ce qu'il soit ouvert pour la première fois. (5cd32f7)