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

  • Interfaz de usuario del sistema. Faceta de navegación inferior 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 .

  • Lanzador de aplicaciones. Gestiona 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 ningún widget de Inicio. Es posible que los OEM quieran considerar agregar un widget de inicio para que el marcador muestre el estado del teléfono conectado actualmente (así como otra información).

  • Centro de notificaciones

    • La notificación de aviso (HUN) se muestra para las llamadas entrantes. Cuando el Marcador InCallServiceImpl recibe una llamada entrante, el Marcador 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 del marcador en llamada y descarta el HUN. Al hacer clic en HUN se muestra la página InCall en pantalla completa con los botones Responder y Rechazar.

    • Aparece una notificación para 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 realice 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 de MARCAR con números de teléfono adicionales que iniciarán la página del teclado para marcar rápidamente.

  • Servicio de entrada de coche. Monitorea 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 ninguna llamada entrante envía la intención de MARCAR y muestra la página Teclado del Marcador.

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

    • Botón Finalizar llamada del volante Cuando hay una llamada entrante, 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 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 en el 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 gestiona llamadas de audio y vídeo en un dispositivo Android. Dado que Dialer es la aplicación de teléfono predeterminada, implementa las API 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 monitorea 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 según 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 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 según lo documentado.

    • De particular importancia para Marcador:

      • La página de configuración está optimizada para el vehículo. El usuario no pudo acceder a la página de configuración del marcador mientras conduce. Al tocar el menú Configuración desde la barra de acciones, se muestra una pantalla de bloqueo para evitar que el usuario acceda a la Configuración mientras conduce. Si la página de Configuración ya se muestra, 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 primero estacione el automóvil 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 usuarios

Marcador principal

Las diferentes páginas para Dialer 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 entrega de llamadas se presenta a continuación:

Manejo de llamadas

Figura 3. Manejo de llamadas

Notificaciones

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

Notificaciones

Figura 4. Notificaciones

Estado de llamada entrante

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

Página de llamada entrante

Figura 5. Página En llamada

Las pantallas de búsqueda son:

Buscar

Figura 6. Búsqueda

Ajustes

Las opciones de Configuración son:

Ajustes

Figura 7. Configuración