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

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

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

लागू करना

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

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

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

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

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