Cette page décrit l'organisation du code source de Display Safety.
Pour en savoir plus, consultez le fichier README.md dans chaque répertoire.
Cloner le dépôt
Pour accéder au dépôt, contactez votre point de contact Google.
Framework
Ce répertoire contient les composants principaux du framework Display Safety.
| Annuaire | Objectif |
|---|---|
api/har-platform-api |
Collection d'abstractions de sous-systèmes de plate-forme pour créer des applications de rendu à haute disponibilité (HAR) sur les plates-formes compatibles. |
api/har-types |
Types de couche d'abstraction matérielle. |
asset-manager |
Outils permettant de gérer les composants d'application d'exécution. |
audio/har-audio |
Crate pour la gestion de la lecture audio HAR |
customizations |
Contient des API, des implémentations et des macros de dérivation pour produire des personnalisations de conception à partir d'une application basée sur HAR. |
derive/har-ui-model-derive |
Macros de procédure pour dériver les traits communs utilisés par le système de modèle d'UI HAR |
display_list |
Définit les structures et les composants décrivant une scène pour le rendu, indépendamment de tout backend graphique. |
graphics/external-image |
Caisse pour les représentations d'images externes. |
graphics/har-gl-context |
Définit l'API du contexte graphique et inclut plusieurs implémentations sur les plates-formes compatibles, à la fois pour l'affichage et le rendu hors écran. |
graphics/impeller |
API Rust sécurisée pour Impeller, basée sur les liaisons FFI générées. |
graphics/impeller-renderer |
Implémentation du moteur de rendu de haut niveau à l'aide d'Impeller comme moteur de rendu sous-jacent. |
har-layout |
Wrapper pour Taffy permettant de calculer la mise en page des vues dans HAR. |
har-monitoring |
Kit d'outils de surveillance des performances. |
har-utils |
Utilitaires courants. |
harry |
Framework à utiliser comme base pour créer des applications HAR |
harry-animation |
API d'animation et implémentation pour Harry |
squoosh |
Représentation intermédiaire et moteur d'animation pour les paramètres de vue dans le framework Harry. |
task-scheduler |
Utilitaire permettant de planifier des tâches et de les exécuter dans un thread d'arrière-plan après un délai spécifié. |
test_suites |
Suites de tests pour exécuter les tests unitaires de sécurité de l'écran |
Préconfigurés
Ce répertoire contient des bibliothèques et des composants prédéfinis.
| Annuaire | Objectif |
|---|---|
impeller/ |
Bibliothèques prédéfinies pour le moteur graphique Impeller, organisées par système d'exploitation et architecture. |
impeller-rs-bindgen/ |
Liaisons Rust FFI pour Impeller. |
impeller-rs-bindgen-wrapper/ |
Wrapper d'API pour les liaisons Impeller. |
Référence
Ce répertoire contient l'implémentation de référence HAR, les implémentations spécifiques à la plate-forme, les outils et les artefacts de test.
| Annuaire | Objectif |
|---|---|
audio/tinyalsa-rs |
Liaisons Rust FFI pour la bibliothèque audio Tinyalsa. |
audio/tinyalsa-audio |
Bibliothèque pour la lecture audio et la gestion des appareils, basée sur les liaisons FFI générées par le crate tinyalsa-rs |
camera/emulated-camera |
Fournit une implémentation d'une caméra émulée à l'aide du trait Camera de har-platform-api. |
graphics/gl-helpers |
Caisse utilitaire contenant des fonctions d'assistance GL |
har-user-input-evdev/ |
Implémente une implémentation de gestion des entrées de base basée sur evdev. Compatible avec les événements de clavier, de souris et tactiles (à un ou plusieurs doigts) |
harry-app/ |
Implémentation de référence pour une application de rendu à haute disponibilité portable (HAR) créée à l'aide du framework harry. |
harry-app-core/ |
Définitions de la logique d'application principale, de la gestion de l'état et du modèle d'UI pour l'application de référence harry-app. |
harry-app-utils/ |
Fonctions utilitaires et modules d'assistance pour l'application de référence harry-app. |
harry-control-api/ |
Contrôlez les API pour l'application de référence harry-app. |
harry-grpcio-server/ |
Serveur gRPC (basé sur grpcio). Cette option n'est utilisée que lors de la création de la version Android avec Soong. |
harry-tonic-server/ |
Serveur gRPC (basé sur Tonic). Cette option n'est utilisée que lors de la création de la version Linux avec Cargo. |
harry-vehicle-data-grpc/ |
Code gRPC des données du véhicule, généré à partir des fichiers proto des données du véhicule. |
i18n/harry-app-i18n |
Services d'internationalisation et de localisation pour HAR. |
i18n/i18n-protos |
Définit les messages protobuf et la génération de code Rust pour les données i18n. |
libyuv-rs/ |
Liaisons Rust pour libyuv. |
platforms/har-log |
Définit les implémentations de journaux et de trace pour chaque plate-forme compatible. |
platforms/har-looper-headless |
Implémentation de boucleur indépendante de la plate-forme pour le rendu headless. |
platforms/har-platform-android |
Fournit des implémentations spécifiques à Android des abstractions de plate-forme har-platform-api. |
platforms/har-platform-linux |
Fournit des implémentations spécifiques à Linux des abstractions de plate-forme har-platform-api. |
platforms/harry-app-platform-specific |
Pont de compilation conditionnelle pour harry-app, sélectionnant l'implémentation correcte en fonction de la plate-forme sélectionnée. |
safety-monitor |
Implémentation d'un moniteur de sécurité de référence pour Android. |
screencap |
Utilitaire de capture d'écran permettant d'extraire des captures d'écran directement à partir des framebuffers DRM |
vehicle-data-scripts |
Structures et logique pour créer des séquences de données de véhicules scriptées |
Service
Ce répertoire contient les services Android liés à la sécurité de l'écran.
| Annuaire | Objectif |
|---|---|
ds-cvd-toolkit |
Outil de ligne de commande pour la sécurité de l'écran permettant de lancer plusieurs appareils Cuttlefish. |
emulator |
Compatibilité de l'émulateur avec les superpositions de ressources d'exécution |
har-grpc-services |
Contient les définitions de proto utilisées dans l'implémentation de référence pour établir des canaux de communication entre l'application HAR et les services DriverUI et de données du véhicule. |
har-sdv-service* |
Fournit un bundle de services SDV utilisé pour fournir des services de données à HAR en utilisant le code généré par les fichiers proto. |
har-tracing-common |
Services de suivi des performances pour HAR |
harry-prebuilt/ |
Composants Harry prédéfinis, tels que les éléments et les configurations |
ivi/ |
Composants liés à Android IVI (In-Vehicle Infotainment) |
libhar_graphics/ |
Bibliothèque graphique C++ pour les services HAR. |
pdk/ |
Métadonnées de l'album PDK |
product/ |
Configurations et composants spécifiques aux produits |
SdvCameraPreviewApp |
Application d'aperçu de la caméra pour SDV. |
vehicledata |
Implémente un éditeur de tunnel de données SDV de données de véhicule à l'aide de gRPC |
Utils
Ce répertoire contient des utilitaires généraux pour les implémentations de référence et les tests.
| Annuaire | Objectif |
|---|---|
asset-manager-cli |
Fournit une interface de ligne de commande pour générer des packages d'éléments. |
dcf-info/ |
Outil permettant d'extraire les métadonnées d'un fichier DCF (document Figma Compose de conception sérialisée). |
figma-utils |
Fournit un wrapper de ligne de commande à figma_import pour récupérer les documents Figma sérialisés. |
gauge-test |
Application conçue pour tester et présenter les éléments d'interface utilisateur des cadrans et des jauges. |
gui-playground-app |
Environnement de bac à sable pour tester les nouvelles fonctionnalités d'UI et d'animation. |
har-platform-tests |
Suite de tests d'intégration pour les implémentations de caractéristiques spécifiques à la plate-forme. |
har-rendering-parity |
Outil visuel permettant de vérifier la parité de rendu entre HAR, DesignCompose et Figma. |
harry-rpc-client |
Fournit une interface de ligne de commande permettant d'envoyer des commandes à Harry avec RPC. |
human-readable-report-generator |
Utilitaire permettant de vérifier visuellement les artefacts de sécurité. |
ktx-utils |
Fournit des utilitaires pour encoder et décoder les fichiers de texture Khronos KTX 2.0. |
list-test-app |
Sert d'environnement de test et de démonstration pour la gestion des listes dans HAR. |
transfer-localizations |
Utilitaire permettant de convertir les fichiers de localisation XML Android au format HAR proto. |
variable-density-analyzer |
Analyse un document Figma et calcule le ratio entre les nœuds et les variables de conception. |