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