En esta página, se describe la organización del código fuente de Display Safety.
Para obtener más información, consulta el archivo README.md en cada directorio.
Clona el repositorio
Para obtener acceso al repositorio, comunícate con tu administrador técnico de cuentas de Google.
Framework
Este directorio contiene los componentes principales del framework de Display Safety.
| Directorio | Objetivo |
|---|---|
api/har-platform-api |
Es una colección de abstracciones de subsistemas de la plataforma para compilar apps de renderizador de alta disponibilidad (HAR) en plataformas compatibles. |
api/har-types |
Son los tipos de capas de abstracción de hardware. |
asset-manager |
Herramientas para administrar los recursos de la aplicación en el tiempo de ejecución. |
audio/har-audio |
Crate para controlar la reproducción de audio de HAR |
customizations |
Contiene APIs, implementaciones y macros de derivación para producir personalizaciones de diseño a partir de una app basada en HAR. |
derive/har-ui-model-derive |
Macros de procedimientos para derivar rasgos comunes que usa el sistema del modelo de IU de HAR |
display_list |
Define las estructuras y los componentes que describen una escena para la renderización, independientemente de cualquier backend gráfico. |
graphics/external-image |
Un crate para representaciones de imágenes externas. |
graphics/har-gl-context |
Define la API de contexto de gráficos y, además, incluye varias implementaciones en las plataformas compatibles, tanto para la renderización en pantalla como fuera de ella. |
graphics/impeller |
API de Rust segura para Impeller, basada en las vinculaciones de FFI generadas. |
graphics/impeller-renderer |
Implementación del renderizador de alto nivel que usa Impeller como motor de renderización de respaldo. |
har-layout |
Es un wrapper para Taffy que calcula el diseño de las vistas en HAR. |
har-monitoring |
Kit de herramientas de supervisión del rendimiento. |
har-utils |
Utilidades comunes. |
harry |
Es un framework que se usará como base para crear aplicaciones HAR. |
harry-animation |
Una API y una implementación de animación para Harry |
squoosh |
Es el motor de animación y representación intermedio para los parámetros de vista en el framework de Harry. |
task-scheduler |
Utilidad para programar tareas y ejecutarlas en un subproceso en segundo plano después de una demora especificada. |
test_suites |
Paquetes de pruebas para ejecutar pruebas de unidades de Display Safety |
Compilaciones previas
Este directorio contiene bibliotecas y recursos ya compilados.
| Directorio | Objetivo |
|---|---|
impeller/ |
Son bibliotecas precompiladas para el motor de gráficos Impeller, organizadas por SO y arquitectura. |
impeller-rs-bindgen/ |
Son vinculaciones de FFI de Rust para Impeller. |
impeller-rs-bindgen-wrapper/ |
Es un wrapper de API para las vinculaciones de Impeller. |
Referencia
Este directorio contiene la implementación de referencia de HAR, las implementaciones específicas de la plataforma, las herramientas y los artefactos de prueba.
| Directorio | Objetivo |
|---|---|
audio/tinyalsa-rs |
Vinculaciones de FFI de Rust para la biblioteca de audio de Tinyalsa. |
audio/tinyalsa-audio |
Biblioteca para la reproducción de audio y la administración de dispositivos, basada en vinculaciones de FFI generadas por el crate `tinyalsa-rs` |
camera/emulated-camera |
Proporciona una implementación de una cámara emulada con el rasgo "Camera" de "har-platform-api". |
graphics/gl-helpers |
Cajón de utilidades que contiene funciones auxiliares de GL |
har-user-input-evdev/ |
Implementa una implementación básica del controlador de entrada basado en evdev. Admite eventos de teclado, mouse y táctiles (de un solo toque y multitáctiles) |
harry-app/ |
Implementación de referencia para una app de renderizador de alta disponibilidad (HAR) portátil compilada con el framework de "harry". |
harry-app-core/ |
Lógica principal de la aplicación, administración de estados y definiciones de modelos de IU para la app de referencia `harry-app`. |
harry-app-utils/ |
Funciones de utilidad y módulos auxiliares para la app de referencia "harry-app". |
harry-control-api/ |
Son las APIs de control para la app de referencia `harry-app`. |
harry-grpcio-server/ |
Servidor gRPC (basado en grpcio). Solo se usa cuando se compila la versión de Android con Soong. |
harry-tonic-server/ |
Servidor gRPC (basado en Tonic). Solo se usa cuando se compila la versión de Linux con Cargo. |
harry-vehicle-data-grpc/ |
Es el código de gRPC de los datos del vehículo, que se genera a partir de los archivos .proto de los datos del vehículo. |
i18n/harry-app-i18n |
Servicios de internacionalización y localización para HAR. |
i18n/i18n-protos |
Define los mensajes de protobuf y la generación de código Rust para los datos de i18n. |
libyuv-rs/ |
Son vinculaciones de Rust para libyuv. |
platforms/har-log |
Define las implementaciones de registro y seguimiento para cada plataforma compatible. |
platforms/har-looper-headless |
Es una implementación de Looper independiente de la plataforma para la renderización sin interfaz gráfica. |
platforms/har-platform-android |
Proporciona implementaciones específicas de Android de las abstracciones de la plataforma `har-platform-api`. |
platforms/har-platform-linux |
Proporciona implementaciones específicas de Linux de las abstracciones de la plataforma `har-platform-api`. |
platforms/harry-app-platform-specific |
Es el puente de compilación condicional para harry-app, que selecciona la implementación correcta según la plataforma seleccionada. |
safety-monitor |
Implementación de un monitor de seguridad de referencia para Android. |
screencap |
Utilidad de captura de pantalla para extraer capturas de pantalla directamente de los búferes de fotogramas DRM |
vehicle-data-scripts |
Estructuras y lógica para crear secuencias de datos del vehículo basadas en secuencias de comandos |
Servicio
Este directorio contiene servicios de Android relacionados con la Seguridad de la pantalla.
| Directorio | Objetivo |
|---|---|
ds-cvd-toolkit |
Es una herramienta de línea de comandos para la seguridad de la pantalla que permite iniciar varios dispositivos de Cuttlefish. |
emulator |
Compatibilidad del emulador con las superposiciones de recursos en tiempo de ejecución |
har-grpc-services |
Contiene las definiciones de .proto que se usan en la implementación de referencia para establecer canales de comunicación entre la app de HAR y los servicios de DriverUI y de datos del vehículo. |
har-sdv-service* |
Proporciona un paquete de servicios de SDV que se usa para proporcionar servicios de datos a HAR utilizando el código generado por los archivos .proto. |
har-tracing-common |
Servicios de registro de rendimiento para HAR |
harry-prebuilt/ |
Componentes de Harry prediseñados (recursos, configuraciones, etc.) |
ivi/ |
Componentes relacionados con el IVI (infoentretenimiento en el vehículo) de Android |
libhar_graphics/ |
Biblioteca de gráficos en C++ para los servicios de HAR. |
pdk/ |
Metadatos de lanzamiento del PDK |
product/ |
Configuraciones y recursos específicos del producto |
SdvCameraPreviewApp |
App de vista previa de la cámara para el SDV. |
vehicledata |
Implementa un publicador de Data Tunnel de SDV de datos del vehículo con gRPC |
Utils
Este directorio contiene utilidades generales para implementaciones de referencia y pruebas.
| Directorio | Objetivo |
|---|---|
asset-manager-cli |
Proporciona una interfaz de línea de comandos para generar paquetes de recursos. |
dcf-info/ |
Herramienta para extraer metadatos de un DCF (documento de Figma de diseño serializado de Compose). |
figma-utils |
Proporciona un wrapper de línea de comandos para `figma_import` para recuperar documentos de Figma serializados. |
gauge-test |
App diseñada para probar y demostrar elementos de la IU de dial y medidor. |
gui-playground-app |
Es un entorno de zona de pruebas para probar nuevas funciones de IU y animación. |
har-platform-tests |
Es un conjunto de pruebas de integración para implementaciones de rasgos específicos de la plataforma. |
har-rendering-parity |
Herramienta visual para verificar la paridad de renderización entre HAR, DesignCompose y Figma. |
harry-rpc-client |
Proporciona una interfaz de línea de comandos para enviar comandos a Harry a través de RPC. |
human-readable-report-generator |
Utilidad para la verificación visual de artefactos de seguridad. |
ktx-utils |
Proporciona utilidades para codificar y decodificar archivos de texturas Khronos KTX 2.0. |
list-test-app |
Sirve como entorno de prueba y demostración para la administración de listas en HAR. |
transfer-localizations |
Es una utilidad para convertir archivos de localización XML de Android al formato .proto de HAR. |
variable-density-analyzer |
Analiza un documento de Figma y calcula la proporción de nodos en relación con las variables de diseño. |