ExtServices মডিউলটি কোর ওএস কার্যকারিতার জন্য ফ্রেমওয়ার্ক কম্পোনেন্টগুলো আপডেট করে, যেমন নোটিফিকেশন র্যাঙ্কিং, অটোফিল টেক্সট-ম্যাচিং স্ট্র্যাটেজি, স্টোরেজ ক্যাশে, প্যাকেজ ওয়াচডগ এবং অন্যান্য সার্ভিস যা ক্রমাগত চলতে থাকে। এই মডিউলটি আপডেটেবল, অর্থাৎ এটি সাধারণ অ্যান্ড্রয়েড রিলিজ চক্রের বাইরেও কার্যকারিতার আপডেট গ্রহণ করতে পারে।
পরিষেবা উপাদান
ExtServices মডিউলটিতে নিম্নলিখিত সার্ভিসগুলো রয়েছে।
অ্যান্ড্রয়েড ১২ থেকে
DisplayHashingServiceচালু হচ্ছেঅ্যান্ড্রয়েড ১১ থেকে শুরু হওয়া
TextClassifierServiceঅ্যান্ড্রয়েড ১১ থেকে
InlineSuggestionsRenderServiceচালু হচ্ছেঅ্যান্ড্রয়েড ১০-এ
AutofillFieldClassificationServiceচালু হচ্ছেঅ্যান্ড্রয়েড ১০-এ
NotificationAssistantServiceচালু হচ্ছেঅ্যান্ড্রয়েড ১০-এ
ResolverRankerServiceচালু হচ্ছেঅ্যান্ড্রয়েড ১০-এ
CacheQuotaServiceচালু হচ্ছে
ডিসপ্লেহ্যাশিংসার্ভিস
অ্যান্ড্রয়েড ১২-এ, নির্দিষ্ট বাফারের জন্য DisplayHash এর একটি ইনস্ট্যান্স তৈরি করতে DisplayHashingService ব্যবহৃত হয়। একটি নির্দিষ্ট ডিসপ্লে হ্যাশ সিস্টেম দ্বারা তৈরি হয়েছে কিনা, তা যাচাই করতেও এটি ব্যবহৃত হয়। ডিসপ্লে হ্যাশ তৈরি করার সময়, কলার সমর্থিত হ্যাশিং অ্যালগরিদমগুলোর মধ্যে কোনটি ব্যবহার করতে চায় তা নির্দিষ্ট করে দিতে পারে।
টেক্সটক্লাসিফায়ারসার্ভিস
TextClassifierService সার্ভিস কম্পোনেন্টটি TextClassifier API এবং অ্যান্ড্রয়েডের বিভিন্ন ফিচার, যেমন নোটিফিকেশনে স্মার্ট টেক্সট সিলেকশন ও স্মার্ট সাজেশন, সমর্থন করে। ExtServices মডিউলটিতে ডিফল্ট টেক্সট ক্লাসিফায়ার রয়েছে, যা CTS টেস্ট TextClassifierPolicyTest.java দ্বারা যাচাই করা হয়।
প্রয়োজনে, আপনি config.xml ফাইলে config_defaultTextClassifierPackage উল্লেখ করে একটি কাস্টম টেক্সট ক্লাসিফায়ার সার্ভিস কনফিগার করতে পারেন। কাস্টম টেক্সট ক্লাসিফায়ারগুলো ডিফল্ট টেক্সট ক্লাসিফায়ারের উপর নির্ভর করতে পারে; এর জন্য TextClassifierService.getDefaultTextClassifierImplementation(Context) কল করে সেটির একটি ইনস্ট্যান্স পাওয়া যায়।
ইনলাইনসাজেশনরেন্ডারসার্ভিস
InlineSuggestionRenderService সার্ভিস কম্পোনেন্টটি কিবোর্ড সাজেশন স্ট্রিপে ইনলাইন সাজেশন দেখানোর সুবিধা দেয়। নতুন ইনলাইন অটোফিল ফ্লো-এর জন্য ইনলাইন সাজেশন ধারণকারী একটি View অবজেক্ট রেন্ডার করতে এই সার্ভিসটি কল করা হয়। এই রেন্ডারার সার্ভিসের ডিফল্ট ইমপ্লিমেন্টেশনটি সাজেশনটি রেন্ডার করার জন্য androidx.autofill.inline.Renderer কে কল করে। এই আচরণটি /autofillservice/cts/inline/ -এ থাকা CTS টেস্ট দ্বারা যাচাই করা হয়েছে।
প্যাকেজের নাম
Android 11 চালিত ডিভাইসগুলিতে অবশ্যই frameworks/base/core/res/res/values/config.xml ফাইলে থাকা config_servicesExtensionPackage ExtServices প্যাকেজের নামে ( com.android.ext.services ) সেট করতে হবে। এই কনফিগারেশন পরিবর্তনটি cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java নামক CTS টেস্টের মাধ্যমে যাচাই করা হয়।
মডিউল সীমানা
অ্যান্ড্রয়েড ১২-এ, 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/ থেকে সরিয়ে দিয়েছে।
মডিউল ফরম্যাট
অ্যান্ড্রয়েড ১১-এ ExtServices মডিউলটি ( com.android.ext.services ) APEX ফরম্যাটে থাকে। অ্যান্ড্রয়েড ১০-এ এই মডিউলটি APK ফরম্যাটে ছিল।
কাস্টমাইজেশন
অ্যান্ড্রয়েড ১১-এ, আপনি একটি কাস্টম টেক্সট ক্লাসিফায়ার সার্ভিস কনফিগার করতে পারেন যা ডিফল্ট টেক্সট ক্লাসিফায়ারকে কল করে (তবে, এটি সুপারিশ করা হয় না)। অ্যান্ড্রয়েড ১০-এ, ExtServices মডিউলটি কাস্টমাইজেশনের কোনো অপশন দেয় না।
পরীক্ষা
অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) প্রতিটি মডিউল রিলিজে একগুচ্ছ ব্যাপক CTS টেস্ট চালানোর মাধ্যমে ExtServices মডিউলের কার্যকারিতা যাচাই করে। এছাড়াও, মেইনলাইন টেস্ট স্যুট (MTS)-এও বেশ কিছু ExtServices টেস্ট রয়েছে। ExtServices টেস্টগুলোর সম্পূর্ণ তালিকা নিচে দেওয়া হলো:
কনফিগারেশন পরিবর্তন। CTS টেস্ট
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.javaদ্বারা যাচাই করা হয়েছে।TextClassifierকনফিগারেশন। CTS টেস্টcts/TextClassifierPolicyTest.javaদ্বারা যাচাইকৃত।ইনলাইন সাজেশন স্বয়ংক্রিয়ভাবে পূরণ করা হয়।
cts/inline/-এ CTS পরীক্ষার মাধ্যমে যাচাইকৃত।