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 responsable de compte technique 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 OS et architecture. |
impeller-rs-bindgen/ |
Liaisons FFI Rust 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 l'API har-platform. |
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) conçue à 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 la bonne implémentation 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éhicule 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 (assets, configurations, etc.) |
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 des métadonnées d'un fichier DCF (document Figma de conception Compose sérialisé). |
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 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 traits 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 via 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 des 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. |