בדף הזה מתואר המבנה של קוד המקור של Display Safety.
מידע נוסף זמין בREADME.md בכל ספרייה.
שכפול המאגר
כדי לקבל גישה למאגר, צריך לפנות לאיש הקשר ב-Google.
Framework
בספרייה הזו נמצאים רכיבי הליבה של מסגרת בטיחות המסך.
| ספרייה | מטרה |
|---|---|
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 בטוח של Rust ל-Impeller, שמבוסס על קישורי FFI שנוצרו. |
graphics/impeller-renderer |
הטמעה של רכיב עיבוד ברמה גבוהה באמצעות Impeller כמנוע העיבוד הבסיסי. |
har-layout |
רכיב wrapper ל-Taffy לחישוב פריסה לתצוגות ב-HAR. |
har-monitoring |
ערכת כלים למעקב אחר ביצועים. |
har-utils |
שירותים נפוצים. |
harry |
Framework שישמש כבסיס לבניית אפליקציות HAR |
harry-animation |
ממשק API להנפשה והטמעה של הארי |
squoosh |
ייצוג ביניים ומנוע אנימציה לפרמטרים של תצוגה ב-Harry framework. |
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 ומחשבת את היחס בין הצמתים לבין משתני העיצוב. |