תכונה זו מאפשרת לשותפים לבחור כיצד לסנכרן זמן, בין אם ממערכת ההפעלה Android Automotive (AAOS) או ממערכות רכב לאנדרואיד. כדי להבטיח יישומים איכותיים, אתה יכול להגדיר את AAOS להשתמש באחד משני מאפייני ה-VHAL החדשים המתוארים להלן כדי להפיץ את הערכים ביעילות. להשתמש:
-
ANDROID_EPOCH_TIME
כדי להשתמש באנדרואיד כמקור האמת לזמן. ה-VHAL תומך במאפיין זה לכתיבה בלבד , אשר מתקשר לשינויי זמן מאנדרואיד למערכות כלי רכב אחרות, כגון יחידות הבקרה האלקטרוניות (ECU) ומודול בקרת הגוף (BCM). -
EXTERNAL_CAR_TIME
כדי לא להשתמש באנדרואיד כמקור האמת לזמן. במקרה זה, ה-VHAL תומך במאפייןEXTERNAL_CAR_TIME
לקריאה בלבד , אשר מתקשר לשינויי זמן ממערכות רכב אחרות (כגון ECUs ו-BCM) לאנדרואיד.
AAOS מספקת גם אסטרטגיית TimeDetectorStrategy
הניתנת להגדרה כדי לעזור לך לתעדף מקורות זמן שונים בתוך אנדרואיד.
אנדרואיד הוא מקור האמת לזמן
כאשר אנדרואיד משמשת כמקור הזמן, יצרני OEM יכולים לסנכרן מערכות רכב אחרות (כולל ECU ו-BCM) עם זמן אנדרואיד.
לשם כך, יישום VHAL חייב לתמוך במאפיין הכתיבה בלבד ANDROID_EPOCH_TIME
. אנדרואיד מפרסמת עדכון לנכס על ידי קריאת זמן המערכת, הן בזמן האתחול והן בכל פעם שמקור הזמן באנדרואיד משתנה.
אנדרואיד אינו מקור האמת לזמן
כאשר אנדרואיד לא משמש כמקור הזמן, אתה יכול לסנכרן את זמן אנדרואיד כדי להיות מקור האמת לזמן (לדוגמה, עם ECU או BCM). במקרה זה, יישום VHAL חייב לתמוך במאפיין לקריאה בלבד EXTERNAL_CAR_TIME
ולפרסם עדכונים למאפיין זה בכל פעם שמקור הזמן משתנה או מכייל מחדש את השעון.
יצרני OEM חייבים גם להבטיח כי:
- ערכי
config_autoTimeSourcesPriority
כלולים ב-core/res/res/values/config.xml
. - המאפיין
config_enableExternalCarTimeToExternalTimeSuggestion
בשכבת העל CarServices configspackages/services/Car/service/res/values/config.xml
מוגדר כ-true
. - לזמן
external
יש את העדיפות המתאימה בתצורתTimeDetectorStrategy
. למידע נוסף, ראה זיהוי זמן GNSS . לדוגמה:<!-- 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>
פרטי הטמעה פנימית של אנדרואיד
הזרימה הבאה מתרחשת כאשר המאפיין ANDROID_EPOCH_TIME
VHAL נתמך:
-
TimeHalService
(ב-CarServices) מקבל שידור ממערכת אנדרואיד עבורIntent.ACTION_TIME_CHANGED
. -
TimeHalService
מפרסם עדכון לנכס VHALANDROID_EPOCH_TIME
. - ה-VHAL יכול להפיץ את ערך הזמן המתקבל ליחידות ECU ו/או BCM שונות.
הזרימה הבאה מתרחשת כאשר המאפיין EXTERNAL_CAR_TIME
VHAL נתמך:
- VHAL מעדכן את המאפיין
EXTERNAL_CAR_TIME
. -
TimeHalService
(ב-CarServices) קורא את הנכס באמצעות מנוי. -
TimeHalService
יוצר ושולחExternalTimeSuggestion
ל-TimeManager
. -
TimeManager
מעביר את ההצעה ל-TimeDetectorService
. -
TimeDetectorService
משתמשTimeDetectorStrategy
כדי לבחור זמן מערכת חדש.