Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.widget
androidx.wear.widget.drawer
(Voir les références pour tous les packages Wear)
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 | - | - | - |
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.
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 utiliserLifecycleObserver
. Abandon deAmbientModeSupport
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èmeView
afin de corriger les erreurs lors de l'utilisation deFragmentContainerView
- 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
surArcLayout
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 appelantAmbientLifecycleObserver(...)
.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 utiliserLifecycleObserver
. Abandon deAmbientModeSupport
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 deFragmentContainerView
. (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é unMaxAngleDegrees
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 desetSweepAngleDegrees
, ce qui permet d'utiliserArcLayout
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
surArcLayout
(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êtesOAuthRequest
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é versErrorCode
(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
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 deBridgingManager
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
etBridgingConfig
, 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'autorisationPOST_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éeRemoteActivityHelper
. Les fonctionsRemoteIntentHelper#getRemoteIntentExtraIntent
etRemoteIntentHelper#getRemoteIntentNodeId
ont été renommées respectivementRemoteActivityHelper#getTargetIntent
etRemoteActivityHelper#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 duOngoingActivity
OngoingActivityData
etOngoingActivityStatus
ne sont plus incluses dans l'API publique.
- La nouvelle classe
Les classes
TextStatusPart
etTimerStatusPart
ne sont plus incluses dans l'API publique. (I57fb6)- Pour créer un
Part
avec du texte statique, utilisezStatus.TextPart
. - Pour créer un
Part
avec un chronomètre (compte en avant), utilisezStatus.Stopwatch
. - Pour créer une
Part
avec un minuteur (compte à rebours), utilisezStatus.Timer
- Pour créer un
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éthodeandroidx.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 deMap<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é paronTapEvent(@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êtesrenderWatchFaceToBitmap
ouPreviewScreenshotParams
, 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 wrapperListenableFuture
pourWatchFaceMetadataClient.createWatchFaceMetadataClient
. (I5fa37) UserStyleOption.getOptionForId
accepte désormaisUserStyleOption.Id
au lieu d'un tableau d'octets. (I469be)- Fournit les constantes
BooleanOption.TRUE
etBooleanOption.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
encreateOnWatchEditorSession
, etcreateHeadlessEditingSession
est désormaiscreateHeadlessEditorSession
. Leurs wrappers guava ont également été renommés. (I1526b) EditorSession
est désormais une interface etListenableEditorSession.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 accepteUserStyleSetting.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èqueandroidx.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é versRenderParameters.pressedComplicationSlotIds
. Il s'agit d'une étape du processus visant à rendreCanvasComplication
sans état. Pour prendre en charge cette modification,CanvasComplication.render
utilise désormais égalementslotId
comme paramètre et nous transmettons maintenant leComplicationSlot
à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 queUserStyleSchema
et des informations fixes surComplicationSlots
. (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
etmakeBackgroundThreadContextCurrent
ont été remplacés respectivement parrunUiThreadGlCommands
etrunBackgroundThreadGlCommands
, qui acceptent tous les deux unRunnable
. 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 entreRenderer
etCanvasComplication
.Pour plus de clarté, nous avons renommé
Complication
enComplicationSlot
etcomplicationId
encomplicationSlotId
oucomplicationInstanceId
, selon l'utilisation.
Modifications apportées à l'API
- Pour plus de clarté, nous avons renommé
Complication
enComplicationSlot
, etcomplicationId
encomplicationSlotId
oucomplicationInstanceId
, 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
etmakeBackgroundThreadContextCurrent
ont été remplacés parrunUiThreadGlCommands
etrunBackgroundThreadGlCommands
, qui acceptent tous deux unRunnable
. Ces fonctions ne sont utiles que si vous devez effectuer des appels GL en dehors de l'affichage,runBackgroundThreadGlCommands
etonUiThreadGlSurfaceCreated
. 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
enonBackgroundThreadGlContextCreated
, etonGlSurfaceCreated
enonUiThreadGlSurfaceCreated
. (If86d0) HeadlessWatchFaceClient
etInteractiveWatchFaceClient
getComplicationsSlotState
ont été renommésgetComplicationSlotsState
. DansComplicationSlot
:createRoundRectComplicationBuilder
,createBackgroundComplicationBuilder
etcreateEdgeComplicationBuilder
ont été renommés respectivementcreateRoundRectComplicationSlotBuilder
,createBackgroundComplicationSlotBuilder
etcreateEdgeComplicationSlotBuilder
. (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
eteglDisplay
ne peuvent plus avoir une valeur nulle. Toutes les erreurs GL sont désormais signalées viaGlesRenderer.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
deShortTextComplicationData.Builder
,LongTextComplicationData.Builder
etRangedValueComplicationData.Builder
. SiComplicationText.EMPTY
est transmis pourcontentDescription
, uncontentDescription
est automatiquement généré à partir du texte et du titre.WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
génère désormaisServiceStartFailureException
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
deTimeDifferenceComplicationText.Builder
ensetMinimalTimeUnit
. (I20c64) - Nous avons rendu obligatoire la transmission dans le constructeur du champ
contentDescription
deShortTextComplicationData.Builder
,LongTextComplicationData.Builder
etRangedValueComplicationData.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
deComplicationData
et exposé le champvalidTimeRange
à la place. Cet appel de méthode peut être remplacé parvalidTimeRange.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
dePhotoImageComplicationData.Builder
,MonochromaticImageComplicationData.Builder
etSmallImageComplicationData.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
etComplicationHighlightRenderer
verswear-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
etComplication.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
etLongRangeUserStyleSetting
:defaultValue
,maximumValue
etminimumValue
sont désormais des propriétés en kotlin. En outre, les fonctionsUserStyleSetting.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ètresoutlineExpansion
etoutlineStrokeWidth
. (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
etInteractiveWatchFaceSysUiClient
ont été fusionnés dansInteractiveWatchFaceClient
.
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 viaDefaultComplicationProviderPolicy
(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 classeUserStyleData
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ésormaisbyte[]
au lieu deString
. (Iaa103) UserStyleSetting
etUserStyleSetting.Option
utilisent désormais respectivementUserStyleSetting.Id
etUserStyleSetting.Option.Id
pour archiver leurs ID au lieu d'une chaîne. (I63f72)InteractiveWatchFaceClient.SystemState
a été renomméWatchUiState
. (I6a4e0)InteractiveWatchFaceWcsClient
etInteractiveWatchFaceSysUiClient
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 maintenantLayer#COMPLICATIONS_OVERLAY
etLayer#BASE_LAYER
est maintenantLayer#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()
etHeadlessWatchFaceClient.createFromBundle
pour permettre l'envoi deHeadlessWatchFaceClient
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éegetOrCreateInteractiveWatchFaceClient
. (Ib745d)EditorState.commitChanges
ethasCommitChanges()
ont été renommésshouldCommitChanges()
. (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 avecComplicationsManager.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éecomplicationsState
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
etWatchFaceControlClient
. (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
parCountUpTimeReference
etCountDownTimeReference
, 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 surBundle.EMPTY
. (Iad04f)GlesRenderer
nécessite désormais d'appelerinitOpenGLContext
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 viaComplicationsUserStyleSetting
. (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 commandeupdateInstance
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 commandeupdateInstance
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 correctementListenableFuture<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ésPHOTO_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éé viaComplication.createRoundRectComplicationBuilder
ouComplication.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 unMap<String, String>
au lieu deUserStyle
, car il est difficile de créer unUserStyle
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ésormaisComplicationState
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ésormaisComplicationState
et est correctement encapsulé. Les utilisations du@ComplicationData.ComplicationType
de prise en charge des accessoires connectés ont été migrées vers leComplicationType
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 deDeviceConfig
. (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 deRenderer
, 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" />
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>
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
dansandroidx.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
dansandroidx.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 deTextView
) pour définir la police de caractères et le style gras/italique. (I4653c) WearArcLayout
a été renomméArcLayout
,WearCurvedText
a été renomméCurvedText
etWearArcLayout.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 parVERTICAL_ALIGN_
(au lieu deVALIGN_
)
- Dans
- Dans la
CurvedTextView
, les méthodessetMinSweepDegrees
etsetMaxSweepDegrees
ont été remplacées parsetSweepRangeDegrees
(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éthodeinsideClickArea
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)
- La catégorie peut désormais être définie lors de la création d'une OngoingActivity. Exemple :
- 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 deWearArcLayout.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"
/>
- 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>
(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
dansWearableRemoteInputExtender
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 viaRemoteInputHelper.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ésormaisCharSequence
au lieu deString
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émenteandroidx.wear.input.WearableButtonsProvider
pour faciliter le test des applications développées avec la bibliothèqueandroidx.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émenteandroidx.wear.input.WearableButtonsProvider
pour faciliter le test des applications développées avec la bibliothèqueandroidx.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ésormaislayout_BoxedEdges
) pourBoxInsetLayout
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ésormaislayout_boxedEdges
) pourBoxInsetLayout
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)