Le module ExtServices met à jour les composants du framework pour les fonctionnalités de base de l'OS, 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 est également utilisé pour 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 composant de service TextClassifierService
est à la base des API TextClassifier
et des fonctionnalités Android telles que la sélection intelligente de texte et les suggestions intelligentes dans les notifications. Le module ExtServices contient le classificateur de texte par défaut, qui est validé par le test CTS TextClassifierPolicyTest.java
.
Si nécessaire, vous pouvez configurer un service de classification 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 la bande de suggestions 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 de frameworks/base project
) et packages/modules/ExtServices
.
Voici la nouvelle structure de projet pour packages/modules/ExtServices
:
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
hors 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 classification de texte personnalisé qui appelle le classificateur de texte par défaut (mais ce n'est pas recommandé). Dans Android 10, le module ExtServices ne fournit pas d'options de personnalisation.
Tests
La suite de tests de compatibilité Android (CTS) vérifie la fonctionnalité du module ExtServices en exécutant un ensemble complet de tests CTS à chaque version du module. De plus, la suite de tests Mainline (MTS) contient également plusieurs tests ExtServices. Voici la liste complète des tests ExtServices :
Modifications de la configuration. Vérifié par le test CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.TextClassifier
config. Vérifié par le test CTScts/TextClassifierPolicyTest.java
.Suggestion de saisie automatique intégrée. Vérifié par les tests CTS dans
cts/inline/
.