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