O módulo ExtServices atualiza componentes de framework para funcionalidades principais do SO, como classificação de notificações, estratégias de correspondência de texto de preenchimento automático, cache de armazenamento, vigilância de pacotes e outros serviços que são executados continuamente. Esse módulo pode ser atualizado, ou seja, ele pode receber atualizações de funcionalidade fora do ciclo normal de lançamento do Android.
Componentes de serviço
O módulo ExtServices contém os seguintes serviços.
DisplayHashingServicea partir do Android 12TextClassifierServicea partir do Android 11InlineSuggestionsRenderServicea partir do Android 11AutofillFieldClassificationServicea partir do Android 10NotificationAssistantServicea partir do Android 10ResolverRankerServicea partir do Android 10CacheQuotaServicea partir do Android 10
DisplayHashingService
No Android 12, DisplayHashingService é usado para
gerar 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. Ao
gerar um hash de exibição, o caller pode especificar qual dos algoritmos de hash
compatíveis ele quer usar.
TextClassifierService
O componente de serviço
TextClassifierService
oferece suporte a APIsTextClassifier
e recursos do Android, como seleção inteligente de texto e sugestões inteligentes em
notificações. O módulo ExtServices contém o classificador de texto padrão,
que é verificado pelo teste CTS
TextClassifierPolicyTest.java.
Se necessário, configure um serviço de classificação de texto personalizado especificando
config_defaultTextClassifierPackage em
config.xml.
Os 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 permite que as sugestões inline
sejam mostradas na linha de sugestões do teclado. Esse serviço é chamado para renderizar um 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 de renderização chama
androidx.autofill.inline.Renderer
para renderizar a sugestão. Esse comportamento é verificado por testes do CTS em
/autofillservice/cts/inline/.
Nome do pacote
Os dispositivos com Android 11 precisam definir
config_servicesExtensionPackage (em
frameworks/base/core/res/res/values/config.xml) como o nome do pacote
ExtServices (com.android.ext.services). Essa mudança de configuração é verificada pelo
teste CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.
Limite do módulo
No Android 12, o código do módulo ExtServices
é movido de frameworks/base/apex/extservices
(um subdiretório de frameworks/base project)
e
packages/modules/ExtServices.
A nova estrutura de projeto para packages/modules/ExtServices é a seguinte:
apex/(arquivos deframeworks/base/apex/extservices)java/(arquivos depackages/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. O Android
11 também move várias classes de implementação
TextClassifier para fora de frameworks/base/core/.
Formato do módulo
No Android 11, o módulo ExtServices
(com.android.ext.services) está no formato
APEX. No Android 10, esse módulo está no formato APK.
Personalização
No Android 11, é possível configurar um serviço de classificação de texto personalizado que chama o classificador de texto padrão, mas isso não é recomendado. No Android 10, o módulo ExtServices não oferece opções de personalização.
Teste
O Teste de compatibilidade do Android (CTS) verifica a funcionalidade do módulo ExtServices executando um conjunto abrangente de testes do CTS em todas as versões do módulo. Além disso, o Mainline Test Suite (MTS) também contém vários testes ExtServices. Confira a lista completa de testes do ExtServices:
Mudanças de configuração. Verificado pelo teste do CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.Configuração do
TextClassifier. Verificado pelo teste CTScts/TextClassifierPolicyTest.java.Sugestão inline de preenchimento automático. Verificado por testes do CTS em
cts/inline/.