Personaliza la app de referencia

En esta sección, se detalla cómo puedes personalizar la app de referencia del Centro de control y la IU.

Flujos de usuarios e interfaz de usuario

En esta sección, se describen los flujos del usuario y cómo iniciar el Centro de control.

Centro de control de lanzamiento

Puedes iniciar el Centro de control a través del Selector de aplicaciones o un ícono en la barra de navegación de la IU del sistema. El ícono solo aparece en las compilaciones en las que se habilitaron los usuarios visibles en segundo plano (para obtener más información, consulta UserHandleAware).

Puedes ver el Centro de control en cualquier momento. El Centro de control consta de una combinación de ventanas traslúcidas y fondos transparentes para que pueda aparecer sobre cualquier otra app, incluidos los videos y el contenido multimedia que se reproducen de forma activa. En la página de destino de la app, haz lo siguiente:

  • La disposición de la pantalla y el uso de pantallas locales y remotas
  • Son las pantallas que se propagan con contenido multimedia y controles multimedia.
  • Cómo cada pantalla presenta una vista detallada de los controles de contenido multimedia (y mucho más)

La disposición de las pantallas representa el diseño de las pantallas en el vehículo. Cada pantalla es un DevicePickerScreen. Para personalizar la ubicación y el tamaño de cada pantalla, usa una superposición de recursos en tiempo de ejecución (RRO). Para obtener más información, consulta Cómo cambiar el valor de los recursos de una app en el tiempo de ejecución.

Para cada pantalla en la que se abre el Centro de control, se muestra una pantalla diferente con un borde destacado brillante. Esta es la pantalla local, la pantalla en uso.

Cada segunda pantalla es una pantalla remota para representar una pantalla diferente en el automóvil que puedes identificar según la disposición de las pantallas en el fragmento. Para calcular la cantidad total de zonas de ocupantes configuradas en el vehículo, usa CarOccupantZoneManager#getAllOccupantZones.

Cada pantalla define un atributo personalizado controlcenter:occupantZoneId para asociar datos con la zona de ocupante respectiva. Cuando se reproduce una app de contenido multimedia en una pantalla específica, la pantalla correspondiente muestra la portada del álbum de contenido multimedia. Debajo de la pantalla, se muestra un botón Reproducir (o Pausar).

Si la app multimedia activa es una tarea visible (abierta detrás del Centro de control), se habilitará un botón Compartir ubicado junto al botón Reproducir para abrir la página de duplicación. Compartir te permite compartir la pantalla de la app de contenido multimedia y es más útil para las apps de contenido multimedia con videos.

Elementos de la pantalla

Si presionas una pantalla, se mostrará una vista detallada del contenido multimedia que se reproduce en la pantalla. Esta se denomina pantalla de detalles. En la vista, se muestran metadatos de contenido multimedia, como el título, el progreso de la reproducción y el artista. Estos botones proporcionan un control adicional de la zona del ocupante.

  • Salida de audio muestra qué salida de audio está reproduciendo el contenido multimedia, como las bocinas de la cabina o los auriculares. Salida de audio abre un diálogo para cambiar la salida de audio y el volumen multimedia.

  • Display Input Lock bloquea la entrada a la pantalla. Esta operación no se puede aplicar a la pantalla del conductor.

  • Display Power apaga la pantalla. Esta operación no se puede aplicar a la pantalla del conductor.

En la vista Detalles, se muestra un botón Compartir que se debe presionar cuando el contenido multimedia es una tarea visible detrás de la app del Centro de control. Compartir abre la página de duplicación:

Recorrido de duplicación y visualización en compañía entre el remitente (arriba) y el receptor (abajo)
Figura 2: Reflejo de la página y recorrido de visualización en compañía entre el remitente (arriba) y el receptor (abajo).

Cómo iniciar una sesión de Visualización en compañía

La página de duplicación es similar a la página de destino, ya que usa un RRO.

Para agregar una pantalla a la función de Mirar juntos, presiónala y, luego, presiona Listo.

Si lo haces, se abrirá un Mirroring Activity que aloja la app compartida y proporciona controles flotantes y transitorios para salir de la sesión de Visualización en compañía o volver a ingresar a la página de duplicación para agregar o quitar participantes.

Actividad de duplicación que muestra una app compartida con controles flotantes para administrar la sesión de Visualización en compañía.
Figura 3: Actividad de duplicación con controles flotantes transitorios.

Resumen

Aquí se resumen las diferentes páginas del Centro de control.

Diagrama de flujo que muestra las diferentes páginas y transiciones dentro de la app de Control Center.
Figura 4: Páginas del Centro de control.

Lineamientos de personalización

El Centro de control usa la biblioteca de IU del vehículo para permitirte personalizar y proporcionar un tema y una estructura básicos que se pueden adoptar tal como están o modificarse según estas restricciones.

Personalización Descripción
OPCIONAL

Ajusta el diseño y el estilo generales a través de una RRO, por ejemplo:

  • Paleta de colores
  • Tamaño
  • Apariencia del texto
  • Apariencia del diálogo
  • Elementos de diseño
  • Valores de configuración
PREFERENCIAL Modifica la estructura de la IU de alto nivel del Centro de control.

Control Center pertenece a un conjunto de apps del sistema, que incluye Media, Notification Center y App Launcher. Estas apps comparten estilos y recursos definidos en diferentes niveles de la estructura del AOSP:

framework/base/core
Aquí se definen todos los estilos base de Android. Específicamente, todos los temas de apps del sistema se basan en Theme.DeviceDefault, el tema diseñado para que los OEM lo usen para personalizar la apariencia predeterminada del dispositivo.

packages/services/Car/car_product/overlay:
Esta carpeta contiene anulaciones de Theme.DeviceDefault que se usan para producir el aspecto y el comportamiento de AOSP de Android Automotive. Los OEM pueden optar por excluir esta capa superpuesta y usar la suya en su lugar.

packages/apps/Car/libs/car-ui-lib:
Esta biblioteca define los componentes y recursos de AAOS comunes a las apps del sistema y las apps no agrupadas diseñadas para la personalización. Para obtener más información, consulta la Guía de integración de la biblioteca de IU del vehículo.

packages/apps/Car/libs/car-apps-common:
Colores y estilos comunes compartidos entre las apps del sistema proporcionadas por el AOSP. Puedes usar superposiciones para personalizar estos elementos (de manera similar a packages/services/Car/car_product/overlay).

packages/apps/Car/MultiDisplay/ControlCenter:
Todas las apps del sistema tienen un tema, que se extiende desde Theme.CarUi y se define en car-ui-lib. ControlCenterActivity usa Theme.Transparent personalizado, que extiende Theme.CarUi.

Para admitir un flujo (como la visualización en compañía que requiere que la tarea duplicada sea visible), el Centro de control usa una combinación de ventanas translúcidas y fondos transparentes que no envían la app al segundo plano ni envían Lifecycle events.

<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
</style>