Отображение структуры кода безопасности

На этой странице описывается структура исходного кода Display Safety.

Для получения более подробной информации см. файл README.md в каждой директории.

Клонируйте репозиторий

Для получения доступа к репозиторию свяжитесь со своим техническим менеджером по работе с клиентами Google.

Рамки

В этом каталоге находятся основные компоненты системы обеспечения безопасности дисплея.

Каталог Цель
api/har-platform-api Набор абстракций подсистем платформы для создания приложений с высокой доступностью рендеринга (HAR) на поддерживаемых платформах.
api/har-types Типы уровней аппаратной абстракции.
asset-manager Инструменты для управления ресурсами приложений во время выполнения.
audio/har-audio Крейт для обработки воспроизведения аудио HAR
customizations Содержит API, реализации и макросы для создания индивидуальных настроек дизайна на основе приложения, использующего технологию HAR.
derive/har-ui-model-derive Процедурные макросы для вывода общих характеристик, используемых системой моделирования пользовательского интерфейса HAR.
display_list Определяет структуры и компоненты, описывающие сцену для рендеринга, независимо от какой-либо графической подсистемы.
graphics/external-image Ящик для внешнего представления изображений.
graphics/har-gl-context Определяет API графического контекста и включает в себя несколько реализаций на поддерживаемых платформах, как для отображения, так и для рендеринга за пределами экрана.
graphics/impeller Безопасный Rust API для Impeller, основанный на сгенерированных привязках FFI.
graphics/impeller-renderer Высокоуровневая реализация рендеринга с использованием Impeller в качестве базового механизма рендеринга.
har-layout Оболочка для Taffy, позволяющая рассчитывать компоновку представлений в HAR.
har-monitoring Набор инструментов для мониторинга производительности.
har-utils Общие коммунальные услуги.
harry Фреймворк, который будет использоваться в качестве основы для создания приложений, реагирующих на действия человека (HAR).
harry-animation API для анимации и реализация анимации для Гарри.
squoosh Промежуточный механизм представления и анимации параметров вида в рамках фреймворка Harry.
task-scheduler Утилита для планирования задач и их выполнения в фоновом потоке после заданной задержки.
test_suites Наборы тестов для запуска модульных тестов безопасности дисплея.

Готовые сборки

В этой директории находятся предварительно созданные библиотеки и ресурсы.

Каталог Цель
impeller/ Предварительно собранные библиотеки для графического движка Impeller, организованные по операционным системам и архитектурам.
impeller-rs-bindgen/ Привязки Rust FFI для крыльчатки.
impeller-rs-bindgen-wrapper/ API-оболочка для привязок Impeller.

Ссылка

В этом каталоге содержится эталонная реализация HAR, реализации для конкретных платформ, инструменты и тестовые артефакты.

Каталог Цель
audio/tinyalsa-rs Привязки Rust FFI для аудиобиблиотеки Tinyalsa.
audio/tinyalsa-audio Библиотека для воспроизведения аудио и управления устройствами, основанная на привязках FFI, созданных библиотекой `tinyalsa-rs`.
camera/emulated-camera Предоставляет реализацию эмулированной камеры с использованием трейта `Camera` из `har-platform-api`.
graphics/gl-helpers Вспомогательная библиотека, содержащая вспомогательные функции GL.
har-user-input-evdev/ Реализует базовую обработку ввода на основе evdev. Поддерживает события клавиатуры, мыши и касания (одиночное и множественное касание).
harry-app/ Эталонная реализация портативного приложения с высокой доступностью (HAR), созданного с использованием фреймворка `harry`.
harry-app-core/ Основная логика приложения, управление состоянием и определения модели пользовательского интерфейса для эталонного приложения `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 для данных о транспортном средстве, сгенерированный из прототипных файлов данных о транспортном средстве.
i18n/harry-app-i18n Услуги по интернационализации и локализации для HAR.
i18n/i18n-protos Определяет протокол сообщений protobuf и генерацию кода Rust для данных интернационализации (i18n).
libyuv-rs/ Привязки Rust для libyuv.
platforms/har-log Определяет реализацию логирования и трассировки для каждой поддерживаемой платформы.
platforms/har-looper-headless Реализация зацикливания, не зависящая от платформы, для рендеринга в безголовом режиме.
platforms/har-platform-android Предоставляет реализации абстракций платформы `har-platform-api`, специфичные для Android.
platforms/har-platform-linux Предоставляет реализации абстракций платформы `har-platform-api`, специфичные для Linux.
platforms/harry-app-platform-specific Мост условной компиляции для harry-app, выбирающий правильную реализацию в зависимости от выбранной платформы.
safety-monitor Реализация эталонного монитора безопасности для Android.
screencap Утилита для захвата экрана, позволяющая извлекать скриншоты непосредственно из буферов кадров DRM.
vehicle-data-scripts Структуры и логика для создания скриптовых последовательностей данных о транспортных средствах.

Услуга

В этом каталоге находятся службы Android, связанные с безопасностью дисплея.

Каталог Цель
ds-cvd-toolkit Инструмент командной строки для Display Safety, позволяющий запускать несколько устройств Cuttlefish одновременно.
emulator Поддержка эмулятором наложений ресурсов среды выполнения
har-grpc-services Содержит определения прототипов, используемые в эталонной реализации для установления каналов связи между приложением HAR и DriverUI, а также службами данных о транспортных средствах.
har-sdv-service* Предоставляет пакет сервисов SDV, используемый для предоставления услуг обработки данных HAR с использованием кода, сгенерированного из proto-файлов.
har-tracing-common Сервисы трассировки производительности для HAR
harry-prebuilt/ Предварительно созданные компоненты Harry (ресурсы, конфигурации и т. д.)
ivi/ Компоненты, относящиеся к Android IVI (автомобильная информационно-развлекательная система)
libhar_graphics/ Графическая библиотека на C++ для сервисов HAR.
pdk/ Метаданные выпуска PDK
product/ Конфигурации и ресурсы, специфичные для конкретного продукта
SdvCameraPreviewApp Приложение предварительного просмотра камеры для SDV.
vehicledata Реализован издатель данных SDV Data Tunnel для транспортных средств с использованием gRPC.

Утилиты

В этом каталоге находятся общие утилиты для эталонных реализаций и тестирования.

Каталог Цель
asset-manager-cli Предоставляет интерфейс командной строки для генерации пакетов ресурсов.
dcf-info/ Инструмент для извлечения метаданных из документа DCF (Serialized Design Compose Figma).
figma-utils Предоставляет обертку командной строки для `figma_import`, позволяющую получать сериализованные документы Figma.
gauge-test Приложение предназначено для тестирования и демонстрации элементов пользовательского интерфейса циферблатов и индикаторов.
gui-playground-app Тестовая среда для проверки новых функций пользовательского интерфейса и анимации.
har-platform-tests Набор интеграционных тестов для реализации специфических для платформы характеристик.
har-rendering-parity Визуальный инструмент для проверки согласованности отображения между HAR, DesignCompose и Figma.
harry-rpc-client Предоставляет интерфейс командной строки для отправки команд Гарри через RPC.
human-readable-report-generator Инструмент для визуальной проверки средств обеспечения безопасности.
ktx-utils Предоставляет утилиты для кодирования и декодирования файлов текстур Khronos KTX 2.0.
list-test-app Служит средой тестирования и демонстрации управления списками в HAR.
transfer-localizations Утилита для преобразования XML-файлов локализации Android в формат HAR-прототипа.
variable-density-analyzer Анализирует документ Figma и вычисляет соотношение узлов к проектным переменным.