बाहरी समय का पता लगाने की सुविधा

Android 12 में, Android समय के किसी बाहरी सोर्स का इस्तेमाल कर सकता है. इससे, time_detector सेवा को यूनिक्स के टाइम पीरियड का सुझाव दिया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है. यह सुविधा, AOSP में डिफ़ॉल्ट रूप से चालू नहीं होती.

बाहरी टाइम ऑरिजिन की मदद से, डिवाइस बनाने वाली कंपनियां Android को समय के लिए पूरी तरह से पसंद के मुताबिक सुझाव दे सकती हैं. समय के बाहरी सोर्स से सुझाव मिलने के बाद, time_detector सेवा यह तय करती है कि कॉन्फ़िगर किए गए प्राथमिकता तय करने के नियमों का इस्तेमाल करके, सिस्टम घड़ी को अपडेट करना है या नहीं.

लागू करना

बाहरी समय का पता लगाने की सुविधा के साथ काम करने के लिए, डिवाइस बनाने वाली कंपनियों को एक ऐसा कॉम्पोनेंट लागू करना होगा जो सिस्टम एपीआई कॉल के ज़रिए, time_detector सेवा को बाहरी समय के सुझाव सबमिट करता हो.

बाहरी ऑरिजिन को कॉन्फ़िगर करने के लिए, core/res/res/values/config.xml सिस्टम सर्वर कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करें. external वैल्यू को config_autoTimeSourcesPriority में जोड़ें.

इस उदाहरण में, Android को सिस्टम घड़ी सेट करते समय, बाहरी समय के सुझावों को सबसे ज़्यादा प्राथमिकता देने के लिए कहा गया है. अगर बाहरी समय का कोई मान्य सुझाव उपलब्ध नहीं है, तो इस मामले में अगले ऑरिजिन, gnss का इस्तेमाल किया जाता है.

<string-array name="config_autoTimeSourcesPriority">
        <item>external</item>
        <item>gnss</item>
</string-array>

सिस्टम को बाहरी समय का सुझाव देने के लिए, TimeManager में suggestExternalTime() का इस्तेमाल करें. अगर कॉन्फ़िगरेशन फ़ाइल में config_autoTimeSourcesPriority का इस्तेमाल करके बाहरी ऑरिजिन को कॉन्फ़िगर किया गया है और समय के लिए ज़्यादा प्राथमिकता वाले कोई सुझाव उपलब्ध नहीं है, तो Android, यूनिक्स के मौजूदा समय को सेट करने के लिए, इस तरीके में पास किए गए टाइमस्टैंप का इस्तेमाल करता है.