Struktur kode Keselamatan Display

Halaman ini menjelaskan organisasi kode sumber Keselamatan Tampilan.

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

Membuat cloning repositori

Untuk mendapatkan akses ke repositori, hubungi kontak Google Anda.

Framework

Direktori ini berisi komponen framework Keselamatan Layar 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.
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 mendapatkan ciri umum yang digunakan oleh model UI HAR sistem
display_list Menentukan struktur dan komponen yang menjelaskan adegan untuk rendering, yang terpisah dari backend grafis apa pun.
graphics/external-image Crate untuk representasi gambar eksternal.
graphics/har-gl-context Mendefinisikan API konteks grafis dan mencakup beberapa penerapan di seluruh platform yang didukung, baik untuk rendering di layar maupun di luar layar.
graphics/impeller Safe Rust API untuk Impeller, yang dibangun di atas binding FFI yang dihasilkan.
graphics/impeller-renderer Penerapan perender tingkat tinggi menggunakan Impeller sebagai mesin rendering pendukung.
har-layout Wrapper untuk Taffy guna menghitung tata letak untuk 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 API dan implementasi animasi untuk Harry
squoosh Representasi dan mesin animasi perantara untuk parameter tampilan dalam framework Harry.
task-scheduler Utilitas untuk menjadwalkan tugas dan mengeksekusinya di thread latar belakang setelah penundaan tertentu.
test_suites Rangkaian pengujian untuk menjalankan pengujian unit Keselamatan Layar

Bawaan

Direktori ini berisi aset dan library bawaan.

Direktori Tujuan
impeller/ Library bawaan untuk mesin grafis Impeller, yang disusun berdasarkan 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 Audio Tinyalsa.
audio/tinyalsa-audio Library untuk pemutaran audio dan pengelolaan perangkat, yang dibangun di atas binding FFI yang dihasilkan oleh crate tinyalsa-rs
camera/emulated-camera Menyediakan penerapan kamera yang diemulasi menggunakan trait Camera dari har-platform-api.
graphics/gl-helpers Crate utilitas yang berisi fungsi bantuan GL
har-user-input-evdev/ Menerapkan implementasi penanganan input berbasis evdev dasar. Mendukung peristiwa keyboard, mouse, dan sentuh (sentuhan 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 bantuan untuk aplikasi referensi harry-app.
harry-control-api/ Mengontrol API untuk aplikasi referensi harry-app.
harry-grpcio-server/ Server gRPC (berbasis grpcio). Ini hanya digunakan saat mem-build versi Android dengan soong
harry-tonic-server/ Server gRPC (berbasis tonic). Ini hanya digunakan saat mem-build versi Linux 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 Mendefinisikan pesan protobuf dan pembuatan kode Rust untuk data i18n.
libyuv-rs/ Binding Rust untuk libyuv.
platforms/har-log Menentukan penerapan log dan pelacakan untuk setiap platform yang didukung.
platforms/har-looper-headless Implementasi looper lintas platform untuk rendering headless.
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 bersyarat untuk harry-app, memilih penerapan yang benar berdasarkan platform yang dipilih.
safety-monitor Penerapan 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 Keamanan Layar.

Direktori Tujuan
ds-cvd-toolkit Alat command line untuk Keamanan Layar 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 SDV Service Bundle yang digunakan untuk menyediakan layanan data ke HAR dengan memanfaatkan kode yang dihasilkan oleh file proto
har-tracing-common Layanan pelacakan performa untuk HAR
harry-prebuilt/ Komponen Harry bawaan, seperti aset dan konfigurasi
ivi/ Komponen yang terkait dengan IVI (In-Vehicle Infotainment) Android
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 Menerapkan penerbit Vehicle Data SDV Data Tunnel 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 Serialized Design Compose Figma).
figma-utils Menyediakan wrapper command line ke figma_import, untuk mengambil dokumen Figma yang diserialisasi.
gauge-test Aplikasi yang dirancang untuk menguji dan mendemonstrasikan elemen UI dial dan pengukur.
gui-playground-app Lingkungan sandbox untuk menguji fitur UI dan animasi baru.
har-platform-tests Rangkaian pengujian integrasi untuk penerapan trait 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 dengan 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 terhadap variabel desain.