AAOS के टाइम सोर्स कॉन्फ़िगर करना

इस सुविधा की मदद से, पार्टनर यह चुन सकते हैं कि समय को कैसे सिंक किया जाए. जैसे, Android Autoमैटिव ऑपरेटिंग सिस्टम (AAOS) से या वाहन के सिस्टम से Android पर. बेहतर तरीके से लागू करने के लिए, AAOS को कॉन्फ़िगर किया जा सकता है, ताकि वैल्यू को असरदार तरीके से प्रसारित करने के लिए, यहां बताई गई दो नई VHAL प्रॉपर्टी में से किसी एक का इस्तेमाल किया जा सके. उपयोग करें:

  • ANDROID_EPOCH_TIME, ताकि समय के सटीक स्रोत के तौर पर Android का इस्तेमाल किया जा सके. VHAL, इस सिर्फ़-लिखने वाली प्रॉपर्टी के साथ काम करता है. यह प्रॉपर्टी, समय में हुए बदलावों की जानकारी Android से वाहन के अन्य सिस्टम को देती है. जैसे, इलेक्ट्रॉनिक कंट्रोल यूनिट (ईसीयू) और बॉडी कंट्रोल मॉड्यूल (बीसीएम).
  • EXTERNAL_CAR_TIME, समय के सटीक सोर्स के तौर पर Android का इस्तेमाल न करें. इस मामले में, VHAL रीड-ओनली EXTERNAL_CAR_TIME प्रॉपर्टी के साथ काम करता है. यह प्रॉपर्टी, वाहन के अन्य सिस्टम (जैसे, ईसीयू और बीसीएम) से Android पर समय में हुए बदलावों की जानकारी देती है.

AAOS में, कॉन्फ़िगर किया जा सकने वाला TimeDetectorStrategy भी उपलब्ध होता है. इससे, Android में समय के अलग-अलग सोर्स को प्राथमिकता देने में मदद मिलती है.

Android, समय के लिए सटीक सोर्स है

Android को समय के सोर्स के तौर पर इस्तेमाल करने पर, OEM, कार के अन्य सिस्टम (इसमें ईसीयू और बीसीएम शामिल हैं) को Android के समय के साथ सिंक कर सकते हैं.

ऐसा करने के लिए, VHAL लागू करने की सुविधा में सिर्फ़ लिखने की अनुमति वाली प्रॉपर्टी ANDROID_EPOCH_TIME प्रॉपर्टी का इस्तेमाल किया जाना चाहिए. Android, सिस्टम के समय को पढ़कर प्रॉपर्टी में अपडेट पब्लिश करता है. ऐसा, डिवाइस के चालू होने के समय और Android में समय के सोर्स में बदलाव होने पर, दोनों ही समय होता है.

Android, समय के लिए सटीक सोर्स नहीं है

अगर Android का इस्तेमाल समय के सोर्स के तौर पर नहीं किया जाता है, तो Android के समय को सिंक करके, उसे समय के सोर्स के तौर पर सेट किया जा सकता है. उदाहरण के लिए, ईसीयू या बीसीएम के साथ. इस मामले में, VHAL लागू करने की सुविधा, सिर्फ़ पढ़ने के लिए उपलब्ध प्रॉपर्टी EXTERNAL_CAR_TIME के साथ काम करनी चाहिए. साथ ही, समय का सोर्स बदलने या घड़ी को फिर से कैलिब्रेट करने पर, इस प्रॉपर्टी में अपडेट पब्लिश करने चाहिए.

OEM को यह भी पक्का करना होगा कि:

  • 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 पर इन-ऐप बिलिंग की सुविधा लागू करने से जुड़ी जानकारी

ANDROID_EPOCH_TIME VHAL प्रॉपर्टी के साथ काम करने पर, यह फ़्लो होता है:

  1. TimeHalService (CarServices में) को Intent.ACTION_TIME_CHANGED के लिए, Android सिस्टम से ब्रॉडकास्ट मिलता है.
  2. TimeHalService, VHAL प्रॉपर्टी के लिए अपडेट पब्लिश करता है ANDROID_EPOCH_TIME.
  3. VHAL, मिली हुई टाइम वैल्यू को अलग-अलग ईसीयू और/या बीसीएम यूनिट में भेज सकता है.

EXTERNAL_CAR_TIME VHAL प्रॉपर्टी के साथ काम करने पर, यह फ़्लो होता है:

  1. VHAL, EXTERNAL_CAR_TIME प्रॉपर्टी को अपडेट करता है.
  2. TimeHalService (CarServices में), सदस्यता की मदद से प्रॉपर्टी को पढ़ता है.
  3. TimeHalService, ExternalTimeSuggestion बनाकर TimeManager को भेजता है.
  4. TimeManager, सुझाव को TimeDetectorService को फ़ॉरवर्ड करता है.
  5. TimeDetectorService, सिस्टम का नया समय चुनने के लिए TimeDetectorStrategy का इस्तेमाल करता है.