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 de texte avec saisie automatique, le cache de stockage, le watchdog des packages et d'autres services exécutés en continu. Ce module est mis à jour, ce qui signifie qu'il peut recevoir des mises à jour de fonctionnalités en dehors du cycle de publication normal d'Android.
Composants du 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
permet de 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'un des algorithmes de hachage compatibles qu'il souhaite utiliser.
TextClassifierService
Le composant de service TextClassifierService
est compatible avec les API TextClassifier
et les fonctionnalités Android telles que la sélection intelligente du 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 les 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
(il s'agit d'un sous-répertoire de frameworks/base project
) et de 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
hors de frameworks/base/core/
.
Format du module
Dans Android 11, le module ExtServices (com.android.ext.services
) est au format APEX. Sous Android 10, ce module est au format APK.
Personnalisation
Dans Android 11, vous pouvez configurer un service de classification du texte personnalisé qui appelle le classificateur de texte par défaut (cependant, cela n'est pas recommandé). Sous Android 10, le module ExtServices ne fournit pas d'options de personnalisation.
Tests
La suite de tests de compatibilité Android (CTS) vérifie le fonctionnement du module ExtServices en exécutant un ensemble complet de tests CTS sur chaque version du module. De plus, la suite de tests principale (MTS) contient également plusieurs tests ExtServices. Voici la liste complète des tests ExtServices:
Modifications de configuration. Vérifié par le test CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
Configuration
TextClassifier
. Vérifié par le test CTScts/TextClassifierPolicyTest.java
Suggestion intégrée de saisie automatique. Validé par les tests CTS dans
cts/inline/
.