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, bir örneğini almak için TextClassifierService.getDefaultTextClassifierImplementation(Context) çağırarak 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ına (com.android.ext.services) ayarlamalıdır. Bu yapılandırma değişikliği, CTS testiyle cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java 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'den taşındı.

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

  • apex/ (frameworks/base/apex/extservices 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 Compatibility Test Suite (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: