एक्सटेंशन

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

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

  • TextClassifier config. सीटीएस टेस्ट cts/TextClassifierPolicyTest.java से पुष्टि हुई है.

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