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. |