ฟีเจอร์นี้ช่วยให้พาร์ทเนอร์เลือกวิธีซิงค์เวลาได้ ไม่ว่าจะเป็นจาก Android Automotive Operating System (AAOS) หรือจากระบบยานพาหนะไปยัง Android คุณสามารถกําหนดค่า AAOS ให้ใช้พร็อพเพอร์ตี้ VHAL ใหม่ 1 ใน 2 รายการที่อธิบายไว้ด้านล่างเพื่อเผยแพร่ค่าอย่างมีประสิทธิภาพ เพื่อให้การติดตั้งใช้งานมีคุณภาพ ใช้:
ANDROID_EPOCH_TIME
เพื่อใช้ Android เป็นแหล่งข้อมูลที่ถูกต้องสำหรับเวลา VHAL รองรับพร็อพเพอร์ตี้เขียนอย่างเดียวนี้ ซึ่งจะสื่อสารการเปลี่ยนแปลงเวลาจาก Android ไปยังระบบอื่นๆ ของยานพาหนะ เช่น หน่วยควบคุมอิเล็กทรอนิกส์ (ECU) และโมดูลควบคุมระบบต่างๆ ของรถ (BCM)EXTERNAL_CAR_TIME
เพื่อไม่ใช้ Android เป็นแหล่งข้อมูลที่เชื่อถือได้สำหรับเวลา ในกรณีนี้ VHAL จะรองรับพร็อพเพอร์ตี้EXTERNAL_CAR_TIME
แบบอ่านอย่างเดียว ซึ่งจะสื่อสารการเปลี่ยนแปลงเวลาจากระบบอื่นๆ ของยานพาหนะ (เช่น ECU และ BCM) ไปยัง Android
นอกจากนี้ AAOS ยังมีTimeDetectorStrategy
ที่กําหนดค่าได้เพื่อช่วยคุณจัดลําดับความสําคัญของแหล่งเวลาต่างๆ ภายใน Android
Android เป็นแหล่งที่มาของข้อมูลเวลา
เมื่อใช้ Android เป็นแหล่งที่มาของเวลา OEM จะซิงค์ระบบอื่นๆ ของรถยนต์ (รวมถึง ECU และ BCM) กับเวลาของ Android ได้
การติดตั้งใช้งาน 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
ในการกำหนดค่าการซ้อนทับ 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
เพื่อเลือกเวลาของระบบใหม่