Detalles técnicos

El siguiente diagrama ilustra los componentes del sistema que interactúan con Dialer:

Componentes que interactúan con Dialer

Figura 1. Componentes que interactúan con Dialer

  • IU del sistema. Baje la faceta de navegación para alojar el botón Teléfono, que registra la intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end . Esto inicia la actividad principal del usuario, TelecomActivity .

  • Iniciador de aplicaciones. Administra toda la lista de aplicaciones. Dialer declara TelecomActivity con android.intent.category.LAUNCHER . Al seleccionar la aplicación de teléfono de la lista de aplicaciones del iniciador, se muestra TelecomActivity.

  • Widget de inicio. En la referencia de AOSP, no hay un widget de Inicio. Es posible que los OEM deseen considerar agregar un widget de Inicio para Dialer para mostrar el estado del teléfono conectado actual (así como otra información).

  • Centro de notificaciones

    • Se muestra la notificación Heads Up (HUN) para las llamadas entrantes. Cuando Dialer InCallServiceImpl recibe una llamada entrante, Dialer publica un HUN en el centro de notificaciones, que muestra los detalles de la llamada, como el número de teléfono o la información de contacto. El marcador también muestra dos botones de acción, Responder y Rechazar. Al tocar el botón Responder, se responde la llamada e InCallServiceImpl maneja la llamada activa para mostrar la interfaz de usuario de la llamada del marcador y descarta el HUN. Al hacer clic en HUN, se muestra la página InCall a pantalla completa con los botones Responder y Rechazar.

    • Aparece una notificación para las llamadas perdidas no leídas. Al hacer clic en la notificación, se muestra la página Historial de llamadas y se marcan las llamadas perdidas como leídas. Al tocar el botón Devolver llamada, se realiza una llamada y se muestra la interfaz de usuario InCall del marcador.

  • Asistente. Los usuarios pueden pedirle a un asistente que haga una llamada que puede mostrar la interfaz de usuario de Dialer InCall.

  • Mapas de Google. Llamar a un comerciante desde Google Maps envía la intención DIAL con números de teléfono adicionales que iniciarán la página del teclado de marcación para marcar rápidamente.

  • Servicio de entrada de coche. Supervisa la tecla física de los botones Llamar y Finalizar llamada en el volante. Presionando el:

    • El botón de llamada del volante cuando no hay una llamada entrante envía la intención de MARCAR y muestra la página del teclado de marcación del marcador.

    • El botón de llamada del volante cuando hay una llamada entrante hace que TelecomManager responda la llamada.

    • Botón Finalizar llamada desde el volante cuando hay una llamada entrante, el TelecomManager finaliza la llamada.

  • Bluetooth

    • Cliente PBAPC. Descarga contactos desde un teléfono y escribe al proveedor de contactos. Para cada teléfono conectado, se crea una cuenta con la dirección MAC de Bluetooth del dispositivo como nombre de cuenta y com.android.bluetooth.pbapsink ( @string/pbap_account_type definido en packages/apps/Bluetooth ) como tipo de cuenta. Los contactos escritos al proveedor de contactos se escriben con la información de la cuenta y se borran cuando se desconecta el teléfono. PBAPClient no interactúa directamente con Dialer, sino que escribe contactos en el proveedor de contactos. El marcador lee los contactos del proveedor de contactos.

    • HfpClientConnectionService . Gestiona la llamada Bluetooth a través de HFP y reporta la llamada a los servicios de Telecom.

  • telecomunicaciones El marco de Android Telecom administra llamadas de audio y video en un dispositivo Android. Dado que Dialer es la aplicación de teléfono predeterminada, implementa las API de InCallService e InCallController vinculará la implementación de InCallService de Dialer para manejar las llamadas. Para obtener más detalles, consulte Crear una aplicación de teléfono de reemplazo y Convertirse en la aplicación de teléfono predeterminada .

  • Ajustes del sistema. El marcador supervisa la lista de dispositivos conectados a HFP y muestra un mensaje de error cuando no hay teléfonos conectados al marcador a través de Bluetooth. En la referencia de AOSP, el botón Conectar a Bluetooth vincula a los usuarios a la página de configuración de Bluetooth del sistema para emparejar un nuevo dispositivo o conectarse a un dispositivo emparejado.

  • Motor de distracción del conductor. Este servicio del sistema Android impone restricciones de UX basadas en el estado de conducción del automóvil. El marcador debe ejecutar todas las restricciones de distracción de conducción de UX. Para hacerlo, el marcador debe escuchar el CarUXRestrictionManager e implementar todas las políticas. El marcador debe:

    • Conéctese a la biblioteca Car y obtenga una instancia de CarUXRestrictionManager .

    • Suscríbase a las actualizaciones en la lista de CarUxRestrictions e impleméntelas como se documenta.

    • De particular importancia para Dialer:

      • La página de configuración está optimizada para vehículos. El usuario no podía acceder a la página de configuración del marcador mientras conducía. Al tocar el menú Configuración de la barra de acción, se muestra una pantalla de bloqueo para evitar que el usuario acceda a Configuración mientras conduce. Si ya se muestra la página Configuración, aparecerá la pantalla de bloqueo para detener la interacción del usuario.

      • No se puede acceder a la configuración del sistema mientras se conduce. En la página de error, cuando no hay dispositivos Bluetooth conectados, un botón Conectar a Bluetooth muestra la página de configuración de Bluetooth del sistema. La UXR de este botón está totalmente restringida. Mientras conduce, al hacer clic en este botón, se muestra un mensaje de error para informar al usuario que estacione el automóvil primero y luego realice la acción.

      • El usuario no puede iniciar el flujo de agregar a favoritos mientras conduce. El botón Agregar un favorito está deshabilitado.

Flujos de usuario

Marcador principal

Las diferentes páginas para Marcador se proporcionan a continuación.

Página principal del marcador

Figura 2. Página principal del marcador

Manejo de llamadas

El flujo del proceso de gestión de llamadas se presenta a continuación:

Manejo de llamadas

Figura 3. Gestión de llamadas

Notificaciones

Las diferentes páginas de notificaciones se muestran a continuación:

Notificaciones

Figura 4. Notificaciones

Estado de llamadas entrantes

El flujo de la página InCall se muestra a continuación:

Página de llamadas entrantes

Figura 5. Página de llamadas entrantes

Las pantallas de búsqueda son:

Búsqueda

Figura 6. Búsqueda

Ajustes

Las opciones de Configuración son:

Ajustes

Figura 7. Configuración