Esta página descreve a organização do código-fonte do Display Safety.
Para mais informações, consulte o arquivo README.md em cada diretório.
Clonar o repositório
Para ter acesso ao repositório, entre em contato com seu representante do Google.
Framework
Esse diretório contém os principais componentes do framework do Display Safety.
| Diretório | Finalidade |
|---|---|
api/har-platform-api |
Coleção de abstrações de subsistemas de plataforma para criar apps de renderizador de alta disponibilidade (HAR, na sigla em inglês) em plataformas compatíveis. |
api/har-types |
Tipos de camada de abstração de hardware. |
asset-manager |
Ferramentas para gerenciar recursos de aplicativos de execução. |
audio/har-audio |
Crate para processar a reprodução de áudio do HAR. |
customizations |
Contém APIs, implementações e macros derivados para produzir personalizações de design de um app baseado em HAR. |
derive/har-ui-model-derive |
Macros procedimentais para derivar características comuns usadas pelo sistema de modelo de interface do HAR . |
display_list |
Define as estruturas e os componentes que descrevem uma cena para renderização, dissociada de qualquer back-end gráfico. |
graphics/external-image |
Um crate para representações de imagens externas. |
graphics/har-gl-context |
Define a API de contexto gráfico e inclui várias implementações em plataformas compatíveis, tanto para exibição quanto para renderização fora da tela. |
graphics/impeller |
API Rust segura para o Impeller, com base nas vinculações FFI geradas. |
graphics/impeller-renderer |
Implementação de renderizador de alto nível usando o Impeller como mecanismo de renderização de back-end. |
har-layout |
Um wrapper para o Taffy calcular o layout das visualizações no HAR. |
har-monitoring |
Kit de ferramentas de monitoramento de desempenho. |
har-utils |
Utilitários comuns. |
harry |
Framework a ser usado como base para criar aplicativos HAR. |
harry-animation |
Uma API de animação e implementação para Harry. |
squoosh |
Representação intermediária e mecanismo de animação para parâmetros de visualização em o framework Harry. |
task-scheduler |
Utilitário para programar tarefas e executá-las em uma linha de execução em segundo plano após um atraso especificado. |
test_suites |
Suítes de testes para executar testes de unidade do Display Safety. |
Pré-versões
Esse diretório contém bibliotecas e recursos pré-criados.
| Diretório | Finalidade |
|---|---|
impeller/ |
Bibliotecas pré-criadas para o mecanismo gráfico Impeller, organizadas por SO e arquitetura. |
impeller-rs-bindgen/ |
Vinculações FFI Rust para Impeller. |
impeller-rs-bindgen-wrapper/ |
Wrapper de API para as vinculações do Impeller. |
Referência
Esse diretório contém a implementação de referência do HAR, implementações específicas da plataforma, ferramentas e artefatos de teste.
| Diretório | Finalidade |
|---|---|
audio/tinyalsa-rs |
Vinculações FFI Rust para a biblioteca de áudio Tinyalsa. |
audio/tinyalsa-audio |
Biblioteca para reprodução de áudio e gerenciamento de dispositivos, com base em vinculações FFI
geradas pelo tinyalsa-rs crate. |
camera/emulated-camera |
Fornece uma implementação de uma câmera emulada usando a Camera característica
de har-platform-api. |
graphics/gl-helpers |
Crate de utilitários que contém funções auxiliares de GL. |
har-user-input-evdev/ |
Implementa uma implementação básica de processamento de entrada baseada em evdev. Oferece suporte a eventos de teclado, mouse e toque (único e multitoque). |
harry-app/ |
Implementação de referência para um app de renderizador de alta disponibilidade (HAR)
portátil criado usando o framework harry. |
harry-app-core/ |
Lógica principal do aplicativo, gerenciamento de estado e definições de modelo de interface para o
harry-app app de referência. |
harry-app-utils/ |
Funções de utilitário e módulos auxiliares para o app de referência harry-app. |
harry-control-api/ |
APIs de controle para o app de referência harry-app. |
harry-grpcio-server/ |
Servidor gRPC (com base em grpcio). Isso só é usado ao criar a versão do Android com soong. |
harry-tonic-server/ |
Servidor gRPC (com base em tônico). Isso só é usado ao criar a versão do Linux com Cargo. |
harry-vehicle-data-grpc/ |
Código gRPC de dados do veículo, gerado nos arquivos proto de dados do veículo. |
i18n/harry-app-i18n |
Serviços de internacionalização e localização para HAR. |
i18n/i18n-protos |
Define mensagens protobuf e geração de código Rust para dados i18n. |
libyuv-rs/ |
Vinculações Rust para libyuv. |
platforms/har-log |
Define implementações de registro e rastreamento para cada plataforma compatível. |
platforms/har-looper-headless |
Uma implementação de looper independente da plataforma para renderização sem interface. |
platforms/har-platform-android |
Fornece implementações específicas do Android das har-platform-api
abstrações de plataforma. |
platforms/har-platform-linux |
Fornece implementações específicas do Linux das har-platform-api
abstrações de plataforma. |
platforms/harry-app-platform-specific |
A ponte de compilação condicional para harry-app, selecionando a implementação correta com base na plataforma selecionada. |
safety-monitor |
Implementação de um monitor de segurança de referência para Android. |
screencap |
Utilitário de captura de tela para extrair capturas de tela diretamente de framebuffers DRM . |
vehicle-data-scripts |
Estruturas e lógica para criar sequências de dados de veículos com script. |
Serviço
Esse diretório contém serviços do Android relacionados ao Display Safety.
| Diretório | Finalidade |
|---|---|
ds-cvd-toolkit |
Uma ferramenta de linha de comando para o Display Safety que permite a inicialização de vários dispositivos Cuttlefish. |
emulator |
Suporte do emulador para sobreposições de recursos de execução. |
har-grpc-services |
Contém as definições proto usadas na implementação de referência para estabelecer canais de comunicação entre o app HAR e os serviços de dados do veículo e da DriverUI. |
har-sdv-service* |
Fornece um pacote de serviços SDV usado para fornecer serviços de dados ao HAR usando o código gerado por arquivos proto. |
har-tracing-common |
Serviços de rastreamento de desempenho para HAR. |
harry-prebuilt/ |
Componentes Harry pré-criados, como recursos e configurações. |
ivi/ |
Componentes relacionados ao Android IVI (infoentretenimento no veículo). |
libhar_graphics/ |
Biblioteca de gráficos C++ para serviços HAR. |
pdk/ |
Metadados da versão do PDK. |
product/ |
Configurações e recursos específicos do produto. |
SdvCameraPreviewApp |
App de visualização da câmera para SDV. |
vehicledata |
Implementa um publisher de túnel de dados SDV de dados do veículo usando gRPC. |
Utils
Esse diretório contém utilitários gerais para implementações de referência e testes.
| Diretório | Finalidade |
|---|---|
asset-manager-cli |
Fornece uma interface de linha de comando para gerar pacotes de recursos. |
dcf-info/ |
Ferramenta para extrair metadados de um DCF (documento do Figma de design serializado ). |
figma-utils |
Fornece um wrapper de linha de comando para figma_import, para buscar
documentos serializados do Figma. |
gauge-test |
App projetado para testar e demonstrar elementos de interface de discagem e medidor. |
gui-playground-app |
Ambiente de sandbox para testar novos recursos de interface e animação. |
har-platform-tests |
Suíte de testes de integração para implementações de características específicas da plataforma. |
har-rendering-parity |
Ferramenta visual para verificar a paridade de renderização entre HAR, DesignCompose e Figma. |
harry-rpc-client |
Fornece uma interface de linha de comando para enviar comandos ao Harry com RPC. |
human-readable-report-generator |
Utilitário para verificação visual de artefatos de segurança. |
ktx-utils |
Fornece utilitários para codificar e decodificar arquivos de textura Khronos KTX 2.0. |
list-test-app |
Serve como um ambiente de teste e demonstração para gerenciamento de listas no HAR. |
transfer-localizations |
Utilitário para converter arquivos de localização XML do Android para o formato proto HAR. |
variable-density-analyzer |
Analisa um documento do Figma e calcula a proporção de nós para variáveis de design. |