ExtServices

ExtServices modülü, temel işletim sistemi işlevselliği için çerçeve bileşenlerini günceller. Bildirim sıralaması, otomatik doldurma metin eşleştirme stratejileri, depolama önbelleği, paket gözetimi ve sürekli çalışan diğer hizmetler bu bileşenlere dahildir. Bu modül güncellenebilir. Yani normal Android sürüm döngüsü 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ü karmasının sistem tarafından oluşturulduğunu doğrulamak için de kullanılır. Arayan, bir görüntü karması oluştururken desteklenen karma oluşturma algoritmalarından hangisini kullanmak istediğini belirtebilir.

TextClassifierService

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

Gerekirse config.xml içinde config_defaultTextClassifierPackage belirterek özel bir metin sınıflandırıcı hizmeti yapılandırabilirsiniz. Özel metin sınıflandırıcılar, TextClassifierService.getDefaultTextClassifierImplementation(Context) çağrılarak varsayılan metin sınıflandırıcısına bağlı olabilir.

InlineSuggestionRenderService

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

Paket adı

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

Modül sınırı

Android 12'de ExtServices modül kodu frameworks/base/apex/extservices (frameworks/base project'nin alt dizini) ve packages/modules/ExtServices konumundan taşındı.

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

  • apex/ (frameworks/base/apex/extservices cihazından alınan dosyalar)
  • java/ (packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests kaynaklı dosyalar ve yeni özellik dosyaları)
  • jni/ (yeni özellik için dosyalar)
  • native/ (yeni özellik için dosyalar)

ExtServices modül sınırı packages/modules/ExtServices konumundadır. Android 11 ayrıca çeşitli TextClassifier uygulama sınıflarını frameworks/base/core/ dışına taşı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 önerilmez). Android 10'da ExtServices modülü özelleştirme seçenekleri sunmaz.

Test

Android Uyumluluk Test Paketi (CTS), her modül sürümünde kapsamlı bir CTS testi grubu çalıştırarak ExtServices modülünün işlevselliğini doğrular. Ayrıca, Mainline Test Paketi (MTS) de çeşitli ExtServices testleri içerir. ExtServices testlerinin tam listesi aşağıdaki gibidir: