Cette fonctionnalité permet aux partenaires de choisir comment synchroniser l'heure, qu'il s'agisse d'appareils Android Automotive Operating System (AAOS) ou depuis des systèmes automobiles vers Android. Pour garantir des implémentations de qualité, vous pouvez configurer AAOS afin d'utiliser l'une des deux nouvelles propriétés VHAL décrites ci-dessous pour propager efficacement les valeurs. Utilisez :
ANDROID_EPOCH_TIME
pour utiliser Android comme source de référence pour le temps. Le VHAL accepte cette propriété en écriture seule, qui communique les changements d'heure. d'Android vers d'autres systèmes automobiles, tels que les unités de commande électronique et le module de contrôle du corps (BCM).EXTERNAL_CAR_TIME
pour ne pas utiliser Android comme source pour le temps. Dans ce cas, le VHAL est compatible avec l'API read-onlyEXTERNAL_CAR_TIME
, qui communique les changements d'heure par d'autres véhicules (processeurs ECU et BCM, par exemple) vers Android.
AAOS fournit également un TimeDetectorStrategy
configurable pour vous aider à hiérarchiser
différentes sources
de temps dans Android.
Android est la source d'informations fiables pour le temps
Lorsque Android est utilisé comme source de temps, les OEM peuvent synchroniser d'autres systèmes du véhicule (y compris ECU et BCM) avec l'heure Android.
Pour ce faire, l'implémentation VHAL doit accepter la propriété write-only (écriture seule).
ANDROID_EPOCH_TIME
. Android publie une mise à jour de la propriété en lisant
l'heure système, à la fois au démarrage et chaque fois que la source horaire dans Android est modifiée.
Android n'est pas la source de référence pour le temps
Lorsqu'Android n'est pas utilisé comme source de temps, vous pouvez synchroniser l'heure Android
comme source de référence pour le temps (par exemple, dans le cas d'une unité de calcul de calcul ou de BCM). Dans ce cas,
L'implémentation VHAL doit accepter la propriété en lecture seule EXTERNAL_CAR_TIME
et publier
met à jour cette propriété chaque fois que la source de l'heure change ou recalibre l'horloge.
Les OEM doivent également s'assurer que:
- Les valeurs
config_autoTimeSourcesPriority
sont contenues danscore/res/res/values/config.xml
- La propriété
config_enableExternalCarTimeToExternalTimeSuggestion
dans Configurations de superposition CarServicespackages/services/Car/service/res/values/config.xml
est défini surtrue
. external
a la priorité appropriée dans le Configuration deTimeDetectorStrategy
. Pour en savoir plus, consultez Détection de l'heure GNSS : Exemple :<!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list take precedence over lower ones. See com.android.server.timedetector.TimeDetectorStrategy for available sources. --> <string-array name="config_autoTimeSourcesPriority"> <item>external</item> <item>gnss</item> <item>network</item> <item>telephony</item> </string-array>
Détails de l'implémentation interne Android
Le flux suivant a lieu lorsque la propriété VHAL ANDROID_EPOCH_TIME
est
compatibles:
TimeHalService
(dans CarServices) reçoit une annonce du système Android pourIntent.ACTION_TIME_CHANGED
TimeHalService
publie une mise à jour de la propriété VHALANDROID_EPOCH_TIME
- Le VHAL peut propager la valeur de temps reçue à plusieurs ECU et/ou unités BCM.
Le flux suivant a lieu lorsque la propriété VHAL EXTERNAL_CAR_TIME
est
compatibles:
- VHAL met à jour la propriété
EXTERNAL_CAR_TIME
. TimeHalService
(dans CarServices) lit la propriété via un abonnement.TimeHalService
crée et envoie unExternalTimeSuggestion
àTimeManager
TimeManager
transmet la suggestion àTimeDetectorService
.TimeDetectorService
utiliseTimeDetectorStrategy
pour choisir un nouveau l'heure système.