แสดงโครงสร้างรหัสความปลอดภัย

หน้านี้อธิบายการจัดระเบียบซอร์สโค้ดของ Display Safety

ดูข้อมูลเพิ่มเติมได้ที่ README.md ในแต่ละไดเรกทอรี

โคลนที่เก็บ

หากต้องการเข้าถึงที่เก็บ โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้าด้านเทคนิคของ Google

Framework

ไดเรกทอรีนี้มีคอมโพเนนต์หลักของ Framework Display Safety

ไดเรกทอรี วัตถุประสงค์
api/har-platform-api ชุดการจัดการย่อยของแพลตฟอร์มสำหรับการสร้างแอป Renderer ที่มีความพร้อมใช้งานสูง (HAR) ในแพลตฟอร์มที่รองรับ
api/har-types ประเภทของระดับชั้นการจัดการฮาร์ดแวร์โดยตรง
asset-manager เครื่องมือสำหรับการจัดการเนื้อหาของแอปพลิเคชันรันไทม์
audio/har-audio Crate สำหรับจัดการการเล่นเสียงของ HAR
customizations มี API, การติดตั้งใช้งาน และมาโครที่ได้มาเพื่อสร้างการปรับแต่งการออกแบบ จากแอปที่ใช้ HAR
derive/har-ui-model-derive มาโครเชิงกระบวนการสำหรับการได้มาซึ่งลักษณะทั่วไปที่ระบบโมเดล UI ของ HAR ใช้
display_list กำหนดโครงสร้างและคอมโพเนนต์ที่อธิบายฉากสำหรับการแสดงผล ซึ่งแยกออกจากแบ็กเอนด์กราฟิก
graphics/external-image Crate สำหรับการแสดงภาพจากภายนอก
graphics/har-gl-context กำหนด API ของบริบทกราฟิกและมีการติดตั้งใช้งานหลายรายการ ในแพลตฟอร์มที่รองรับ ทั้งสำหรับการแสดงผลบนหน้าจอและนอกหน้าจอ
graphics/impeller Safe Rust API สำหรับ Impeller ซึ่งสร้างขึ้นจาก FFI Binding ที่สร้างขึ้น
graphics/impeller-renderer การติดตั้งใช้งาน Renderer ระดับสูงโดยใช้ Impeller เป็นเครื่องมือแสดงผลแบ็กเอนด์
har-layout Wrapper สำหรับ Taffy เพื่อคำนวณเลย์เอาต์สำหรับมุมมองใน HAR
har-monitoring ชุดเครื่องมือการตรวจสอบประสิทธิภาพ
har-utils ยูทิลิตี้ทั่วไป
harry Framework ที่ใช้เป็นฐานสำหรับการสร้างแอปพลิเคชัน HAR
harry-animation API และการติดตั้งใช้งานภาพเคลื่อนไหวสำหรับ Harry
squoosh การแสดงผลระดับกลางและเครื่องมือภาพเคลื่อนไหวสำหรับพารามิเตอร์มุมมองใน Framework Harry
task-scheduler ยูทิลิตี้สำหรับการกำหนดเวลาและเรียกใช้งานในเธรดเบื้องหลัง หลังจากผ่านไปตามระยะเวลาที่ระบุ
test_suites ชุดการทดสอบสำหรับการเรียกใช้ Unit Test ของ Display Safety

Prebuilts

ไดเรกทอรีนี้มีไลบรารีและเนื้อหาที่สร้างไว้ล่วงหน้า

ไดเรกทอรี วัตถุประสงค์
impeller/ ไลบรารีที่สร้างไว้ล่วงหน้าสำหรับเครื่องมือแสดงผลกราฟิก Impeller ซึ่งจัดระเบียบตามระบบปฏิบัติการและ สถาปัตยกรรม
impeller-rs-bindgen/ Rust FFI Binding สำหรับ Impeller
impeller-rs-bindgen-wrapper/ API Wrapper สำหรับ Impeller Binding

ข้อมูลอ้างอิง

ไดเรกทอรีนี้มีข้อมูลอ้างอิงการติดตั้งใช้งาน HAR, การติดตั้งใช้งานเฉพาะแพลตฟอร์ม, เครื่องมือ และอาร์ติแฟกต์การทดสอบ

ไดเรกทอรี วัตถุประสงค์
audio/tinyalsa-rs Rust FFI Binding สำหรับไลบรารีเสียง Tinyalsa
audio/tinyalsa-audio ไลบรารีสำหรับการเล่นเสียงและการจัดการอุปกรณ์ ซึ่งสร้างขึ้นจาก FFI Binding ที่สร้างโดย Crate `tinyalsa-rs`
camera/emulated-camera มีการติดตั้งใช้งานกล้องจำลองโดยใช้ลักษณะ `Camera` trait จาก `har-platform-api`
graphics/gl-helpers Crate ยูทิลิตี้ที่มีฟังก์ชันตัวช่วย GL
har-user-input-evdev/ ติดตั้งใช้งานการจัดการอินพุตพื้นฐานที่อิงตาม evdev รองรับเหตุการณ์ของแป้นพิมพ์ เมาส์ และการสัมผัส (การสัมผัสครั้งเดียวและการสัมผัสหลายครั้ง)
harry-app/ การติดตั้งใช้งานข้อมูลอ้างอิงสำหรับแอป Renderer ที่มีความพร้อมใช้งานสูง (HAR) แบบพกพาที่สร้างขึ้นโดยใช้ Framework `harry`
harry-app-core/ ตรรกะของแอปพลิเคชันหลัก การจัดการสถานะ และคำจำกัดความของโมเดล UI สำหรับ แอปอ้างอิง `harry-app`
harry-app-utils/ ฟังก์ชันยูทิลิตี้และโมดูลตัวช่วยสำหรับแอปอ้างอิง `harry-app`
harry-control-api/ API การควบคุมสำหรับแอปอ้างอิง `harry-app`
harry-grpcio-server/ เซิร์ฟเวอร์ gRPC (อิงตาม grpcio) ใช้เมื่อสร้างเวอร์ชัน Android ด้วย Soong เท่านั้น
harry-tonic-server/ เซิร์ฟเวอร์ gRPC (อิงตาม Tonic) ใช้เมื่อสร้างเวอร์ชัน Linux ด้วย Cargo เท่านั้น
harry-vehicle-data-grpc/ โค้ด gRPC ของข้อมูลรถยนต์ที่สร้างจากไฟล์ Proto ของข้อมูลรถยนต์
i18n/harry-app-i18n บริการปรับให้เป็นสากลและการแปลสำหรับ HAR
i18n/i18n-protos กำหนดข้อความ Protobuf และการสร้างโค้ด Rust สำหรับข้อมูล i18n
libyuv-rs/ Rust Binding สำหรับ libyuv
platforms/har-log กำหนดการติดตั้งใช้งานบันทึกและการติดตามสำหรับทุกแพลตฟอร์มที่รองรับ
platforms/har-looper-headless การติดตั้งใช้งาน Looper ที่ไม่ขึ้นกับแพลตฟอร์มสำหรับการแสดงผลแบบไม่มีส่วนหัว
platforms/har-platform-android มีการติดตั้งใช้งานเฉพาะ Android ของการจัดการย่อยของแพลตฟอร์ม `har-platform-api`
platforms/har-platform-linux มีการติดตั้งใช้งานเฉพาะ Linux ของการจัดการย่อยของแพลตฟอร์ม `har-platform-api`
platforms/harry-app-platform-specific บริดจ์การคอมไพล์แบบมีเงื่อนไขสำหรับ Harry-app ซึ่งเลือกการติดตั้งใช้งานที่ถูกต้องตามแพลตฟอร์มที่เลือก
safety-monitor การติดตั้งใช้งาน Safety Monitor อ้างอิงสำหรับ Android
screencap ยูทิลิตี้การจับภาพหน้าจอสำหรับการแยกภาพหน้าจอจากเฟรมบัฟเฟอร์ DRM โดยตรง
vehicle-data-scripts โครงสร้างและตรรกะสำหรับการสร้างลำดับข้อมูลรถยนต์ที่เขียนสคริปต์

บริการ

ไดเรกทอรีนี้มีบริการ Android ที่เกี่ยวข้องกับ Display Safety

ไดเรกทอรี วัตถุประสงค์
ds-cvd-toolkit เครื่องมือบรรทัดคำสั่งสำหรับ Display Safety ที่อนุญาตให้เปิดใช้อุปกรณ์ Cuttlefish หลายเครื่อง
emulator การรองรับโปรแกรมจำลองสำหรับการซ้อนทับทรัพยากรรันไทม์
har-grpc-services มีคำจำกัดความ Proto ที่ใช้ในการติดตั้งใช้งานข้อมูลอ้างอิงเพื่อ สร้างช่องทางการสื่อสารระหว่างแอป HAR กับ DriverUI และบริการข้อมูลรถยนต์
har-sdv-service* มีชุดบริการ SDV ที่ใช้เพื่อให้บริการข้อมูลแก่ HAR โดยใช้โค้ดที่สร้างโดยไฟล์ Proto
har-tracing-common บริการติดตามประสิทธิภาพสำหรับ HAR
harry-prebuilt/ คอมโพเนนต์ Harry ที่สร้างไว้ล่วงหน้า (เนื้อหา การกำหนดค่า ฯลฯ)
ivi/ คอมโพเนนต์ที่เกี่ยวข้องกับ Android IVI (ระบบสาระบันเทิงในรถยนต์)
libhar_graphics/ ไลบรารีกราฟิก C++ สำหรับบริการ HAR
pdk/ ข้อมูลเมตาของ PDK Release
product/ การกำหนดค่าและเนื้อหาเฉพาะผลิตภัณฑ์
SdvCameraPreviewApp แอปแสดงตัวอย่างจากกล้องสำหรับ SDV
vehicledata ติดตั้งใช้งานผู้เผยแพร่ SDV Data Tunnel ของข้อมูลรถยนต์โดยใช้ gRPC

ยูทิลิตี้

ไดเรกทอรีนี้มียูทิลิตี้ทั่วไปสำหรับการติดตั้งใช้งานข้อมูลอ้างอิงและการทดสอบ

ไดเรกทอรี วัตถุประสงค์
asset-manager-cli มีอินเทอร์เฟซบรรทัดคำสั่งสำหรับการสร้างแพ็กเกจเนื้อหา
dcf-info/ เครื่องมือสำหรับการแยกข้อมูลเมตาจาก DCF (เอกสาร Design Compose Figma ที่ทำให้เป็นอนุกรม)
figma-utils มี Wrapper บรรทัดคำสั่งสำหรับ `figma_import` เพื่อดึง เอกสาร Figma ที่ทำให้เป็นอนุกรม
gauge-test แอปที่ออกแบบมาสำหรับการทดสอบและแสดงองค์ประกอบ UI ของหน้าปัดและเกจ
gui-playground-app สภาพแวดล้อมแซนด์บ็อกซ์สำหรับการทดสอบฟีเจอร์ UI และภาพเคลื่อนไหวใหม่
har-platform-tests ชุดการทดสอบการผสานรวมสำหรับการติดตั้งใช้งานลักษณะเฉพาะแพลตฟอร์ม
har-rendering-parity เครื่องมือภาพสำหรับการตรวจสอบความเท่าเทียมกันของการแสดงผลระหว่าง HAR, DesignCompose และ Figma
harry-rpc-client มีอินเทอร์เฟซบรรทัดคำสั่งสำหรับการส่งคำสั่งไปยัง Harry ผ่าน RPC
human-readable-report-generator ยูทิลิตี้สำหรับการตรวจสอบอาร์ติแฟกต์ความปลอดภัยด้วยภาพ
ktx-utils มียูทิลิตี้สำหรับการเข้ารหัสและถอดรหัสไฟล์เท็กซ์เจอร์ Khronos KTX 2.0
list-test-app ทำหน้าที่เป็นสภาพแวดล้อมการทดสอบและการสาธิตสำหรับการจัดการรายการใน HAR
transfer-localizations ยูทิลิตี้สำหรับการแปลงไฟล์การแปล XML ของ Android เป็นรูปแบบ Proto ของ HAR
variable-density-analyzer วิเคราะห์เอกสาร Figma และคำนวณอัตราส่วนของโหนดต่อ ตัวแปรการออกแบบ