Services Ext

Le module ExtServices met à jour les composants du framework pour les fonctionnalités principales du système d'exploitation, telles que le classement des notifications, les stratégies de correspondance de texte de remplissage automatique, le cache de stockage, le chien de garde des packages et d'autres services qui s'exécutent en continu. Ce module est modifiable, ce qui signifie qu'il peut recevoir des mises à jour de fonctionnalités en dehors du cycle de publication normal d'Android.

Composants de services

Le module ExtServices contient les services suivants.

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 lequel des algorithmes de hachage pris en charge il souhaite utiliser.

TextClassifierService

Le composant de service TextClassifierService prend en charge les API TextClassifier 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 les suggestions en ligne dans la bande de suggestions du clavier. Ce service est appelé pour restituer un objet View contenant la suggestion en ligne pour le nouveau flux de remplissage automatique en ligne. L'implémentation par défaut de ce service de rendu appelle androidx.autofill.inline.Renderer pour restituer la suggestion. Ce comportement est vérifié par les tests CTS dans /autofillservice/cts/inline/ .

Nom du paquet

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 ). Ce changement de configuration est vérifié 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 du frameworks/base project ) et packages/modules/ExtServices .

La nouvelle structure du projet pour packages/modules/ExtServices est la suivante :

  • apex/ (fichiers de frameworks/base/apex/extservices )
  • java/ (fichiers de packages/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 des modules

Sous 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 classificateur de texte personnalisé qui appelle le classificateur de texte par défaut (cependant, cela n'est pas recommandé). Sous Android 10, le module ExtServices ne propose pas d'options de personnalisation.

Essai

La suite de tests de compatibilité Android (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. La liste complète des tests ExtServices est la suivante :