Le module ExtServices met à jour les composants du framework pour les fonctionnalités de base du système d'exploitation, telles que le classement des notifications, les stratégies de correspondance du texte de saisie automatique, le cache de stockage, le watchdog de package et d'autres services qui s'exécutent en continu. Ce module est évolutif, ce qui signifie qu'il peut recevoir des mises à jour de fonctionnalités en dehors du cycle de publication Android normal.
Composants de service
Le module ExtServices contient les services suivants.
DisplayHashingServiceà partir d'Android 12TextClassifierServiceà partir d'Android 11InlineSuggestionsRenderServiceà partir d'Android 11AutofillFieldClassificationServiceà partir d'Android 10NotificationAssistantServiceà partir d'Android 10ResolverRankerServiceà partir d'Android 10CacheQuotaServiceà partir d'Android 10
DisplayHashingService
Dans Android 12, DisplayHashingService est utilisé pour
générer une instance de DisplayHash pour le tampon spécifié. Il permet également de vérifier qu'un hachage d'affichage spécifique a été généré par le système. Lors de la génération d'un hachage d'affichage, l'appelant peut spécifier l'algorithme de hachage compatible qu'il souhaite utiliser.
TextClassifierService
Le
TextClassifierService
composant de service est compatible avec lesTextClassifier
API
et les fonctionnalités Android telles que la sélection de texte intelligente et les suggestions intelligentes dans les
notifications. Le module ExtServices contient le classificateur de texte par défaut,
qui est vérifié par le test CTS
TextClassifierPolicyTest.java.
Si nécessaire, vous pouvez configurer un service de classificateur de texte personnalisé en spécifiant
config_defaultTextClassifierPackage dans
config.xml.
Les classificateurs de texte personnalisés peuvent dépendre du classificateur de texte par défaut en appelant
TextClassifierService.getDefaultTextClassifierImplementation(Context)
pour en obtenir une instance.
InlineSuggestionRenderService
Le composant de service InlineSuggestionRenderService permet d'afficher des suggestions intégrées dans le chip de suggestion du clavier. Ce service est appelé pour afficher un objet View contenant la suggestion intégrée pour le nouveau flux de saisie automatique intégrée.
L'implémentation par défaut de ce service de rendu appelle
androidx.autofill.inline.Renderer
pour afficher la suggestion. Ce comportement est vérifié par les tests CTS dans
/autofillservice/cts/inline/.
Nom du package
Les appareils exécutant Android 11 doivent définir
config_servicesExtensionPackage (dans
frameworks/base/core/res/res/values/config.xml) sur le nom du package ExtServices (com.android.ext.services). Cette modification de configuration est vérifiée par le
test CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.
Limite du module
Dans Android 12, le code du module ExtServices
est déplacé de frameworks/base/apex/extservices
(sous-répertoire du projet frameworks/base project)
et
packages/modules/ExtServices.
La nouvelle structure de projet pour packages/modules/ExtServices est la suivante :
apex/(fichiers deframeworks/base/apex/extservices)java/(fichiers depackages/modules/ExtServices/res,packages/modules/ExtServices/src,packages/modules/ExtServices/tests, et fichiers pour la nouvelle fonctionnalité)jni/(fichiers pour la nouvelle fonctionnalité)native/(fichiers pour la nouvelle fonctionnalité)
La limite du module ExtServices se trouve dans packages/modules/ExtServices. Android 11 déplace également plusieurs classes d'implémentation TextClassifier en dehors de frameworks/base/core/.
Format du module
Dans Android 11, le module ExtServices
(com.android.ext.services) est au format APEX. Dans Android 10, ce module est au format APK.
Personnalisation
Dans Android 11, vous pouvez configurer un service de classificateur de texte personnalisé qui appelle le classificateur de texte par défaut (toutefois, cela n'est pas recommandé). Dans Android 10, le module ExtServices ne propose pas d'options de personnalisation.
Tests
L'outil Android Compatibility Test Suite (CTS) vérifie la fonctionnalité du module ExtServices en exécutant un ensemble complet de tests CTS sur chaque version du module. De plus, la Mainline Test Suite (MTS) contient également plusieurs tests ExtServices. Voici la liste complète des tests ExtServices :
Modifications de la configuration. Vérifiées par le test CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.Configuration
TextClassifier. Vérifiée par le test CTScts/TextClassifierPolicyTest.java.Suggestion intégrée de saisie automatique. Vérifiée par les tests CTS dans
cts/inline/.