Menampilkan Struktur Kode Keselamatan

Halaman ini menjelaskan organisasi kode sumber Display Safety.

Untuk mengetahui informasi selengkapnya, lihat README.md di setiap direktori.

Membuat cloning repositori

Untuk mendapatkan akses ke repositori, hubungi Account Manager Teknis Google Anda.

Framework

Direktori ini berisi komponen framework Display Safety inti.

Direktori Tujuan
api/har-platform-api Kumpulan abstraksi subsistem platform untuk membangun aplikasi perender ketersediaan tinggi (HAR) di platform yang didukung.
api/har-types Jenis Hardware Abstraction Layer (HAL).
asset-manager Alat untuk mengelola aset aplikasi runtime.
audio/har-audio Crate untuk menangani pemutaran audio HAR
customizations Berisi API, implementasi, dan makro turunan untuk menghasilkan penyesuaian desain dari aplikasi berbasis HAR.
derive/har-ui-model-derive Makro prosedural untuk menurunkan karakteristik umum yang digunakan oleh sistem model UI HAR
display_list Menentukan struktur dan komponen yang menjelaskan adegan untuk rendering, yang dipisahkan dari backend grafis.
graphics/external-image Crate untuk representasi gambar eksternal.
graphics/har-gl-context Menentukan API konteks grafis dan menyertakan beberapa implementasi di seluruh platform yang didukung, baik untuk rendering layar maupun di luar layar.
graphics/impeller API Rust yang aman untuk Impeller, yang dibangun berdasarkan binding FFI yang dihasilkan.
graphics/impeller-renderer Implementasi perender tingkat tinggi menggunakan Impeller sebagai mesin rendering pendukung.
har-layout Wrapper untuk Taffy guna menghitung tata letak tampilan di HAR.
har-monitoring Toolkit pemantauan performa.
har-utils Utilitas umum.
harry Framework yang akan digunakan sebagai dasar untuk membangun aplikasi HAR
harry-animation Implementasi dan API animasi untuk Harry
squoosh Representasi perantara dan mesin animasi untuk parameter tampilan dalam framework Harry.
task-scheduler Utilitas untuk menjadwalkan tugas dan menjalankannya di thread latar belakang setelah penundaan yang ditentukan.
test_suites Paket pengujian untuk menjalankan pengujian unit Display Safety

Prebuilt

Direktori ini berisi library dan aset prebuilt.

Direktori Tujuan
impeller/ Library prebuilt untuk mesin grafis Impeller, yang diatur menurut OS dan arsitektur.
impeller-rs-bindgen/ Binding FFI Rust untuk Impeller.
impeller-rs-bindgen-wrapper/ Wrapper API untuk binding Impeller.

Referensi

Direktori ini berisi implementasi referensi HAR, implementasi khusus platform, alat, dan artefak pengujian.

Direktori Tujuan
audio/tinyalsa-rs Binding FFI Rust untuk library Tinyalsa Audio.
audio/tinyalsa-audio Library untuk pemutaran audio dan pengelolaan perangkat, yang dibangun berdasarkan binding FFI yang dihasilkan oleh crate `tinyalsa-rs`
camera/emulated-camera Menyediakan implementasi kamera yang diemulasi menggunakan karakteristik `Camera` dari `har-platform-api`.
graphics/gl-helpers Crate utilitas yang berisi fungsi helper GL
har-user-input-evdev/ Mengimplementasikan implementasi penanganan input berbasis evdev dasar. Mendukung peristiwa keyboard, mouse, dan sentuh (sentuh tunggal dan multi-sentuh)
harry-app/ Implementasi referensi untuk aplikasi perender ketersediaan tinggi (HAR) portabel yang dibangun menggunakan framework `harry`.
harry-app-core/ Logika aplikasi inti, pengelolaan status, dan definisi model UI untuk aplikasi referensi `harry-app`.
harry-app-utils/ Fungsi utilitas dan modul helper untuk aplikasi referensi `harry-app`.
harry-control-api/ API kontrol untuk aplikasi referensi `harry-app`.
harry-grpcio-server/ Server gRPC (berbasis grpcio). Hanya digunakan saat membangun versi Android dengan soong
harry-tonic-server/ Server gRPC (berbasis tonic). Hanya digunakan saat membangun versi Linux versi dengan Cargo.
harry-vehicle-data-grpc/ Kode gRPC data kendaraan, yang dihasilkan dari file proto data kendaraan.
i18n/harry-app-i18n Layanan internasionalisasi dan pelokalan untuk HAR.
i18n/i18n-protos Menentukan pesan protobuf dan pembuatan kode Rust untuk data i18n.
libyuv-rs/ Binding Rust untuk libyuv.
platforms/har-log Menentukan implementasi log dan pelacakan untuk setiap platform yang didukung.
platforms/har-looper-headless Implementasi looper yang independen dari platform untuk rendering tanpa tampilan.
platforms/har-platform-android Menyediakan implementasi khusus Android untuk abstraksi platform `har-platform-api`.
platforms/har-platform-linux Menyediakan implementasi khusus Linux untuk abstraksi platform `har-platform-api`.
platforms/harry-app-platform-specific Jembatan kompilasi kondisional untuk harry-app, yang memilih implementasi yang benar berdasarkan platform yang dipilih.
safety-monitor Implementasi Monitor Keamanan Referensi untuk Android.
screencap Utilitas screenshot untuk mengekstrak screenshot langsung dari framebuffer DRM
vehicle-data-scripts Struktur dan logika untuk membuat urutan data kendaraan yang di-script

Layanan

Direktori ini berisi layanan Android yang terkait dengan Display Safety.

Direktori Tujuan
ds-cvd-toolkit Alat command line untuk Display Safety yang memungkinkan peluncuran beberapa perangkat Cuttlefish.
emulator Dukungan emulator untuk Overlay Resource Runtime
har-grpc-services Berisi definisi proto yang digunakan dalam implementasi referensi untuk membuat saluran komunikasi antara aplikasi HAR dan DriverUI serta layanan data kendaraan.
har-sdv-service* Menyediakan Paket Layanan SDV yang digunakan untuk menyediakan layanan data ke HAR menggunakan kode yang dihasilkan oleh file proto
har-tracing-common Layanan pelacakan performa untuk HAR
harry-prebuilt/ Komponen Harry prebuilt (aset, konfigurasi, dll.)
ivi/ Komponen yang terkait dengan Android IVI (In-Vehicle Infotainment)
libhar_graphics/ Library grafis C++ untuk layanan HAR.
pdk/ Metadata rilis PDK
product/ Konfigurasi dan aset khusus produk
SdvCameraPreviewApp Aplikasi pratinjau kamera untuk SDV.
vehicledata Mengimplementasikan penayang SDV Data Tunnel data kendaraan menggunakan gRPC

Utils

Direktori ini berisi utilitas umum untuk implementasi dan pengujian referensi.

Direktori Tujuan
asset-manager-cli Menyediakan antarmuka command line untuk membuat paket aset.
dcf-info/ Alat untuk mengekstrak metadata dari DCF (dokumen Figma Desain Berseri Compose dokumen).
figma-utils Menyediakan wrapper command line ke `figma_import`, untuk mengambil dokumen Figma berseri.
gauge-test Aplikasi yang dirancang untuk menguji dan mendemonstrasikan elemen UI dial dan gauge.
gui-playground-app Lingkungan sandbox untuk menguji fitur UI dan animasi baru.
har-platform-tests Kumpulan pengujian integrasi untuk implementasi karakteristik khusus platform.
har-rendering-parity Alat visual untuk memverifikasi paritas rendering antara HAR, DesignCompose dan Figma.
harry-rpc-client Menyediakan antarmuka command line untuk mengirim perintah ke Harry via RPC.
human-readable-report-generator Utilitas untuk verifikasi visual artefak keamanan.
ktx-utils Menyediakan utilitas untuk mengenkode dan mendekode file tekstur Khronos KTX 2.0.
list-test-app Berfungsi sebagai lingkungan pengujian dan demonstrasi untuk pengelolaan daftar di HAR.
transfer-localizations Utilitas untuk mengonversi file pelokalan XML Android ke format proto HAR.
variable-density-analyzer Menganalisis dokumen Figma dan menghitung rasio node ke variabel desain.