ExtServices

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

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

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

DisplayHashingService

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

TextClassifierService

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

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

InlineSuggestionRenderService

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

पैकेज का नाम

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

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

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), हर मॉड्यूल रिलीज़ पर CTS टेस्ट का पूरा सेट चलाकर, ExtServices मॉड्यूल की मुख्य सुविधाओं की पुष्टि करता है. इसके अलावा, Mainline Test Suite (MTS) में कई ExtServices टेस्ट भी शामिल होते हैं. ExtServices के टेस्ट की पूरी सूची यहां दी गई है:

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

  • TextClassifier कॉन्फ़िगरेशन. सीटीएस टेस्ट की मदद से पुष्टि की गई cts/TextClassifierPolicyTest.java.

  • ऑटोमैटिक भरने की सुविधा के लिए इनलाइन सुझाव. cts/inline/ में सीटीएस टेस्ट की मदद से पुष्टि की गई.