ExtServices

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.

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 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 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: