Modul ExtServices memperbarui komponen framework untuk fungsi OS inti, seperti peringkat notifikasi, strategi pencocokan teks isi otomatis, cache penyimpanan, pengawas paket, dan layanan lain yang berjalan terus-menerus. Modul ini dapat diupdate, yang berarti modul ini dapat menerima update fungsi di luar siklus rilis Android normal.
Komponen layanan
Modul ExtServices berisi layanan berikut.
DisplayHashingServicemulai di Android 12TextClassifierServicemulai di Android 11InlineSuggestionsRenderServicemulai di Android 11AutofillFieldClassificationServicemulai di Android 10NotificationAssistantServicemulai di Android 10ResolverRankerServicemulai di Android 10CacheQuotaServicemulai di Android 10
DisplayHashingService
Di Android 12, DisplayHashingService digunakan untuk
membuat instance DisplayHash untuk buffer yang ditentukan. Hash ini juga digunakan
untuk memverifikasi bahwa hash layar tertentu dibuat oleh sistem. Saat
membuat hash tampilan, pemanggil dapat menentukan algoritma hashing yang didukung yang ingin digunakan.
TextClassifierService
Komponen layanan
TextClassifierService
mendukung TextClassifier
API
dan fitur Android seperti pemilihan teks smart dan saran smart dalam
notifikasi. Modul ExtServices berisi pengklasifikasi teks default, yang diverifikasi oleh pengujian CTS TextClassifierPolicyTest.java.
Jika perlu, Anda dapat mengonfigurasi layanan klasifikasi teks kustom dengan menentukan
config_defaultTextClassifierPackage di
config.xml.
Pengklasifikasi teks kustom dapat bergantung pada pengklasifikasi teks default dengan memanggil
TextClassifierService.getDefaultTextClassifierImplementation(Context)
untuk mendapatkan instance-nya.
InlineSuggestionRenderService
Komponen layanan InlineSuggestionRenderService memungkinkan Saran Inline ditampilkan di kolom saran keyboard. Layanan ini dipanggil untuk merender objek
View yang menyimpan Saran Inline untuk alur Isi Otomatis Inline baru.
Implementasi default untuk layanan perender ini memanggil
androidx.autofill.inline.Renderer
untuk merender saran. Perilaku ini diverifikasi oleh pengujian CTS di
/autofillservice/cts/inline/.
Nama paket
Perangkat yang menjalankan Android 11 harus menyetel
config_servicesExtensionPackage (di
frameworks/base/core/res/res/values/config.xml) ke nama paket ExtServices (com.android.ext.services). Perubahan konfigurasi ini diverifikasi oleh
pengujian CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.
Batas modul
Di Android 12, kode modul ExtServices dipindahkan dari frameworks/base/apex/extservices
(ini adalah subdirektori frameworks/base project)
dan
packages/modules/ExtServices.
Struktur project baru untuk packages/modules/ExtServices adalah sebagai berikut:
apex/(file dariframeworks/base/apex/extservices)java/(file daripackages/modules/ExtServices/res,packages/modules/ExtServices/src,packages/modules/ExtServices/tests, dan file untuk fitur baru)jni/(file untuk fitur baru)native/(file untuk fitur baru)
Batas modul ExtServices ada di packages/modules/ExtServices. Android 11 juga memindahkan beberapa class penerapan TextClassifier keluar dari frameworks/base/core/.
Format modul
Di Android 11, modul ExtServices
(com.android.ext.services) berada dalam format
APEX. Di Android 10, modul ini dalam format APK.
Penyesuaian
Di Android 11, Anda dapat mengonfigurasi layanan klasifikasi teks kustom yang memanggil pengklasifikasi teks default (namun, hal ini tidak direkomendasikan). Di Android 10, modul ExtServices tidak menyediakan opsi penyesuaian.
Pengujian
Android Compatibility Test Suite (CTS) memverifikasi fungsi modul ExtServices dengan menjalankan serangkaian pengujian CTS yang komprehensif pada setiap rilis modul. Selain itu, Mainline Test Suite (MTS) juga berisi beberapa pengujian ExtServices. Daftar lengkap pengujian ExtServices adalah sebagai berikut:
Perubahan konfigurasi. Diverifikasi oleh pengujian CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.Konfigurasi
TextClassifier. Diverifikasi oleh pengujian CTScts/TextClassifierPolicyTest.java.Saran inline isi otomatis. Diverifikasi oleh pengujian CTS di
cts/inline/.