Wyświetlanie struktury kodu bezpieczeństwa

Ta strona zawiera opis organizacji kodu źródłowego Display Safety.

Więcej informacji znajdziesz w pliku README.md w każdym katalogu.

Kopiowanie repozytorium

Aby uzyskać dostęp do repozytorium, skontaktuj się z Technicznym menedżerem konta Google.

Platforma

Ten katalog zawiera podstawowe komponenty platformy Display Safety.

Katalog Cel
api/har-platform-api Zbiór abstrakcji podsystemu platformy do tworzenia aplikacji mechanizmu renderowania o wysokiej dostępności (HAR) na obsługiwanych platformach.
api/har-types Typy warstwy abstrakcji sprzętowej.
asset-manager Narzędzia do zarządzania komponentami aplikacji w środowisku wykonawczym.
audio/har-audio Crate do obsługi odtwarzania dźwięku HAR.
customizations Zawiera interfejsy API, implementacje i makra pochodne do tworzenia dostosowań projektu na podstawie aplikacji HAR.
derive/har-ui-model-derive Makra proceduralne do wyprowadzania typowych cech używanych przez system modelu interfejsu HAR .
display_list Definiuje struktury i komponenty opisujące scenę do renderowania, niezależne od żadnego graficznego backendu.
graphics/external-image Crate do reprezentacji obrazów zewnętrznych.
graphics/har-gl-context Definiuje interfejs API kontekstu graficznego i zawiera wiele implementacji na obsługiwanych platformach, zarówno do wyświetlania, jak i renderowania pozaekranowego.
graphics/impeller Bezpieczny interfejs API Rust dla Impeller, oparty na wygenerowanych powiązaniach FFI.
graphics/impeller-renderer Implementacja renderowania wysokiego poziomu przy użyciu Impeller jako silnika renderowania.
har-layout Otoczka dla Taffy do obliczania układu widoków w HAR.
har-monitoring Zestaw narzędzi do monitorowania wydajności.
har-utils Typowe narzędzia.
harry Platforma, która będzie stanowić podstawę do tworzenia aplikacji HAR.
harry-animation Interfejs API animacji i implementacja dla Harry.
squoosh Reprezentacja pośrednia i silnik animacji parametrów widoku w platformie Harry.
task-scheduler Narzędzie do planowania zadań i wykonywania ich w wątku w tle po określonym opóźnieniu.
test_suites Zestawy testów do uruchamiania testów jednostkowych Display Safety.

Wstępnie skompilowane biblioteki

Ten katalog zawiera wstępnie skompilowane biblioteki i komponenty.

Katalog Cel
impeller/ Wstępnie skompilowane biblioteki silnika graficznego Impeller, uporządkowane według systemu operacyjnego i architektury.
impeller-rs-bindgen/ Powiązania Rust FFI dla Impeller.
impeller-rs-bindgen-wrapper/ Otoczka interfejsu API dla powiązań Impeller.

Źródła wiedzy

Ten katalog zawiera implementację referencyjną HAR, implementacje specyficzne dla platformy, narzędzia i artefakty testowe.

