O Dialer está equipado com uma estrutura integrada de depuração e teste que permite validar os recursos do aplicativo Dialer sem a necessidade de dispositivos prontos para chamadas. Isso elimina a necessidade de Bluetooth e telefones conectados com serviço celular. Este Dialer Testing Framework (DTF) simplifica estes processos:
- Configurar um dispositivo real para validar ideias rapidamente normalmente consome tempo.
- Testar recursos de múltiplas chamadas requer pelo menos três telefones equipados com cartão SIM, dois dos quais são usados apenas para fazer chamadas.
- Depurando o Dialer e suas dependências.
Como a funcionalidade do Dialer depende de várias pilhas de tecnologia, incluindo Telecom, Telefonia e Bluetooth Hands Free Profile (HFP), bugs e problemas que surgem nessas dependências podem causar instabilidade do Dialer. O DTF permite que o Dialer seja executado independentemente dessas dependências.
Características
O DTF fornece estes recursos:
- Colocação de chamadas. Faça e receba chamadas sem a necessidade de um dispositivo pronto para chamadas por meio do terminal com uma transmissão Android Debug Bridge (adb) .
- Chamadas simuladas. A funcionalidade de chamada é ridicularizada. Isso inclui segurar, silenciar, mesclar e desconectar.
Utilize o DTF
Observação: o DTF está disponível apenas no Android 11 ou superior.
Para usar o DTF:
- Crie e instale a variante de compilação
CarDialerAppForTesting
da seguinte forma:cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
Como resultado,
CarDialerAppForTesting
substitui o aplicativo Dialer original no dispositivo de teste.CarDialerAppForTesting
não funciona com dispositivos reais. Para testar com um dispositivo real, reinstale oCarDialerApp.apk
.
Comandos
Os comandos adb a seguir funcionam somente após o Dialer ser iniciado pela primeira vez e exigem que o receptor de transmissão seja inicializado. Após iniciar o Dialer, um dispositivo Bluetooth falso deve ser conectado. Use o seguinte comando (Configuração) Conectar um dispositivo para fazer isso.
(Configurar) Conectar um dispositivo
Estabelece uma conexão Bluetooth falsa com o Dialer e deve ser chamado primeiro para permitir o acesso a todos os comandos relacionados à chamada.
Para conectar um dispositivo:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
Nota: Somente depois que um dispositivo Bluetooth falso for conectado, cada um dos comandos a seguir poderá ser usado.
Fazer uma chamada
Para fazer uma chamada:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
Receber uma chamada
Para receber uma chamada:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
Encerrar uma chamada
Para encerrar uma chamada:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
Reter a chamada atual
Para colocar a chamada atual em espera:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
Liberar a chamada atual
Para retirar a chamada atual da espera:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Mesclar chamadas
Mesclar as chamadas primárias e secundárias em uma chamada em conferência. Este comando funciona somente quando existem chamadas primárias e secundárias. Uma teleconferência existente é considerada uma entidade única.
Para mesclar chamadas:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Limpar todas as chamadas
Para remover todas as chamadas da lista de chamadas:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
Construção de emulador
Às vezes, os desenvolvedores podem querer testar as alterações da IU em um emulador. Nesses casos, CarDialerAppEmulatorBuild
fornece uma configuração simplificada e funcionalidade limitada em comparação com o DTF mais poderoso.
Dados de teste
Quando o Dialer é iniciado, a página de erro do Bluetooth é ignorada e o conteúdo principal do TelecomActivity
é exibido. Os contatos e registros de chamadas são exibidos no dispositivo local. Os desenvolvedores podem usar o aplicativo de contatos de estoque para criar contatos de teste ou importar um arquivo .vcf
.
Chamada de zombaria
Para simular chamadas recebidas, use o Android Emulator para enviar comandos Telnet. Para saber mais, consulte Executar aplicativos no Android Emulator e Enviar comandos do console do Emulador .
telnet localhost 5554 gsm call xxx-xxx-xxxx
Fazer uma chamada no aplicativo Dialer ou transmitir uma intenção de chamada inicia uma chamada de saída.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx