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.
DisplayHashingService
a partir do Android 12TextClassifierService
a partir do Android 11InlineSuggestionsRenderService
a partir de Android 11AutofillFieldClassificationService
a partir de Android 10NotificationAssistantService
a partir de Android 10ResolverRankerService
a partir de Android 10CacheQuotaService
a partir do Android 10
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 doframeworks/base/apex/extservices
)java/
(arquivos dopackages/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:
Mudanças na configuração. Verificado pelo teste CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
Configuração
TextClassifier
. Verificado pelo teste do CTScts/TextClassifierPolicyTest.java
Preenchimento automático da sugestão inline. Verificado por testes CTS em
cts/inline/