ExtServices

ExtServices modülü, bildirim sıralaması, otomatik doldurma metin eşleştirme stratejileri, depolama alanı önbelleği, paket gözetmeni ve sürekli çalışan diğer hizmetler gibi temel OS işlevleri için çerçeve bileşenlerini günceller. Bu modül güncellenebilir. Yani normal Android sürüm döngüsünün dışında işlevsellik güncellemeleri alabilir.

Hizmet bileşenleri

ExtServices modülü aşağıdaki hizmetleri içerir.

DisplayHashingService

Android 12'de, belirtilen arabellek için DisplayHash örneği oluşturmak üzere DisplayHashingService kullanılır. Ayrıca, belirli bir görüntüleme karmasının sistem tarafından oluşturulduğunu doğrulamak için de kullanılır. Bir görüntüleme karması oluştururken arayan, desteklenen karma oluşturma algoritmalarından hangisini kullanmak istediğini belirtebilir.

TextClassifierService

TextClassifierService hizmet bileşeni, TextClassifier API'lerini ve bildirimlerdeki akıllı metin seçimi ve akıllı öneriler gibi Android özelliklerini destekler. ExtServices modülü, CTS testi TextClassifierPolicyTest.java tarafından doğrulanan varsayılan metin sınıflandırıcıyı içerir.

Gerekirse config.xml içinde config_defaultTextClassifierPackage değerini belirterek özel bir metin sınıflandırıcı hizmeti yapılandırabilirsiniz. Özel metin sınıflandırıcılar, bir örneğini almak için TextClassifierService.getDefaultTextClassifierImplementation(Context) çağrısını yaparak varsayılan metin sınıflandırıcıya bağlı olabilir.

InlineSuggestionRenderService

InlineSuggestionRenderService hizmet bileşeni, satır içi önerilerin klavye öneri şeridinde gösterilmesini sağlar. Bu hizmet, yeni satır içi otomatik doldurma akışı için satır içi öneriyi içeren bir View nesnesi oluşturmak üzere çağrılır. Bu oluşturma hizmetinin varsayılan uygulaması, öneriyi oluşturmak için androidx.autofill.inline.Renderer hizmetini çağırır. Bu davranış, /autofillservice/cts/inline/'teki CTS testleriyle doğrulanır.

Paket adı

Android 11 çalıştıran cihazlar, config_servicesExtensionPackage (frameworks/base/core/res/res/values/config.xml içinde) değerini ExtServices paket adıyla (com.android.ext.services) ayarlamalıdır. Bu yapılandırma değişikliği, CTS testi cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java tarafından doğrulanır.

Modül sınırı

Android 12'de ExtServices modülü kodu, frameworks/base/apex/extservices (frameworks/base project alt dizinidir) ve packages/modules/ExtServices'den taşınır.

packages/modules/ExtServices için yeni proje yapısı aşağıdaki gibidir:

  • apex/ (frameworks/base/apex/extservices'dan gelen dosyalar)
  • java/ (packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests dosyalarının yanı sıra yeni özellik dosyalarını içerir)
  • jni/ (yeni özellik için dosyalar)
  • native/ (yeni özellik için dosyalar)

ExtServices modülü sınırı packages/modules/ExtServices içindedir. Android 11, TextClassifier uygulama sınıflarından bazılarını da frameworks/base/core/ dışında bırakır.

Modül biçimi

Android 11'de ExtServices modülü (com.android.ext.services), APEX biçimindedir. Android 10'da bu modül APK biçimindedir.

Özelleştirme

Android 11'de, varsayılan metin sınıflandırıcıyı çağıran özel bir metin sınıflandırıcı hizmeti yapılandırabilirsiniz (ancak bu önerilmemektedir). Android 10'da ExtServices modülü özelleştirme seçenekleri sunmaz.

Test

Android Compatibility Test Suite (CTS), her modül sürümünde kapsamlı bir CTS testi grubu çalıştırarak ExtServices modülü işlevini doğrular. Ayrıca Mainline Test Suite (MTS), çeşitli ExtServices testleri de içerir. ExtServices testlerinin tam listesi aşağıda verilmiştir: