Questa pagina descrive l'organizzazione del codice sorgente di Display Safety.
Per ulteriori informazioni, consulta il file README.md in ogni directory.
Clona il repository
Per accedere al repository, contatta il tuo Technical Account Manager Google.
Framework
Questa directory contiene i componenti principali del framework Display Safety.
| Directory | Finalità |
|---|---|
api/har-platform-api |
Raccolta di astrazioni del sottosistema della piattaforma per la creazione di app di rendering ad alta disponibilità (HAR) su piattaforme supportate. |
api/har-types |
Tipi di livello di astrazione hardware. |
asset-manager |
Strumenti per la gestione degli asset delle applicazioni di runtime. |
audio/har-audio |
Crate per la gestione della riproduzione audio HAR |
customizations |
Contiene API, implementazioni e macro di derivazione per produrre personalizzazioni del design da un'app basata su HAR. |
derive/har-ui-model-derive |
Macro procedurali per la derivazione di tratti comuni utilizzati dal sistema di modelli UI HAR |
display_list |
Definisce le strutture e i componenti che descrivono una scena per il rendering, disaccoppiata da qualsiasi backend grafico. |
graphics/external-image |
Un crate per le rappresentazioni di immagini esterne. |
graphics/har-gl-context |
Definisce l'API del contesto grafico e include più implementazioni su piattaforme supportate, sia per il rendering su schermo che off-screen. |
graphics/impeller |
API Rust sicura per Impeller, basata sui binding FFI generati. |
graphics/impeller-renderer |
Implementazione del renderer di alto livello che utilizza Impeller come motore di rendering di backup. |
har-layout |
Un wrapper per Taffy per calcolare il layout delle visualizzazioni in HAR. |
har-monitoring |
Toolkit di monitoraggio del rendimento. |
har-utils |
Utilità comuni. |
harry |
Framework da utilizzare come base per la creazione di applicazioni HAR |
harry-animation |
Un'API e un'implementazione di animazione per Harry |
squoosh |
Rappresentazione intermedia e motore di animazione per i parametri di visualizzazione nel framework Harry. |
task-scheduler |
Utilità per la pianificazione delle attività e la loro esecuzione in un thread in background dopo un ritardo specificato. |
test_suites |
Suite di test per l'esecuzione dei test delle unità di Display Safety |
Precompilati
Questa directory contiene librerie e asset precompilati.
| Directory | Finalità |
|---|---|
impeller/ |
Librerie precompilate per il motore grafico Impeller, organizzate per sistema operativo e architettura. |
impeller-rs-bindgen/ |
Binding FFI Rust per Impeller. |
impeller-rs-bindgen-wrapper/ |
Wrapper API per i binding Impeller. |
Riferimento
Questa directory contiene l'implementazione di riferimento HAR, le implementazioni specifiche della piattaforma, gli strumenti e gli artefatti di test.
| Directory | Finalità |
|---|---|
audio/tinyalsa-rs |
Binding FFI Rust per la libreria audio Tinyalsa. |
audio/tinyalsa-audio |
Libreria per la riproduzione audio e la gestione dei dispositivi, basata sui binding FFI generati dal crate `tinyalsa-rs` |
camera/emulated-camera |
Fornisce un'implementazione di una videocamera emulata utilizzando il tratto `Camera` di `har-platform-api`. |
graphics/gl-helpers |
Crate di utilità contenente funzioni di assistenza GL |
har-user-input-evdev/ |
Implementa una gestione di base dell'input basata su evdev. Supporta eventi di tastiera, mouse e tocco (singolo e multi-touch) |
harry-app/ |
Implementazione di riferimento per un'app di rendering ad alta affidabilità (HAR) portatile creata utilizzando il framework `harry`. |
harry-app-core/ |
Logica dell'applicazione principale, gestione dello stato e definizioni del modello UI per l'app di riferimento `harry-app`. |
harry-app-utils/ |
Funzioni di utilità e moduli di assistenza per l'app di riferimento `harry-app`. |
harry-control-api/ |
API di controllo per l'app di riferimento `harry-app`. |
harry-grpcio-server/ |
Server gRPC (basato su grpcio). Viene utilizzato solo quando si crea la versione Android con soong |
harry-tonic-server/ |
Server gRPC (basato su tonic). Viene utilizzato solo quando si crea la versione Linux versione con Cargo. |
harry-vehicle-data-grpc/ |
Codice gRPC dei dati del veicolo, generato dai file proto dei dati del veicolo. |
i18n/harry-app-i18n |
Servizi di internazionalizzazione e localizzazione per HAR. |
i18n/i18n-protos |
Definisce i messaggi protobuf e la generazione di codice Rust per i dati i18n. |
libyuv-rs/ |
Binding Rust per libyuv. |
platforms/har-log |
Definisce le implementazioni di log e tracciamento per ogni piattaforma supportata. |
platforms/har-looper-headless |
Un'implementazione di looper indipendente dalla piattaforma per il rendering headless. |
platforms/har-platform-android |
Fornisce implementazioni specifiche di Android delle astrazioni della piattaforma `har-platform-api`. |
platforms/har-platform-linux |
Fornisce implementazioni specifiche di Linux delle astrazioni della piattaforma `har-platform-api`. |
platforms/harry-app-platform-specific |
Il bridge di compilazione condizionale per harry-app, che seleziona l'implementazione corretta in base alla piattaforma selezionata. |
safety-monitor |
Implementazione di un monitor di sicurezza di riferimento per Android. |
screencap |
Utilità di acquisizione schermo per estrarre screenshot direttamente dai framebuffer DRM |
vehicle-data-scripts |
Strutture e logica per la creazione di sequenze di dati del veicolo con script |
Servizio
Questa directory contiene i servizi Android correlati a Display Safety.
| Directory | Finalità |
|---|---|
ds-cvd-toolkit |
Uno strumento a riga di comando per Display Safety che consente l'avvio di più dispositivi Cuttlefish. |
emulator |
Supporto dell'emulatore per le sovrapposizioni delle risorse di runtime |
har-grpc-services |
Contiene le definizioni proto utilizzate nell'implementazione di riferimento per stabilire i canali di comunicazione tra l'app HAR e i servizi DriverUI e dati del veicolo. |
har-sdv-service* |
Fornisce un bundle di servizi SDV utilizzato per fornire servizi di dati a HAR utilizzando il codice generato dai file proto |
har-tracing-common |
Servizi di tracciamento del rendimento per HAR |
harry-prebuilt/ |
Componenti Harry precompilati (asset, configurazioni e così via) |
ivi/ |
Componenti correlati ad Android IVI (In-Vehicle Infotainment) |
libhar_graphics/ |
Libreria grafica C++ per i servizi HAR. |
pdk/ |
Metadati della release PDK |
product/ |
Asset e configurazioni specifici del prodotto |
SdvCameraPreviewApp |
App di anteprima della videocamera per SDV. |
vehicledata |
Implementa un publisher di dati SDV del tunnel di dati del veicolo utilizzando gRPC |
Utilità
Questa directory contiene le utilità generali per le implementazioni di riferimento e i test.
| Directory | Finalità |
|---|---|
asset-manager-cli |
Fornisce un'interfaccia a riga di comando per la generazione di pacchetti di asset. |
dcf-info/ |
Strumento per l'estrazione dei metadati da un documento DCF (Serialized Design Compose Figma document). |
figma-utils |
Fornisce un wrapper della riga di comando per `figma_import`, per recuperare i documenti Figma serializzati. |
gauge-test |
App progettata per testare e dimostrare gli elementi UI di quadranti e indicatori. |
gui-playground-app |
Ambiente sandbox per testare nuove funzionalità di UI e animazione. |
har-platform-tests |
Suite di test di integrazione per implementazioni di tratti specifici della piattaforma. |
har-rendering-parity |
Strumento visivo per verificare la parità di rendering tra HAR, DesignCompose e Figma. |
harry-rpc-client |
Fornisce un'interfaccia a riga di comando per l'invio di comandi a Harry tramite RPC. |
human-readable-report-generator |
Utilità per la verifica visiva degli artefatti di sicurezza. |
ktx-utils |
Fornisce utilità per la codifica e la decodifica dei file di texture Khronos KTX 2.0. |
list-test-app |
Funge da ambiente di test e dimostrazione per la gestione delle liste in HAR. |
transfer-localizations |
Utilità per la conversione dei file di localizzazione XML di Android nel formato proto HAR. |
variable-density-analyzer |
Analizza un documento Figma e calcola il rapporto tra nodi e variabili di progettazione. |