בדיקת מכשירים מתקפלים של המצלמה

החל מ-Android 13, אפליקציית Camera ITS כוללת תמיכה בבדיקה למכשירים מתקפלים. במכשירים מתקפלים יש מצלמות זמינות, או האפשרות לא זמינה כי המכשיר במצב מקופל או לא מקופל.

מזהי המצלמות משתנים בהתאם לסוג המכשיר, לדגם ולמותג. את הרצף הזמינות של המצלמות הפיזיות משתנה בהתאם למדינה. בגלל זאת, טכנולוגיית ה-ITS של המצלמה קובעת באופן דינמי את השילובים של הסצנה והמצלמה שבהם ייעשה שימוש לבדיקה. מאחר שצריך לבדוק את המצלמות גם במצב מקופל וגם במצב לא מקופל לצורך בדיקה של מכשירים מתקפלים, צריך לטעון מחדש את ה-DUT במהלך הבדיקה תהליך האימות.

בדיקה של המצלמה הקדמית והאחורית

יש הבדלים בחיישני המצלמה שזמינים במכשירים מתקפלים, בהתאם ל אם המכשיר במצב מקופל או לא מקופל. למכשירים מתקפלים, הצד הקדמי זמינות המצלמה משתנה בהתאם למדינה. לדוגמה, בחלק הקדמי המצלמה לא זמינה במצב מקופל. בעקבות השינוי הזה בחזית את זמינות המצלמה, יש לבדוק את המצלמה הקדמית גם במצב לא מקופל. ההנחה של המצלמה האחורית היא שזמינות המצלמה האחורית נשארה זהות כשהמכשיר מקופל או לא מקופל, כך שהמצלמות האחוריות צריכות רק נבדק פעם אחת.

בהתאם למצב המכשיר, המצלמה ITS מסננת את הפריטים שאינם זמינים המצלמה והמצלמה לא מופיעים ברשימת המצלמות משילובים של סצנות.

בטבלה הבאה מתוארת התנהגות הבדיקה של ה-ITS של המצלמה בכל מצלמה. לכיוון מסוים.

כיוון המצלמה התנהגות הבדיקה של ה-ITS של המצלמה
מצלמה אחורית בדיקה אחת של המצלמה במצב מקופל או מצב לא מקופל
מצלמה קדמית ראשית בדיקה של המצלמה פעם אחת במצב מקופל ופעם אחת למצב לא מקופל.
מצלמה קדמית פיזית המצלמה בודקת רק במצבים שבהם המצלמה זמינים.

הליך הבדיקה

בקטע הזה מתוארים השלבים לבדיקת מצלמות לאיתור מכשירים מתקפלים.

הגדרת המכשיר

מידע על ההגדרות זמין במאמר הגדרה.

הענקת גישה ל-API לבדיקה

כדי שהמצלמה תוכל לקבוע אם המכשיר מתקפל, עליך להעניק גישה ל-API לבדיקה לפני הפעלת הבדיקות. אם לא ניתנה גישה, הרצת התוצאות של בדיקות ה-ITS של המצלמה על ידי האפליקציה קורסת.

כדי להעניק גישה, מריצים את פקודת ה-ADB הבאה. צריך להריץ את הפקודה הזו פעם אחת למכשיר אחד. אם CTS Verifier מותקן מחדש עם גרסה, עליך להריץ את הפקודה שוב.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

קובץ התצורה

כדי לציין שהמכשיר הוא מכשיר מתקפל, צריך להוסיף את foldable_device גם בבדיקות tablet וגם ב-sensor_fusion בבדיקות של config.yml חדש. המצלמה ITS משתמשת בפרמטר הזה כדי לקבוע את camera_id ואת הסצנה למצבים של מצב מקופל ומצב לא מקופל.

הדוגמה הבאה היא של קובץ config.yml למכשיר מתקפל.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

הרצת בדיקות

כדי להריץ את הבדיקות ה-ITS במכשיר מתקפל, מריצים את הפקודה run_all_tests.py. פרטים נוספים זמינים במאמר: הפעלת בדיקות.

כשמפעילים את המצלמה ITS במכשיר מתקפל, המצלמה הקדמית הראשית נבדקת בשני המצבים, מקופל ולא מקופל. אם המכשיר מקופל, התוצאות מוצגת מתחת לרכיב camera1_SCENE_NAME_folded באפליקציה CTS Verifier. בהתאם למצב המכשיר, בחלק הקדמי מזהי המצלמות הפיזיות לא זמינים ולא נבדקים. צריך לבדוק את המצלמה האחורית רק במצב אחד – עדיף במצב מקופל והתוצאות של המצלמה האחורית לא כוללות את הסיומת _folded.

כדי לוודא שהסצנות המקופלות מופעלות כשהמכשיר מקופל ובודקים במצב של ה-DUT המתקפל, מריצים את הפקודה הבאה.

adb shell cmd device_state state

בעת ביצוע בדיקות במצב מקופל, Camera ITS מציגה הודעה למסוף כדי לבקש מהמשתמש להגדיר את המכשיר כראוי ב-ITS . כדי להמשיך לבצע את הבדיקה לאחר ההנחיה, מקישים על Enter.

אם מפעילים את כל הסצנות גם במצב מקופל וגם במצב פתוח, במצב מקופל של הסצנות הראשונות בהשקה הפעולה הזו מצמצמת את כמות הטעינה מחדש שנדרשת במהלך הבדיקה.

המצלמה ITS מוסיפה גם את הסיומת folded לספרייה tmp נוצר לסצנות במצב מקופל.

פקודות לדוגמה

בהמשך מוצגות פקודות לדוגמה לביצוע בדיקה במכשירים מתקפלים.

הוראה תיאור
python tools/run_all_tests.py הפעלת כל הסצנות.
python tools/run_all_tests.py scenes=scene0 מריץ סצנה0. אם המכשיר מקופל והמשתמש בודק את המצלמה הקדמית, הסקריפט קובע את מצב המכשיר להוסיף את הסיומת _folded לשם הסצנה. המשתמשים לא צריכים להוסיף את הסיומת כדי להריץ את הסצנות המקפלות.
python tests/scene0/ -c config.yml מריצה בדיקה ספציפית.