Mostrar estrutura do código de segurança

Esta página descreve a organização do código-fonte da Segurança de exibição.

Para mais informações, consulte o README.md em cada diretório.

Clonar o repositório

Para acessar o repositório, entre em contato com seu gerente técnico de contas do Google.

Framework

Esse diretório contém os principais componentes do framework de segurança de display.

Diretório Finalidade
api/har-platform-api Coleção de abstrações de subsistema de plataforma para criar apps de renderização 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 tempo de execução.
audio/har-audio Crate para processar a reprodução de áudio HAR.
customizations Contém APIs, implementações e macros de derivação para produzir personalizações de design de um app baseado em HAR.
derive/har-ui-model-derive Macros procedurais 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 Uma caixa 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 renderização na tela quanto fora dela.
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 suporte.
har-layout Um wrapper para o Taffy calcular o layout das visualizações em HAR.
har-monitoring Kit de ferramentas de monitoramento de performance.
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 no 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 Pacotes de teste para executar testes de unidade de segurança da tela

Pré-versões

Esse diretório contém bibliotecas e recursos pré-criados.

Diretório Finalidade
impeller/ Bibliotecas pré-criadas para o mecanismo de gráficos Impeller, organizadas por SO e arquitetura.
impeller-rs-bindgen/ Vinculações de FFI do Rust para o Impeller.
impeller-rs-bindgen-wrapper/ Wrapper de API para 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 Rust FFI 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 pela caixa `tinyalsa-rs`.
camera/emulated-camera Fornece uma implementação de uma câmera emulada usando a trait "Camera" de "har-platform-api".
graphics/gl-helpers Crate de utilitário que contém funções auxiliares do GL.
har-user-input-evdev/ Implementa um processamento de entrada básico baseado em evdev. Compatível com eventos de teclado, mouse e toque (único e multitoque)
harry-app/ Implementação de referência de um aplicativo renderizador portátil de alta disponibilidade (HAR) criado usando o framework "harry".
harry-app-core/ Lógica principal do aplicativo, gerenciamento de estado e definições de modelo de UI para o app de referência `harry-app`.
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 o soong.
harry-tonic-server/ Servidor gRPC (baseado em tônico). Isso só é usado ao criar a versão do Linux com o 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 de i18n.
libyuv-rs/ Vinculações Rust para libyuv.
platforms/har-log Define implementações de registros e rastreamentos para todas as plataformas compatíveis.
platforms/har-looper-headless Uma implementação de looper independente de plataforma para renderização headless.
platforms/har-platform-android Fornece implementações específicas do Android das abstrações de plataforma `har-platform-api`.
platforms/har-platform-linux Fornece implementações específicas do Linux das abstrações de plataforma `har-platform-api`.
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 programadas

Serviço

Este diretório contém serviços do Android relacionados à segurança da tela.

Diretório Finalidade
ds-cvd-toolkit Uma ferramenta de linha de comando para a segurança da tela que permite a inicialização de vários dispositivos Cuttlefish.
emulator Suporte do emulador para sobreposições de recursos no momento da execução
har-grpc-services Contém as definições de proto usadas na implementação de referência para estabelecer canais de comunicação entre o app HAR e a DriverUI e os serviços de dados do veículo.
har-sdv-service* Fornece um pacote de serviços SDV usado para fornecer serviços de dados ao HAR utilizando o código gerado por arquivos proto.
har-tracing-common Serviços de rastreamento de performance para HAR
harry-prebuilt/ Componentes pré-criados do Harry (recursos, configurações etc.)
ivi/ Componentes relacionados ao IVI (infoentretenimento no veículo) do Android
libhar_graphics/ Biblioteca gráfica 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 editor de túnel de dados SDV de dados de 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 do Compose).
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 do usuário de discagem e medidor.
gui-playground-app Ambiente de sandbox para testar novos recursos de animação e interface.
har-platform-tests Conjunto de testes de integração para implementações de traços específicos 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 via 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 o 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.