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

Android 12 से, Android के पास समय के बाहरी सोर्स का इस्तेमाल करने का विकल्प होता है. इससे वह time_detector सेवा को 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 टाइम सेट करता है.