Afficher la structure du code de sécurité

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.