این صفحه، سازماندهی کد منبع ایمنی نمایشگر را شرح میدهد.
برای اطلاعات بیشتر، به فایل README.md در هر پوشه مراجعه کنید.
مخزن را کلون کنید
برای دسترسی به مخزن، با مدیر حساب فنی گوگل خود تماس بگیرید.
چارچوب
این دایرکتوری شامل اجزای اصلی چارچوب Display Safety است.
| دایرکتوری | هدف |
|---|---|
api/har-platform-api | مجموعهای از انتزاعات زیرسیستمهای پلتفرم برای ساخت برنامههای رندرینگ با دسترسی بالا (HAR) روی پلتفرمهای پشتیبانیشده. |
api/har-types | انواع لایههای انتزاعی سختافزار |
asset-manager | ابزارهایی برای مدیریت داراییهای برنامههای کاربردی در زمان اجرا. |
audio/har-audio | جعبهای برای مدیریت پخش صوتی HAR |
customizations | شامل APIها، پیادهسازیها و ماکروهای مشتقشده برای تولید سفارشیسازیهای طراحی از یک برنامه مبتنی بر HAR است. |
derive/har-ui-model-derive | ماکروهای رویهای برای استخراج ویژگیهای رایج مورد استفاده توسط سیستم مدل HAR UI |
display_list | ساختارها و اجزایی را تعریف میکند که صحنهای را برای رندر کردن توصیف میکنند و از هرگونه رابط گرافیکی جدا هستند. |
graphics/external-image | جعبهای برای نمایش تصاویر خارجی. |
graphics/har-gl-context | API زمینه گرافیکی را تعریف میکند و شامل پیادهسازیهای متعددی در پلتفرمهای پشتیبانیشده، هم برای نمایش و هم برای رندر خارج از صفحه نمایش، میشود. |
graphics/impeller | API ایمن برای جلوگیری از زنگزدگی پروانه، که بر اساس اتصالات FFI تولید شده ساخته شده است. |
graphics/impeller-renderer | پیادهسازی رندر سطح بالا با استفاده از Impeller به عنوان موتور رندر پشتیبان. |
har-layout | یک پوشش برای Taffy جهت محاسبه طرحبندی نماها در HAR. |
har-monitoring | جعبه ابزار نظارت بر عملکرد |
har-utils | خدمات رفاهی مشترک. |
harry | چارچوبی که به عنوان پایهای برای ساخت برنامههای HAR استفاده میشود |
harry-animation | یک API انیمیشن و پیادهسازی برای هری |
squoosh | موتور نمایش و انیمیشن سطح متوسط برای پارامترهای نمایش در چارچوب هری. |
task-scheduler | ابزاری برای زمانبندی وظایف و اجرای آنها در یک نخ پسزمینه پس از یک تأخیر مشخص. |
test_suites | مجموعههای آزمایشی برای اجرای آزمونهای واحد ایمنی نمایشگر |
پیشساختهها
این دایرکتوری شامل کتابخانهها و فایلهای از پیش ساخته شده است.
| دایرکتوری | هدف |
|---|---|
impeller/ | کتابخانههای از پیش ساخته شده برای موتور گرافیکی Impeller، که بر اساس سیستم عامل و معماری سازماندهی شدهاند. |
impeller-rs-bindgen/ | اتصالات FFI زنگ زده برای پروانه. |
impeller-rs-bindgen-wrapper/ | پوشش API برای اتصالات پروانه. |
مرجع
این دایرکتوری شامل پیادهسازی مرجع HAR، پیادهسازیهای مختص پلتفرم، ابزارها و مصنوعات آزمایشی است.
| دایرکتوری | هدف |
|---|---|
audio/tinyalsa-rs | اتصالات Rust FFI برای کتابخانه صوتی Tinyalsa. |
audio/tinyalsa-audio | کتابخانهای برای پخش صدا و مدیریت دستگاه، مبتنی بر پیوندهای FFI تولید شده توسط جعبه `tinyalsa-rs` |
camera/emulated-camera | پیادهسازی یک دوربین شبیهسازیشده را با استفاده از ویژگی `Camera` از `har-platform-api` فراهم میکند. |
graphics/gl-helpers | جعبه ابزار حاوی توابع کمکی GL |
har-user-input-evdev/ | یک پیادهسازی اولیه مدیریت ورودی مبتنی بر evdev را پیادهسازی میکند. از رویدادهای صفحهکلید، ماوس و لمس (تک و چند لمسی) پشتیبانی میکند. |
harry-app/ | پیادهسازی مرجع برای یک برنامه رندرینگ قابل حمل با دسترسی بالا (HAR) که با استفاده از چارچوب `harry` ساخته شده است. |
harry-app-core/ | منطق برنامه اصلی، مدیریت حالت و تعاریف مدل رابط کاربری برای برنامه مرجع harry-app. |
harry-app-utils/ | توابع کاربردی و ماژولهای کمکی برای اپلیکیشن مرجع `harry-app`. |
harry-control-api/ | رابطهای برنامهنویسی کاربردی (API) کنترل برای برنامه مرجع `harry-app`. |
harry-grpcio-server/ | سرور gRPC (مبتنی بر grpcio). این فقط هنگام ساخت نسخه اندروید با soong استفاده میشود. |
harry-tonic-server/ | سرور gRPC (مبتنی بر تونیک). این فقط هنگام ساخت نسخه لینوکس با Cargo استفاده میشود. |
harry-vehicle-data-grpc/ | کد gRPC دادههای خودرو، تولید شده از فایلهای اولیه دادههای خودرو. |
i18n/harry-app-i18n | خدمات بینالمللیسازی و محلیسازی برای HAR. |
i18n/i18n-protos | پیامهای protobuf و تولید کد Rust برای دادههای i18n را تعریف میکند. |
libyuv-rs/ | اتصالات زنگ زدگی برای لیبیوو. |
platforms/har-log | پیادهسازیهای لاگ و ردیابی را برای هر پلتفرم پشتیبانیشده تعریف میکند. |
platforms/har-looper-headless | یک پیادهسازی حلقهزن مستقل از پلتفرم برای رندرینگ بدون سر (headless). |
platforms/har-platform-android | پیادهسازیهای خاص اندروید از انتزاعهای پلتفرم `har-platform-api` را ارائه میدهد. |
platforms/har-platform-linux | پیادهسازیهای خاص لینوکس از انتزاعهای پلتفرم `har-platform-api` را ارائه میدهد. |
platforms/harry-app-platform-specific | پل کامپایل شرطی برای harry-app، که پیادهسازی صحیح را بر اساس پلتفرم انتخابشده انتخاب میکند. |
safety-monitor | پیادهسازی یک مانیتور ایمنی مرجع برای اندروید. |
screencap | ابزار ضبط صفحه نمایش برای استخراج مستقیم تصاویر از فریم بافرهای DRM |
vehicle-data-scripts | ساختارها و منطق ایجاد توالی دادههای اسکریپتشدهی خودرو |
خدمات
این دایرکتوری شامل سرویسهای اندروید مرتبط با ایمنی نمایشگر است.
| دایرکتوری | هدف |
|---|---|
ds-cvd-toolkit | یک ابزار خط فرمان برای ایمنی نمایش که امکان راهاندازی چندین دستگاه Cuttlefish را فراهم میکند. |
emulator | پشتیبانی شبیهساز از Runtime Resource Overlays |
har-grpc-services | شامل تعاریف اولیه مورد استفاده در پیادهسازی مرجع برای ایجاد کانالهای ارتباطی بین برنامه HAR و DriverUI و سرویسهای داده خودرو است. |
har-sdv-service* | یک بسته خدمات SDV ارائه میدهد که برای ارائه خدمات داده به HAR با استفاده از کد تولید شده توسط فایلهای اولیه استفاده میشود. |
har-tracing-common | خدمات ردیابی عملکرد برای HAR |
harry-prebuilt/ | کامپوننتهای پیشساخته هری (داراییها، پیکربندیها و غیره) |
ivi/ | اجزای مرتبط با اندروید IVI (سیستم اطلاعات و سرگرمی درون خودرو) |
libhar_graphics/ | کتابخانه گرافیکی C++ برای سرویسهای HAR |
pdk/ | فراداده انتشار PDK |
product/ | پیکربندیها و داراییهای خاص محصول |
SdvCameraPreviewApp | برنامه پیشنمایش دوربین برای SDV. |
vehicledata | پیادهسازی یک ناشر تونل داده SDV برای دادههای خودرو با استفاده از gRPC |
ابزارها
این دایرکتوری شامل ابزارهای عمومی برای پیادهسازیهای مرجع و آزمایش است.
| دایرکتوری | هدف |
|---|---|
asset-manager-cli | یک رابط خط فرمان برای تولید بستههای دارایی فراهم میکند. |
dcf-info/ | ابزاری برای استخراج فراداده از یک سند DCF (سند Serialized Design Compose Figma) |
figma-utils | یک پوشش خط فرمان برای `figma_import` فراهم میکند تا اسناد سریالی شده فیگما را دریافت کند. |
gauge-test | برنامهای که برای آزمایش و نمایش عناصر رابط کاربری صفحه مدرج و گیج طراحی شده است. |
gui-playground-app | محیط سندباکس برای آزمایش رابط کاربری جدید و ویژگیهای انیمیشن. |
har-platform-tests | مجموعهای از تستهای یکپارچهسازی برای پیادهسازی ویژگیهای خاص پلتفرم. |
har-rendering-parity | ابزار بصری برای تأیید برابری رندر بین HAR، DesignCompose و Figma. |
harry-rpc-client | یک رابط خط فرمان برای ارسال دستورات به Harry از طریق RPC فراهم میکند. |
human-readable-report-generator | ابزاری برای تأیید بصری مصنوعات ایمنی. |
ktx-utils | ابزارهایی برای رمزگذاری و رمزگشایی فایلهای بافت Khronos KTX 2.0 ارائه میدهد. |
list-test-app | به عنوان یک محیط آزمایشی و نمایشی برای مدیریت لیست در HAR عمل میکند. |
transfer-localizations | ابزاری برای تبدیل فایلهای محلیسازی XML اندروید به فرمت HAR proto. |
variable-density-analyzer | یک سند فیگما را تجزیه و تحلیل میکند و نسبت گرهها به متغیرهای طراحی را محاسبه میکند. |