Wyświetlanie struktury kodu bezpieczeństwa

Na tej stronie opisujemy organizację kodu źródłowego Display Safety.

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

Klonowanie repozytorium

Aby uzyskać dostęp do repozytorium, skontaktuj się z przypisaną Ci osobą kontaktową z Google.

Platforma

Ten katalog zawiera główne komponenty platformy Display Safety.

Katalog Cel
api/har-platform-api Zbiór abstrakcji podsystemów 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 zasobami aplikacji w czasie działania.
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 opartej na pliku HAR.
derive/har-ui-model-derive Makro proceduralne do wyprowadzania typowych cech używanych przez model interfejsu HAR systemu
display_list Określa struktury i komponenty opisujące scenę do renderowania, niezależne od żadnego zaplecza graficznego.
graphics/external-image Pakiet do reprezentacji obrazów zewnętrznych.
graphics/har-gl-context Definiuje interfejs API kontekstu graficznego i obejmuje wiele implementacji na obsługiwanych platformach, zarówno w przypadku renderowania na ekranie, jak i poza nim.
graphics/impeller Bezpieczny interfejs API w języku Rust dla Impellera, oparty na wygenerowanych powiązaniach FFI.
graphics/impeller-renderer Implementacja renderera wysokiego poziomu, która używa Impellera jako silnika renderowania.
har-layout Otoczka dla biblioteki Taffy, która oblicza układ widoków w HAR.
har-monitoring Zestaw narzędzi do monitorowania wydajności.
har-utils Typowe narzędzia.
harry Struktura, która będzie stanowić podstawę do tworzenia aplikacji HAR
harry-animation Interfejs API animacji i implementacja dla Harry’ego
squoosh Silnik pośredniej reprezentacji i animacji parametrów widoku w ramach platformy 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

Gotowe

Ten katalog zawiera gotowe biblioteki i komponenty.

Katalog Cel
impeller/ Gotowe biblioteki dla silnika graficznego Impeller, uporządkowane według systemu operacyjnego i architektury.
impeller-rs-bindgen/ Powiązania Rust FFI dla Impellera.
impeller-rs-bindgen-wrapper/ Otoka 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 Wiązania Rust FFI dla biblioteki audio Tinyalsa.
audio/tinyalsa-audio Biblioteka do odtwarzania dźwięku i zarządzania urządzeniami, oparta na powiązaniach FFI wygenerowanych przez pakiet tinyalsa-rs
camera/emulated-camera Zawiera implementację emulowanej kamery za pomocą cechy Camerahar-platform-api.
graphics/gl-helpers Pakiet narzędziowy zawierający funkcje pomocnicze GL
har-user-input-evdev/ Implementuje podstawową obsługę danych wejściowych opartą na evdev. Obsługuje zdarzenia klawiatury, myszy i dotyku (pojedynczego i wielodotykowego).
harry-app/ Implementacja referencyjna przenośnej aplikacji renderującej o wysokiej dostępności (HAR) utworzonej przy użyciu platformy harry.
harry-app-core/ Podstawowa logika aplikacji, zarządzanie stanem i definicje modelu interfejsu użytkownika dla harry-appaplikacji referencyjnej.
harry-app-utils/ Funkcje narzędziowe i moduły pomocnicze dla aplikacji referencyjnej harry-app.
harry-control-api/ Interfejsy API sterujące w aplikacji referencyjnej harry-app.
harry-grpcio-server/ serwer gRPC (oparty na grpcio); Jest to używane tylko podczas kompilowania wersji Androida za pomocą narzędzia Soong.
harry-tonic-server/ serwer gRPC (oparty na tonicu); Jest on używany tylko podczas kompilowania 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 wiadomości protobuf i generowanie kodu Rust dla danych i18n.
libyuv-rs/ Powiązania Rusta z biblioteką libyuv.
platforms/har-log Określa implementacje logowania i śledzenia na każdej obsługiwanej platformie.
platforms/har-looper-headless Implementacja pętli niezależna od platformy do renderowania bez interfejsu.
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 systemu Linux.
platforms/harry-app-platform-specific Mostek kompilacji warunkowej dla aplikacji harry-app, który wybiera prawidłową implementację na podstawie wybranej platformy.
safety-monitor Wdrożenie referencyjnego monitora bezpieczeństwa na Androidzie.
screencap Narzędzie do przechwytywania ekranu, które umożliwia wyodrębnianie zrzutów ekranu bezpośrednio z buforów ramowych DRM
vehicle-data-scripts Struktury i logika tworzenia skryptowych sekwencji danych o pojeździe

Usługa

Ten katalog zawiera usługi Androida związane z bezpieczeństwem wyświetlania.

Katalog Cel
ds-cvd-toolkit Narzędzie wiersza poleceń do sprawdzania bezpieczeństwa wyświetlacza, które umożliwia uruchamianie wielu urządzeń Cuttlefish.
emulator Obsługa emulatora w przypadku nakładek zasobów środowiska wykonawczego
har-grpc-services Zawiera definicje protokołów używane w implementacji referencyjnej do tworzenia kanałów komunikacji między aplikacją HAR a usługami DriverUI i usługami danych pojazdu.
har-sdv-service* Udostępnia pakiet usług SDV używany do świadczenia usług danych na rzecz HAR z wykorzystaniem kodu wygenerowanego przez pliki proto.
har-tracing-common Usługi śledzenia wydajności dla plików HAR
harry-prebuilt/ Gotowe komponenty Harry, takie jak komponenty i konfiguracje
ivi/ Komponenty związane z Androidem IVI (samochodowym systemem multimedialnym)
libhar_graphics/ Biblioteka graficzna C++ dla usług HAR.
pdk/ Metadane wersji PDK
product/ Konfiguracje i komponenty dotyczące konkretnych usług
SdvCameraPreviewApp Aplikacja do podglądu z kamery na potrzeby SDV.
vehicledata Implementuje wydawcę tunelu danych SDV danych o pojeździe za pomocą gRPC

Utils

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

Katalog Cel
asset-manager-cli Udostępnia 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).
figma-utils Zawiera otokę wiersza poleceń dla figma_import, która umożliwia pobieranie serializowanych dokumentów Figmy.
gauge-test Aplikacja przeznaczona do testowania i demonstrowania elementów interfejsu użytkownika w postaci tarcz i wskaźników.
gui-playground-app Środowisko piaskownicy do testowania nowych funkcji interfejsu i animacji.
har-platform-tests Zestaw testów integracji dla implementacji cech specyficznych dla platformy.
har-rendering-parity Narzędzie wizualne do weryfikacji zgodności renderowania między HAR, DesignCompose i Figmą.
harry-rpc-client Udostępnia interfejs wiersza poleceń do wysyłania poleceń do Harry’ego za pomocą RPC.
human-readable-report-generator Narzędzie do wizualnej weryfikacji elementów związanych z bezpieczeństwem.
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 pliku HAR.
transfer-localizations Narzędzie do konwertowania plików lokalizacyjnych XML na Androida na format HAR proto.
variable-density-analyzer Analizuje dokument Figmy i oblicza stosunek węzłów do zmiennych projektu.