בדף הזה מתואר המבנה של קוד המקור של Display Safety.
מידע נוסף מופיע בקובץ README.md בכל ספרייה.
שכפול המאגר
כדי לקבל גישה למאגר, צריך לפנות למנהל החשבונות הטכני של Google.
Framework
בספרייה הזו נמצאים רכיבי הליבה של מסגרת Display Safety.
| ספרייה | מטרה |
|---|---|
api/har-platform-api |
אוסף של הפשטות של מערכות משנה בפלטפורמה לבניית אפליקציות רינדור (HAR) עם זמינות גבוהה בפלטפורמות נתמכות. |
api/har-types |
סוגים של שיטת הפשטת חומרה (HAL). |
asset-manager |
כלים לניהול נכסי אפליקציות בזמן ריצה. |
audio/har-audio |
Crate לטיפול בהפעלת אודיו של HAR |
customizations |
מכיל ממשקי API, הטמעות ופקודות מאקרו נגזרות ליצירת התאמות אישיות של עיצוב מאפליקציה מבוססת-HAR. |
derive/har-ui-model-derive |
פקודות מאקרו פרוצדורליות להפקת תכונות נפוצות שמשמשות את מערכת מודל ממשק המשתמש של HAR |
display_list |
ההגדרה הזו מגדירה את המבנים והרכיבים שמתארים סצנה לצורך רינדור, ללא תלות ב-backend גרפי כלשהו. |
graphics/external-image |
crate לייצוגים של תמונות חיצוניות. |
graphics/har-gl-context |
מגדיר את ממשק ה-API של הקשר הגרפי וכולל כמה הטמעות בפלטפורמות נתמכות, גם להצגה וגם לעיבוד מחוץ למסך. |
graphics/impeller |
ממשק API ב-Safe Rust ל-Impeller, שמבוסס על קשרי FFI שנוצרו. |
graphics/impeller-renderer |
הטמעה של רכיב עיבוד ברמה גבוהה באמצעות Impeller כמנוע העיבוד הבסיסי. |
har-layout |
Wrapper ל-Taffy לחישוב פריסה לתצוגות ב-HAR. |
har-monitoring |
ערכת כלים למעקב אחר ביצועים. |
har-utils |
שירותים נפוצים. |
harry |
Framework שישמש כבסיס לבניית אפליקציות HAR |
harry-animation |
ממשק API להנפשה והטמעה של האנימציה עבור הארי |
squoosh |
ייצוג ביניים ומנוע אנימציה לפרמטרים של תצוגה ב-framework של Harry. |
task-scheduler |
כלי לתזמון משימות ולהרצה שלהן בשרשור ברקע אחרי השהיה שצוינה. |
test_suites |
חבילות בדיקה להפעלת בדיקות יחידה של בטיחות התצוגה |
תצורות מוכנות מראש
בספרייה הזו יש ספריות ונכסים מוכנים מראש.
| ספרייה | מטרה |
|---|---|
impeller/ |
ספריות מוכנות מראש למנוע הגרפיקה Impeller, מאורגנות לפי מערכת הפעלה וארכיטקטורה. |
impeller-rs-bindgen/ |
קישורי Rust FFI ל-Impeller. |
impeller-rs-bindgen-wrapper/ |
API wrapper לקישורי Impeller. |
חומרי עזר
בספרייה הזו יש את יישום ההפניה של HAR, יישומים ספציפיים לפלטפורמה, כלים וארטיפקטים של בדיקות.
| ספרייה | מטרה |
|---|---|
audio/tinyalsa-rs |
Rust FFI bindings לספריית האודיו 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). השימוש בה הוא רק כשיוצרים את גרסת Android באמצעות soong |
harry-tonic-server/ |
שרת gRPC (מבוסס tonic). האפשרות הזו משמשת רק כשיוצרים את גרסת Linux באמצעות Cargo. |
harry-vehicle-data-grpc/ |
קוד gRPC של נתוני הרכב, שנוצר מקובצי הפרוטו של נתוני הרכב. |
i18n/harry-app-i18n |
שירותי התאמה לשוק המקומי והבינלאומי עבור HAR. |
i18n/i18n-protos |
הגדרת הודעות protobuf ויצירת קוד Rust לנתוני i18n. |
libyuv-rs/ |
Rust bindings for libyuv. |
platforms/har-log |
הגדרות של הטמעות של יומנים ומעקב לכל פלטפורמה נתמכת. |
platforms/har-looper-headless |
יישום של לולאה שאינו תלוי בפלטפורמה, עבור עיבוד ללא ממשק משתמש. |
platforms/har-platform-android |
מספק הטמעות ספציפיות ל-Android של הפשטות הפלטפורמה `har-platform-api`. |
platforms/har-platform-linux |
מספק הטמעות ספציפיות ל-Linux של הפשטות הפלטפורמה `har-platform-api`. |
platforms/harry-app-platform-specific |
הגשר של קומפילציה מותנית עבור harry-app, בחירת ההטמעה הנכונה על סמך הפלטפורמה שנבחרה. |
safety-monitor |
הטמעה של כלי עזר לבדיקת בטיחות ב-Android. |
screencap |
כלי לצילום מסך לחילוץ צילומי מסך ישירות ממאגרי מסגרות DRM (ניהול זכויות דיגיטליות) |
vehicle-data-scripts |
מבנים ולוגיקה ליצירת רצפים של נתוני רכב מבוססי-סקריפט |
שירות
הספרייה הזו מכילה שירותי Android שקשורים לבטיחות התצוגה.
| ספרייה | מטרה |
|---|---|
ds-cvd-toolkit |
כלי שורת פקודה ל-Display Safety שמאפשר להפעיל כמה מכשירי Cuttlefish. |
emulator |
תמיכה באמולטורים בשכבות-על של משאבים בזמן ריצה |
har-grpc-services |
הקובץ מכיל את הגדרות הפרוטו שמשמשות בהטמעה לדוגמה כדי ליצור ערוצי תקשורת בין אפליקציית HAR לבין DriverUI ושירותי נתוני הרכב. |
har-sdv-service* |
מספק חבילת שירות SDV שמשמשת לאספקת שירותי נתונים ל-HAR באמצעות הקוד שנוצר על ידי קובצי פרוטו |
har-tracing-common |
שירותים למעקב אחר ביצועים עבור HAR |
harry-prebuilt/ |
רכיבי Harry מוכנים מראש (נכסים, הגדרות וכו') |
ivi/ |
רכיבים שקשורים ל-IVI (מערכת מידע ובידור ברכב) ב-Android |
libhar_graphics/ |
ספריית גרפיקה של C++ לשירותי HAR. |
pdk/ |
מטא-נתונים של גרסת ה-PDK |
product/ |
הגדרות אישיות ונכסים ספציפיים למוצר |
SdvCameraPreviewApp |
אפליקציה לתצוגה מקדימה של המצלמה ל-SDV. |
vehicledata |
הטמעה של מפרסם של מנהרת נתונים של SDV לנתוני רכב באמצעות gRPC |
Utils
בספרייה הזו יש כלי עזר כלליים להטמעות לדוגמה ולבדיקות.
| ספרייה | מטרה |
|---|---|
asset-manager-cli |
מספק ממשק שורת פקודה ליצירת חבילות נכסים. |
dcf-info/ |
כלי לחילוץ מטא-נתונים מ-DCF (מסמך Figma של Serialized Design Compose) |
figma-utils |
מספק עטיפה של שורת פקודה ל-`figma_import`, כדי לאחזר מסמכי Figma שעברו סריאליזציה. |
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 של Android לפורמט HAR proto. |
variable-density-analyzer |
מנתחת מסמך Figma ומחשבת את היחס בין הצמתים לבין משתני העיצוב. |