Katalog Cel
audio/tinyalsa-rs Powiązania Rust FFI dla biblioteki Tinyalsa Audio.
audio/tinyalsa-audio Biblioteka do odtwarzania dźwięku i zarządzania urządzeniami, oparta na powiązaniach FFI wygenerowanych przez crate `tinyalsa-rs`.
camera/emulated-camera Zawiera implementację emulowanej kamery przy użyciu cechy `Camera` z `har-platform-api`.
graphics/gl-helpers Crate narzędziowy zawierający funkcje pomocnicze GL.
har-user-input-evdev/ Implementuje podstawową implementację obsługi danych wejściowych opartą na evdev. Obsługuje zdarzenia klawiatury, myszy i dotyku (pojedynczego i wielodotykowego).
harry-app/ Implementacja referencyjna przenośnej aplikacji mechanizmu renderowania o wysokiej dostępności (HAR) utworzonej za pomocą platformy `harry`.
harry-app-core/ Podstawowa logika aplikacji, zarządzanie stanem i definicje modelu interfejsu użytkownika dla aplikacji referencyjnej `harry-app`.
harry-app-utils/ Funkcje narzędziowe i moduły pomocnicze dla aplikacji referencyjnej `harry-app`.
harry-control-api/ Interfejsy API sterowania dla aplikacji referencyjnej `harry-app`.
harry-grpcio-server/ Serwer gRPC (oparty na grpcio). Jest używany tylko podczas tworzenia wersji na Androida za pomocą soong.
harry-tonic-server/ Serwer gRPC (oparty na tonic). Jest używany tylko podczas tworzenia wersji na Linuxa za pomocą Cargo.
harry-vehicle-data-grpc/ Kod gRPC danych pojazdu wygenerowany z plików proto danych pojazdu.
i18n/harry-app-i18n Usługi internacjonalizacji i lokalizacji dla HAR.
i18n/i18n-protos Definiuje komunikaty protobuf i generowanie kodu Rust dla danych i18n.
libyuv-rs/ Powiązania Rust dla libyuv.
platforms/har-log Definiuje implementacje logowania i śledzenia dla każdej obsługiwanej platformy.
platforms/har-looper-headless Implementacja loopera niezależna od platformy do renderowania bez interfejsu graficznego.
platforms/har-platform-android Zawiera implementacje abstrakcji platformy `har-platform-api` specyficzne dla Androida.
platforms/har-platform-linux Zawiera implementacje abstrakcji platformy `har-platform-api` specyficzne dla Linuxa.
platforms/harry-app-platform-specific Mostek kompilacji warunkowej dla harry-app, który wybiera prawidłową implementację na podstawie wybranej platformy.
safety-monitor Implementacja referencyjnego monitora bezpieczeństwa na Androida.
screencap Narzędzie do zrzutów ekranu umożliwiające wyodrębnianie zrzutów ekranu bezpośrednio z buforów ramki DRM .
vehicle-data-scripts Struktury i logika tworzenia sekwencji danych pojazdu opartych na skryptach.

Usługa

Ten katalog zawiera usługi Androida związane z Display Safety.

Katalog Cel
ds-cvd-toolkit Narzędzie wiersza poleceń dla Display Safety umożliwiające uruchamianie wielu urządzeń Cuttlefish.
emulator Obsługa emulatora w przypadku nakładek zasobów środowiska wykonawczego.
har-grpc-services Zawiera definicje proto używane w implementacji referencyjnej do ustanawiania kanałów komunikacji między aplikacją HAR a usługami DriverUI i danych pojazdu.
har-sdv-service* Zawiera pakiet usług SDV używany do udostępniania usług danych HAR przy użyciu kodu wygenerowanego przez pliki proto.
har-tracing-common Usługi śledzenia wydajności dla HAR.
harry-prebuilt/ Wstępnie skompilowane komponenty Harry (komponenty, konfiguracje itp.).
ivi/ Komponenty związane z Androidem IVI (samochodowy system multimedialny).
libhar_graphics/ Biblioteka graficzna C++ dla usług HAR.
pdk/ Metadane wersji PDK.
product/ Konfiguracje i komponenty specyficzne dla usługi.
SdvCameraPreviewApp Aplikacja podglądu z kamery dla SDV.
vehicledata Implementuje wydawcę tunelu danych SDV danych pojazdu przy użyciu gRPC.

Narzędzia

Ten katalog zawiera ogólne narzędzia do implementacji referencyjnych i testowania.

Katalog Cel
asset-manager-cli Zawiera interfejs wiersza poleceń do generowania pakietów komponentów.
dcf-info/ Narzędzie do wyodrębniania metadanych z pliku DCF (zserializowanego dokumentu Design Compose Figma dokumentu).
figma-utils Zawiera otoczkę wiersza poleceń dla `figma_import` do pobierania zserializowanych dokumentów Figma.
gauge-test Aplikacja przeznaczona do testowania i demonstrowania elementów interfejsu użytkownika w postaci pokręteł i wskaźników.
gui-playground-app Środowisko testowe do testowania nowych funkcji interfejsu użytkownika i animacji.
har-platform-tests Zestaw testów integracji implementacji cech specyficznych dla platformy.
har-rendering-parity Narzędzie wizualne do sprawdzania zgodności renderowania między HAR, DesignCompose i Figma.
harry-rpc-client Zawiera interfejs wiersza poleceń do wysyłania poleceń do Harry za pomocą RPC.
human-readable-report-generator Narzędzie do wizualnej weryfikacji artefaktów bezpieczeństwa.
ktx-utils Zawiera narzędzia do kodowania i dekodowania plików tekstur Khronos KTX 2.0
list-test-app Służy jako środowisko testowe i demonstracyjne do zarządzania listami w HAR.
transfer-localizations Narzędzie do konwertowania plików lokalizacji XML Androida na format proto HAR.
variable-density-analyzer Analizuje dokument Figma i oblicza stosunek węzłów do zmiennych projektu.