คุณลักษณะนี้ช่วยให้คู่ค้าสามารถเลือกวิธีซิงโครไนซ์เวลาได้ ไม่ว่าจะจากระบบปฏิบัติการ 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 คือแหล่งที่มาของความจริงแห่งกาลเวลา
เมื่อใช้ Android เป็นแหล่งที่มาของเวลา OEM จะสามารถซิงโครไนซ์ระบบรถยนต์อื่นๆ (รวมถึง ECU และ 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
ใน CarServices overlay configpackages/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
เผยแพร่การอัปเดตคุณสมบัติ VHALANDROID_EPOCH_TIME
- VHAL สามารถเผยแพร่ค่าเวลาที่ได้รับไปยัง ECU และ/หรือหน่วย BCM ต่างๆ
ขั้นตอนต่อไปนี้เกิดขึ้นเมื่อคุณสมบัติ EXTERNAL_CAR_TIME
VHAL ได้รับการสนับสนุน:
- VHAL อัปเดตคุณสมบัติ
EXTERNAL_CAR_TIME
-
TimeHalService
(ใน CarServices) อ่านทรัพย์สินผ่านการสมัครสมาชิก -
TimeHalService
สร้างและส่งExternalTimeSuggestion
ไปยังTimeManager
-
TimeManager
ส่งต่อข้อเสนอแนะไปยังTimeDetectorService
-
TimeDetectorService
ใช้TimeDetectorStrategy
เพื่อเลือกเวลาของระบบใหม่