ExtServices

ExtServices मॉड्यूल, कोर ओएस की सुविधाओं के लिए फ़्रेमवर्क कॉम्पोनेंट को अपडेट करता है. जैसे, सूचनाओं को रैंक करना, अपने-आप भरने की सुविधा के लिए टेक्स्ट मैच करने की रणनीतियां, स्टोरेज कैश, पैकेज वॉचडॉग वगैरह. साथ ही, यह उन अन्य सेवाओं को भी अपडेट करता है जो लगातार चलती रहती हैं. इस मॉड्यूल को अपडेट किया जा सकता है. इसका मतलब है कि इसे Android के सामान्य रिलीज़ साइकल के बाहर भी अपडेट मिल सकते हैं.

सेवा के कॉम्पोनेंट

ExtServices मॉड्यूल में ये सेवाएं शामिल हैं.

DisplayHashingService

Android 12 में, DisplayHashingService का इस्तेमाल, तय किए गए बफ़र के लिए DisplayHash का इंस्टेंस जनरेट करने के लिए किया जाता है. इसका इस्तेमाल, यह पुष्टि करने के लिए भी किया जाता है कि सिस्टम ने कोई खास डिसप्ले हैश जनरेट किया है. डिसप्ले हैश जनरेट करते समय, कॉल करने वाला व्यक्ति यह तय कर सकता है कि उसे हैशिंग के किन एल्गोरिदम का इस्तेमाल करना है.

TextClassifierService

The TextClassifierService सेवा कॉम्पोनेंट, TextClassifier एपीआई और Android की सुविधाओं को बैकअप देता है. जैसे, स्मार्ट टेक्स्ट चुनने की सुविधा और सूचनाओं में स्मार्ट सुझाव. ExtServices मॉड्यूल में डिफ़ॉल्ट टेक्स्ट क्लासिफ़ायर शामिल होता है, जिसकी पुष्टि, CTS टेस्ट TextClassifierPolicyTest.java से की जाती है.

ज़रूरत पड़ने पर, पसंद के मुताबिक टेक्स्ट क्लासिफ़ायर सेवा को कॉन्फ़िगर किया जा सकता है. इसके लिए, आपको config_defaultTextClassifierPackage को config.xml में तय करना होगा. पसंद के मुताबिक टेक्स्ट क्लासिफ़ायर, डिफ़ॉल्ट टेक्स्ट क्लासिफ़ायर पर निर्भर हो सकते हैं. इसके लिए, TextClassifierService.getDefaultTextClassifierImplementation(Context) को कॉल करके, इसका इंस्टेंस पाया जा सकता है.

InlineSuggestionRenderService

InlineSuggestionRenderService सेवा कॉम्पोनेंट की मदद से, कीबोर्ड पर मौजूद सुझाव वाले बार में इनलाइन सुझाव दिखाए जा सकते हैं. इस सेवा को, इनलाइन ऑटोफ़िल के नए फ़्लो के लिए, इनलाइन सुझाव देने वाले View ऑब्जेक्ट को रेंडर करने के लिए कॉल किया जाता है. इस रेंडरर सेवा के लिए डिफ़ॉल्ट तौर पर लागू करने की सुविधा, सुझाव को रेंडर करने के लिए androidx.autofill.inline.Renderer को कॉल करती है. इस व्यवहार की पुष्टि, /autofillservice/cts/inline/ में मौजूद CTS टेस्ट से की जाती है.

पैकेज का नाम

Android 11 पर चलने वाले डिवाइसों को, config_servicesExtensionPackage (यह frameworks/base/core/res/res/values/config.xml में मौजूद है) को ExtServices पैकेज के नाम (com.android.ext.services) पर सेट करना होगा. इस कॉन्फ़िगरेशन में किए गए बदलाव की पुष्टि, CTS टेस्ट cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java से की जाती है.

मॉड्यूल की सीमा

Android 12 में, ExtServices मॉड्यूल का कोड, frameworks/base/apex/extservices (यह frameworks/base project की सबडायरेक्ट्री है) और packages/modules/ExtServices से मूव किया गया है.

packages/modules/ExtServices के लिए, नई प्रोजेक्ट स्ट्रक्चर इस तरह है:

  • apex/ (frameworks/base/apex/extservices की फ़ाइलें)
  • java/ (packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests, की फ़ाइलें, और नई सुविधा के लिए फ़ाइलें)
  • jni/ (नई सुविधा के लिए फ़ाइलें)
  • native/ (नई सुविधा के लिए फ़ाइलें)

ExtServices मॉड्यूल की सीमा, packages/modules/ExtServices में है. Android 11 में, TextClassifier को लागू करने वाली कई क्लास को भी frameworks/base/core/ से मूव किया गया है.

मॉड्यूल का फ़ॉर्मैट

Android 11 में, ExtServices मॉड्यूल (com.android.ext.services) APEX फ़ॉर्मैट में है. Android 10 में, यह मॉड्यूल APK फ़ॉर्मैट में है.

पसंद के मुताबिक बनाएं

Android 11 में, पसंद के मुताबिक टेक्स्ट क्लासिफ़ायर सेवा को कॉन्फ़िगर किया जा सकता है. यह डिफ़ॉल्ट टेक्स्ट क्लासिफ़ायर को कॉल करती है. हालांकि, ऐसा करने का सुझाव नहीं दिया जाता. Android 10 में, ExtServices मॉड्यूल, पसंद के मुताबिक बनाने के विकल्प उपलब्ध नहीं कराता.

जांच करना

Android Compatibility Test Suite (CTS), ExtServices मॉड्यूल की सुविधाओं की पुष्टि करता है. इसके लिए, मॉड्यूल के हर रिलीज़ पर, CTS टेस्ट का एक पूरा सेट चलाया जाता है. इसके अलावा, Mainline Test Suite (MTS) में भी ExtServices के कई टेस्ट शामिल होते हैं. ExtServices के सभी टेस्ट की सूची यहां दी गई है:

  • कॉन्फ़िगरेशन में किए गए बदलाव. इसकी पुष्टि, CTS टेस्ट cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java से की जाती है.

  • TextClassifier का कॉन्फ़िगरेशन. इसकी पुष्टि, CTS टेस्ट cts/TextClassifierPolicyTest.java से की जाती है.

  • ऑटोफ़िल के लिए इनलाइन सुझाव. इसकी पुष्टि, cts/inline/ में मौजूद CTS टेस्ट से की जाती है.