यह सुविधा साझेदारों को समय को सिंक्रनाइज़ करने का तरीका चुनने में सक्षम बनाती है, चाहे वह एंड्रॉइड ऑटोमोटिव ऑपरेटिंग सिस्टम (एएओएस) से हो या वाहन सिस्टम से एंड्रॉइड तक। गुणवत्ता कार्यान्वयन सुनिश्चित करने के लिए, आप मूल्यों को प्रभावी ढंग से प्रचारित करने के लिए नीचे वर्णित दो नई वीएचएएल संपत्तियों में से एक का उपयोग करने के लिए एएओएस को कॉन्फ़िगर कर सकते हैं। उपयोग:
- समय के लिए सत्य के स्रोत के रूप में Android का उपयोग करने के लिए
ANDROID_EPOCH_TIME
। वीएचएएल इस राइट-ओनली प्रॉपर्टी का समर्थन करता है, जो एंड्रॉइड से अन्य वाहन प्रणालियों, जैसे इलेक्ट्रॉनिक कंट्रोल यूनिट्स (ईसीयू) और बॉडी कंट्रोल मॉड्यूल (बीसीएम) में समय परिवर्तन के बारे में संचार करता है। - समय के लिए सत्य के स्रोत के रूप में एंड्रॉइड का उपयोग न करने का
EXTERNAL_CAR_TIME
। इस मामले में, वीएचएएल केवल-पढ़ने के लिएEXTERNAL_CAR_TIME
प्रॉपर्टी का समर्थन करता है, जो अन्य वाहन प्रणालियों (जैसे ईसीयू और बीसीएम) से एंड्रॉइड तक समय परिवर्तन का संचार करता है।
एएओएस आपको एंड्रॉइड के भीतर विभिन्न समय स्रोतों को प्राथमिकता देने में मदद करने के लिए एक कॉन्फ़िगर करने योग्य TimeDetectorStrategy
भी प्रदान करता है।
एंड्रॉइड समय के लिए सत्य का स्रोत है
जब एंड्रॉइड को समय के स्रोत के रूप में उपयोग किया जाता है, तो ओईएम अन्य कार सिस्टम (ईसीयू और बीसीएम सहित) को एंड्रॉइड समय के साथ सिंक्रनाइज़ कर सकते हैं।
ऐसा करने के लिए, VHAL कार्यान्वयन को केवल-लिखने योग्य संपत्ति ANDROID_EPOCH_TIME
संपत्ति का समर्थन करना चाहिए। एंड्रॉइड बूट समय पर और जब भी एंड्रॉइड में समय स्रोत बदला जाता है, सिस्टम समय को पढ़कर संपत्ति के लिए एक अपडेट प्रकाशित करता है।
एंड्रॉइड समय के लिए सत्य का स्रोत नहीं है
जब एंड्रॉइड का उपयोग समय के स्रोत के रूप में नहीं किया जाता है, तो आप समय के सत्य के स्रोत के रूप में एंड्रॉइड समय को सिंक्रनाइज़ कर सकते हैं (उदाहरण के लिए, ईसीयू या बीसीएम के साथ)। इस मामले में, वीएचएएल कार्यान्वयन को केवल पढ़ने योग्य संपत्ति EXTERNAL_CAR_TIME
का समर्थन करना चाहिए और जब भी समय का स्रोत बदलता है या घड़ी को पुन: कैलिब्रेट करता है तो इस संपत्ति पर अपडेट प्रकाशित करना चाहिए।
ओईएम को यह भी सुनिश्चित करना होगा कि:
-
config_autoTimeSourcesPriority
मानcore/res/res/values/config.xml
में समाहित हैं। - CarServices ओवरले कॉन्फ़िगरेशन
packages/services/Car/service/res/values/config.xml
मेंconfig_enableExternalCarTimeToExternalTimeSuggestion
प्रॉपर्टी कोtrue
पर सेट किया गया है। -
TimeDetectorStrategy
कॉन्फ़िगरेशन मेंexternal
समय की उचित प्राथमिकता है। अधिक जानने के लिए, जीएनएसएस टाइम डिटेक्शन देखें। उदाहरण के लिए:<!-- 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
VHAL प्रॉपर्टीANDROID_EPOCH_TIME
के लिए एक अपडेट प्रकाशित करता है। - वीएचएएल प्राप्त समय मूल्य को विभिन्न ईसीयू और/या बीसीएम इकाइयों तक प्रसारित कर सकता है।
निम्नलिखित प्रवाह तब होता है जब EXTERNAL_CAR_TIME
VHAL संपत्ति समर्थित होती है:
- VHAL
EXTERNAL_CAR_TIME
प्रॉपर्टी को अपडेट करता है। -
TimeHalService
(CarServices में) एक सदस्यता के माध्यम से संपत्ति को पढ़ता है। -
TimeHalService
एकExternalTimeSuggestion
बनाता है औरTimeManager
को भेजता है। -
TimeManager
सुझाव कोTimeDetectorService
को अग्रेषित करता है। -
TimeDetectorService
एक नया सिस्टम समय चुनने के लिएTimeDetectorStrategy
का उपयोग करता है।