Visualizzare la struttura del codice di sicurezza

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.