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

Android 12 से, Android के पास समय के बाहरी सोर्स का इस्तेमाल करने का विकल्प होता है. इससे वह Time Detector service को Unix epoch समय का सुझाव दे सकता है. यह सुविधा, 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, इस तरीके को पास किए गए टाइमस्टैंप का इस्तेमाल करके मौजूदा Unix epoch टाइम सेट करता है.