ExtServices

Modul ExtServices mengupdate komponen framework untuk fungsi OS inti, seperti peringkat notifikasi, strategi pencocokan teks secara otomatis, cache penyimpanan, watchdog paket, dan layanan lain yang berjalan secara terus-menerus. Modul ini dapat diupdate, yang berarti dapat menerima update pada fungsi di luar siklus rilis Android normal.

Komponen layanan

Modul ExtServices berisi layanan berikut.

DisplayHashingService

Di Android 12, DisplayHashingService digunakan untuk membuat instance DisplayHash untuk buffering yang ditentukan. Ini juga digunakan untuk memverifikasi bahwa hash tampilan tertentu dihasilkan oleh sistem. Saat membuat hash tampilan, pemanggil dapat menentukan algoritma hashing mana yang didukung yang ingin digunakan.

TextClassifierService

Komponen layanan TextClassifierService mendukung TextClassifier API dan fitur Android seperti pemilihan teks cerdas dan saran cerdas dalam notifikasi. Modul ExtServices berisi pengklasifikasi teks default, yang diverifikasi oleh uji CTS TextClassifierPolicyTest.java.

Jika perlu, Anda dapat mengonfigurasi layanan pengklasifikasi 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 yang 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 menetapkan 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 dari frameworks/base project) dan packages/modules/ExtServices.

Struktur project baru untuk packages/modules/ExtServices adalah sebagai berikut:

  • apex/ (file dari frameworks/base/apex/extservices)
  • java/ (file dari packages/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 berada di packages/modules/ExtServices. Android 11 juga memindahkan beberapa class implementasi TextClassifier dari frameworks/base/core/.

Format modul

Di Android 11, modul ExtServices (com.android.ext.services) dalam format APEX. Di Android 10, modul ini dalam format APK.

Penyesuaian

Di Android 11, Anda dapat mengonfigurasi layanan pengklasifikasi teks kustom yang memanggil pengklasifikasi teks default (tetapi, 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: