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