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

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

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

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

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

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

הטבלה הבאה מתארת ​​את התנהגות בדיקת המצלמה ITS עבור כל כיוון מצלמה.

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

הליך בדיקה

סעיף זה מתאר את השלבים לבדיקת מצלמות עבור התקנים מתקפלים.

הגדר מכשיר

למידע על הגדרה, ראה הגדרה .

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

כדי שהמצלמה ITS תקבע אם המכשיר ניתן לקיפול או לא, עליך להעניק גישה ל-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 . לפרטים ראה, הפעלת בדיקות .

בעת הפעלת Camera ITS על מכשיר מתקפל, המצלמה הקדמית הראשית נבדקת בשני המצבים, מקופלת ופרוסת. אם המכשיר מקופל, התוצאות יוצגו מתחת לאפשרות camera1_ SCENE_NAME _folded באפליקציית CTS Verifier. בהתאם למצב המכשיר, מזהי מצלמה פיזית קדמית מסוימים אינם זמינים ואינם נבדקים. המצלמה האחורית צריכה להיבדק רק במצב אחד, רצוי במצב מקופל, ולתוצאות עבור המצלמה האחורית אין את הסיומת _folded .

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

adb shell cmd device_state state

בעת ביצוע בדיקות במצב מקופל, מצלמה 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 python tests/scene0/ -c config.yml מפעיל בדיקה ספציפית.