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 Camera z har-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. |