這項功能可讓合作夥伴選擇如何透過 Android 裝置同步處理時間 Automotive 作業系統 (AAOS)「或」從車輛系統到 Android。 為確保實作品質,您可以將 AAOS 設為使用兩種新的 VHAL 屬性之一 才能有效傳播值。您可以使用下列功能:
ANDROID_EPOCH_TIME
:使用 Android 做為可靠資料來源 時間。VHAL 支援這個「唯寫」屬性,用來傳達時間變更 從 Android 移動到其他車輛系統 例如電子控制裝置 (ECU) 與身體控制模組 (BCM)。EXTERNAL_CAR_TIME
:不要使用 Android 做為來源 但卻十分龐大在這種情況下,VHAL 支援唯讀EXTERNAL_CAR_TIME
屬性,用來傳送其他車輛的時間變化 系統 (例如 ECU 和 BCM) 遷移至 Android。
AAOS 也提供可設定的 TimeDetectorStrategy
,可協助您排定優先順序
提供不同的時間來源
Android 是可靠資訊來源
如果使用 Android 做為時間來源,原始設備製造商 (OEM) 就能同步處理其他車輛系統 (包括 ECU 和 BCM)。
為此,VHAL 實作必須支援 write-only 屬性
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
屬性 CarServices 疊加層設定packages/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 內部實作詳細資料
ANDROID_EPOCH_TIME
VHAL 屬性出現以下情形時,將執行以下流程
支援:
TimeHalService
(位於 CarServices 中) 收到來自 Android 系統的廣播訊息Intent.ACTION_TIME_CHANGED
。TimeHalService
將更新發布至 VHAL 屬性ANDROID_EPOCH_TIME
。- VHAL 可將接收到的時間值傳播至各種 ECU 和/或 BCM 單位。
EXTERNAL_CAR_TIME
VHAL 屬性出現以下情形時,將執行以下流程
支援:
- VHAL 會更新
EXTERNAL_CAR_TIME
屬性。 TimeHalService
(位於 CarServices 中) 透過訂閱讀取屬性。TimeHalService
會建立ExternalTimeSuggestion
並傳送至TimeManager
。TimeManager
將建議轉寄至TimeDetectorService
。TimeDetectorService
會使用TimeDetectorStrategy
選擇新的 也就是系統時間