ExtServices

O módulo ExtServices atualiza os componentes do framework para a funcionalidade principal do SO, como classificação de notificações, estratégias de correspondência de texto com preenchimento automático, cache de armazenamento, de pacotes de monitoramento e outros serviços executados continuamente. Este módulo é atualizáveis, ou seja, podem receber atualizações de funcionalidade Ciclo de lançamento do Android.

Componentes de serviço

O módulo ExtServices contém os serviços a seguir.

Serviço DisplayHashing

No Android 12, o DisplayHashingService é usado para gera uma instância de DisplayHash para o buffer especificado. Ele também é usado para verificar se um hash de exibição específico foi gerado pelo sistema. Quando gerar um hash de exibição, o autor da chamada poderá especificar qual das algoritmos de hash que ela quer usar.

TextClassifierService

A TextClassifierService componentes de serviço back-ends TextClassifier APIs e recursos do Android, como seleção inteligente de texto e sugestões inteligentes no notificações. O módulo ExtServices contém o classificador de texto padrão, que é verificado pelo teste CTS TextClassifierPolicyTest.java

Se necessário, é possível configurar um serviço de classificador de texto personalizado especificando config_defaultTextClassifierPackage pol. config.xml. Classificadores de texto personalizados podem depender do classificador de texto padrão chamando TextClassifierService.getDefaultTextClassifierImplementation(Context) para receber uma instância dele.

InlineSuggestionRenderService

O componente de serviço InlineSuggestionRenderService ativa as sugestões inline seja mostrado na linha de sugestões do teclado. Esse serviço é chamado para renderizar Objeto View que contém a sugestão inline para o novo fluxo de preenchimento automático inline. A implementação padrão desse serviço do renderizador chama o androidx.autofill.inline.Renderer para renderizar a sugestão. Esse comportamento é verificado por testes CTS em /autofillservice/cts/inline/

Nome do pacote

Dispositivos com o Android 11 precisam configurar config_servicesExtensionPackage (em frameworks/base/core/res/res/values/config.xml) para o pacote ExtServices. (com.android.ext.services). Essa alteração na configuração é verificada pelo Teste CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java

Limite do módulo

No Android 12, o serviço ExtServices o código do módulo é movido de frameworks/base/apex/extservices. (este é um subdiretório de frameworks/base project) e packages/modules/ExtServices

A nova estrutura do projeto para packages/modules/ExtServices é a seguinte:

  • apex/ (arquivos do frameworks/base/apex/extservices)
  • java/ (arquivos do packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests, e arquivos para o novo recurso)
  • jni/ (arquivos para o novo recurso)
  • native/ (arquivos para o novo recurso)

O limite do módulo ExtServices está em packages/modules/ExtServices. Android 11 também move várias implementações de TextClassifier classes de frameworks/base/core/.

Formato do módulo

No Android 11, o módulo ExtServices (com.android.ext.services) está em APEX . No Android 10, esse módulo está no formato APK.

Personalização

No Android 11, é possível configurar um texto personalizado serviço de classificação que chama a função de texto padrão classificador (no entanto, isso não é recomendado). Em Android 10, o módulo ExtServices não fornece opções de personalização.

Teste

O Teste de Compatibilidade do Android (CTS, na sigla em inglês) verifica o módulo ExtServices funcionalidade por meio da execução de um conjunto abrangente de testes CTS em cada módulo lançamento. Além disso, o Mainline Test Suite (MTS) também contém várias Testes ExtServices. Esta é a lista completa de testes de ExtServices: