Hiện cấu trúc mã an toàn

Trang này mô tả cách tổ chức mã nguồn Display Safety.

Để biết thêm thông tin, hãy xem tệp README.md trong từng thư mục.

Sao chép kho lưu trữ

Để có quyền truy cập vào kho lưu trữ, hãy liên hệ với Nhà quản lý tài khoản hỗ trợ kỹ thuật của Google.

Framework

Thư mục này chứa các thành phần cốt lõi của khung Display Safety.

Thư mục Mục đích
api/har-platform-api Tập hợp các lớp trừu tượng hệ thống con của nền tảng để xây dựng các ứng dụng trình kết xuất có tính sẵn sàng cao (HAR) trên các nền tảng được hỗ trợ.
api/har-types Các loại lớp trừu tượng phần cứng.
asset-manager Các công cụ để quản lý tài sản ứng dụng trong thời gian chạy.
audio/har-audio Crate để xử lý việc phát âm thanh HAR
customizations Chứa các API, hoạt động triển khai và macro phái sinh để tạo các chế độ tuỳ chỉnh thiết kế từ một ứng dụng dựa trên HAR.
derive/har-ui-model-derive Macro theo quy trình để lấy các đặc điểm chung do hệ thống mô hình giao diện người dùng HAR sử dụng
display_list Xác định các cấu trúc và thành phần mô tả một cảnh để kết xuất, tách biệt với mọi phần phụ trợ đồ hoạ.
graphics/external-image Một thùng chứa cho các biểu diễn hình ảnh từ bên ngoài.
graphics/har-gl-context Xác định API ngữ cảnh đồ hoạ và bao gồm nhiều cách triển khai trên các nền tảng được hỗ trợ, cả để hiển thị và kết xuất ngoài màn hình.
graphics/impeller API Rust an toàn cho Impeller, được xây dựng dựa trên các liên kết FFI đã tạo.
graphics/impeller-renderer Triển khai trình kết xuất cấp cao bằng cách sử dụng Impeller làm công cụ kết xuất hỗ trợ.
har-layout Một trình bao bọc cho Taffy để tính toán bố cục cho các khung hiển thị trong HAR.
har-monitoring Bộ công cụ giám sát hiệu suất.
har-utils Các tiện ích phổ biến.
harry Khung được dùng làm nền tảng để tạo các ứng dụng HAR
harry-animation API và quá trình triển khai ảnh động cho Harry
squoosh Biểu diễn trung gian và công cụ ảnh động cho các tham số khung hiển thị trong khung Harry.
task-scheduler Tiện ích để lên lịch các tác vụ và thực thi chúng trong một luồng ở chế độ nền sau một khoảng thời gian trễ cụ thể.
test_suites Bộ kiểm thử để chạy các bài kiểm thử đơn vị về độ an toàn của màn hình

Lắp sẵn

Thư mục này chứa các thư viện và thành phần được tạo sẵn.

Thư mục Mục đích
impeller/ Thư viện tạo sẵn cho công cụ đồ hoạ Impeller, được sắp xếp theo hệ điều hành và cấu trúc.
impeller-rs-bindgen/ Các liên kết FFI Rust cho Impeller.
impeller-rs-bindgen-wrapper/ Trình bao bọc API cho các liên kết Impeller.

Tài liệu tham khảo

Thư mục này chứa chế độ triển khai tham chiếu HAR, các chế độ triển khai dành riêng cho nền tảng, công cụ và cấu phần phần mềm kiểm thử.

Thư mục Mục đích
audio/tinyalsa-rs Các liên kết FFI của Rust cho thư viện âm thanh Tinyalsa.
audio/tinyalsa-audio Thư viện để phát âm thanh và quản lý thiết bị, dựa trên các liên kết FFI do thùng chứa "tinyalsa-rs" tạo
camera/emulated-camera Cung cấp một cách triển khai máy ảnh mô phỏng bằng cách sử dụng đặc điểm "Camera" từ "har-platform-api".
graphics/gl-helpers Thùng tiện ích chứa các hàm trợ giúp GL
har-user-input-evdev/ Triển khai một quy trình xử lý đầu vào cơ bản dựa trên evdev. Hỗ trợ các sự kiện bàn phím, chuột và cảm ứng (cảm ứng đơn và cảm ứng đa điểm)
harry-app/ Triển khai tham chiếu cho một ứng dụng trình kết xuất tính sẵn sàng cao (HAR) di động được tạo bằng khung "harry".
harry-app-core/ Logic ứng dụng cốt lõi, tính năng quản lý trạng thái và các định nghĩa về mô hình giao diện người dùng cho ứng dụng tham chiếu "harry-app".
harry-app-utils/ Các hàm tiện ích và mô-đun trợ giúp cho ứng dụng tham chiếu "harry-app".
harry-control-api/ API kiểm soát cho ứng dụng tham chiếu "harry-app".
harry-grpcio-server/ Máy chủ gRPC (dựa trên grpcio). This is only used when building the Android version with soong
harry-tonic-server/ Máy chủ gRPC (dựa trên tonic). Thư viện này chỉ được dùng khi tạo phiên bản Linux bằng Cargo.
harry-vehicle-data-grpc/ Mã gRPC dữ liệu xe, được tạo từ các tệp proto dữ liệu xe.
i18n/harry-app-i18n Dịch vụ quốc tế hoá và bản địa hoá cho HAR.
i18n/i18n-protos Xác định thông báo protobuf và quá trình tạo mã Rust cho dữ liệu i18n.
libyuv-rs/ Các liên kết Rust cho libyuv.
platforms/har-log Xác định các hoạt động triển khai nhật ký và theo dõi cho mọi nền tảng được hỗ trợ.
platforms/har-looper-headless Một cách triển khai trình lặp độc lập với nền tảng để kết xuất không có giao diện người dùng.
platforms/har-platform-android Cung cấp các phương thức triển khai dành riêng cho Android của các trừu tượng hoá nền tảng `har-platform-api`.
platforms/har-platform-linux Cung cấp các hoạt động triển khai dành riêng cho Linux của các trừu tượng hoá nền tảng "har-platform-api".
platforms/harry-app-platform-specific Cầu nối biên dịch có điều kiện cho harry-app, chọn cách triển khai chính xác dựa trên nền tảng đã chọn.
safety-monitor Triển khai một Trình giám sát an toàn tham chiếu cho Android.
screencap Tiện ích chụp ảnh màn hình để trích xuất ảnh chụp màn hình trực tiếp từ vùng đệm khung DRM
vehicle-data-scripts Cấu trúc và logic để tạo chuỗi dữ liệu xe có kịch bản

Dịch vụ

Thư mục này chứa các dịch vụ Android liên quan đến An toàn hiển thị.

Thư mục Mục đích
ds-cvd-toolkit Một công cụ dòng lệnh cho Display Safety, cho phép khởi chạy nhiều thiết bị Cuttlefish.
emulator Hỗ trợ trình mô phỏng cho Lớp phủ tài nguyên thời gian chạy
har-grpc-services Chứa các định nghĩa proto được dùng trong quá trình triển khai tham chiếu để thiết lập các kênh liên lạc giữa ứng dụng HAR, DriverUI và các dịch vụ dữ liệu của xe.
har-sdv-service* Cung cấp một Gói dịch vụ SDV dùng để cung cấp dịch vụ dữ liệu cho HAR bằng cách sử dụng mã do các tệp proto tạo
har-tracing-common Dịch vụ theo dõi hiệu suất cho HAR
harry-prebuilt/ Các thành phần Harry được tạo sẵn (tài sản, cấu hình, v.v.)
ivi/ Các thành phần liên quan đến IVI (Đầu phát giải trí trong xe) trên Android
libhar_graphics/ Thư viện đồ hoạ C++ cho các dịch vụ HAR.
pdk/ Siêu dữ liệu của bản phát hành PDK
product/ Cấu hình và thành phần dành riêng cho từng sản phẩm
SdvCameraPreviewApp Ứng dụng xem trước camera cho SDV.
vehicledata Triển khai trình xuất bản Đường hầm dữ liệu SDV cho dữ liệu xe bằng gRPC

Utils

Thư mục này chứa các tiện ích chung để triển khai và kiểm thử tham chiếu.

Thư mục Mục đích
asset-manager-cli Cung cấp giao diện dòng lệnh để tạo các gói tài sản.
dcf-info/ Công cụ để trích xuất siêu dữ liệu từ DCF (Tài liệu Figma Compose được tuần tự hoá về thiết kế).
figma-utils Cung cấp một trình bao bọc dòng lệnh cho "figma_import", để tìm nạp các tài liệu Figma được chuyển đổi tuần tự.
gauge-test Ứng dụng được thiết kế để kiểm thử và minh hoạ các phần tử trên giao diện người dùng của mặt số và đồng hồ đo.
gui-playground-app Môi trường hộp cát để kiểm thử các tính năng mới về giao diện người dùng và ảnh động.
har-platform-tests Bộ kiểm thử tích hợp cho các hoạt động triển khai đặc điểm dành riêng cho từng nền tảng.
har-rendering-parity Công cụ trực quan để xác minh tính tương đồng khi kết xuất giữa HAR, DesignCompose và Figma.
harry-rpc-client Cung cấp giao diện dòng lệnh để gửi lệnh đến Harry thông qua RPC.
human-readable-report-generator Tiện ích để xác minh trực quan các cấu phần phần mềm an toàn.
ktx-utils Cung cấp các tiện ích để mã hoá và giải mã tệp kết cấu Khronos KTX 2.0.
list-test-app Đóng vai trò là môi trường thử nghiệm và minh hoạ để quản lý danh sách trong HAR.
transfer-localizations Tiện ích để chuyển đổi các tệp bản địa hoá XML của Android sang định dạng proto HAR.
variable-density-analyzer Phân tích một tài liệu Figma và tính toán tỷ lệ giữa các nút với các biến thiết kế.