Visualizza la struttura del codice di sicurezza

Questa pagina descrive l'organizzazione del codice sorgente di Display Safety.

Per saperne di più, consulta il file README.md in ogni directory.

Clona il repository

Per accedere al repository, contatta il tuo punto di contatto Google.

Framework

Questa directory contiene i componenti principali del framework Display Safety.

Directory Finalità
api/har-platform-api Raccolta di astrazioni dei sottosistemi della piattaforma per la creazione di app di rendering ad alta disponibilità (HAR) sulle piattaforme supportate.
api/har-types Tipi di Hardware Abstraction Layer.
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 derivare tratti comuni utilizzati dal sistema del modello di UI HAR
display_list Definisce le strutture e i componenti che descrivono una scena per il rendering, separati 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 la visualizzazione che per il rendering off-screen.
graphics/impeller API Safe Rust per Impeller, basata sui binding FFI generati.
graphics/impeller-renderer Implementazione del renderer di alto livello utilizzando Impeller come motore di rendering di base.
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 di animazione e un'implementazione per Harry
squoosh Motore di rappresentazione e animazione intermedio per i parametri di visualizzazione nel framework Harry.
task-scheduler Utilità per pianificare le attività ed eseguirle in un thread in background dopo un ritardo specificato.
test_suites Suite di test per l'esecuzione dei test delle unità di Display Safety

Preassemblati

Questa directory contiene librerie e asset precompilati.

Directory Finalità
impeller/ Librerie predefinite per il motore grafico Impeller, organizzate per sistema operativo e architettura.
impeller-rs-bindgen/ Associazioni FFI di Rust per Impeller.
impeller-rs-bindgen-wrapper/ Wrapper API per i binding di Impeller.

Riferimento

Questa directory contiene l'implementazione di riferimento HAR, implementazioni specifiche della piattaforma, strumenti e artefatti di test.

Directory Finalità
audio/tinyalsa-rs Binding FFI di Rust per la libreria audio Tinyalsa.
audio/tinyalsa-audio Libreria per la riproduzione audio e la gestione dei dispositivi, basata sui binding FFI generati dalla crate tinyalsa-rs
camera/emulated-camera Fornisce un'implementazione di una videocamera emulata utilizzando il tratto Camera da har-platform-api.
graphics/gl-helpers Cassa degli attrezzi contenente le funzioni helper 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 portatile ad alta affidabilità (HAR) 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 helper 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 durante la creazione della versione Android con Soong
harry-tonic-server/ Server gRPC (basato su tonic). Viene utilizzato solo durante la creazione della versione Linux con Cargo.
harry-vehicle-data-grpc/ Codice gRPC per i 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 del looper indipendente dalla piattaforma per il rendering headless.
platforms/har-platform-android Fornisce implementazioni specifiche per Android delle astrazioni della piattaforma har-platform-api.
platforms/har-platform-linux Fornisce implementazioni specifiche per 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 frame buffer 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 alla sicurezza del display.

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 gli overlay 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 DriverUI e i servizi di dati del veicolo.
har-sdv-service* Fornisce un pacchetto di servizi SDV utilizzato per fornire servizi di dati a HAR utilizzando il codice generato dai file proto
har-tracing-common Servizi di tracciamento delle prestazioni per HAR
harry-prebuilt/ Componenti Harry predefiniti, come asset e configurazioni
ivi/ Componenti correlati all'IVI (In-Vehicle Infotainment) Android
libhar_graphics/ Libreria grafica C++ per i servizi HAR.
pdk/ Metadati della release del PDK
product/ Configurazioni e asset specifici del prodotto
SdvCameraPreviewApp App di anteprima della videocamera per SDV.
vehicledata Implementa un publisher di tunnel di dati SDV per i dati del veicolo utilizzando gRPC

Utils

Questa directory contiene utilità generali per implementazioni di riferimento e test.

Directory Finalità
asset-manager-cli Fornisce un'interfaccia a riga di comando per generare pacchetti di asset.
dcf-info/ Strumento per estrarre i metadati da un file DCF (documento Serialized Design Compose Figma).
figma-utils Fornisce un wrapper della riga di comando per figma_import, per recuperare documenti Figma serializzati.
gauge-test App progettata per testare e dimostrare gli elementi dell'interfaccia utente 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 caratteristiche specifiche 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 con 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 degli elenchi in HAR.
transfer-localizations Utilità per convertire i file di localizzazione XML di Android nel formato HAR proto.
variable-density-analyzer Analizza un documento Figma e calcola il rapporto tra i nodi e le variabili di progettazione.