כלי לאימות תוספים למצלמה

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

  • בדיקות אימות אוטומטיות: אימות שהממשק של ספריית הספק הוטמע בצורה נכונה. לדוגמה, אם CaptureProcessor נדרש לצילום תמונות, הבדיקות מאמתות ש-ImageCaptureExtenderImpl#getCaptureStages() מחזיר את המופעים הנדרשים של CaptureStage לצילום התמונות.

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

קוד המקור של כלי האימות הוא חלק מאפליקציית הבדיקה של התוספים במאגר Android Jetpack.

פיתוח כלי האימות של תוספים למצלמה

כדי ליצור את הכלי לאימות התוספים:

  1. מורידים את קוד המקור של ספריית Android Jetpack. פרטים נוספים זמינים בקטע בדיקת הקוד שבקובץ ה-README של Android Jetpack.

  2. יוצרים את קובץ ה-APK של extensionstestapp. כך אפשר להריץ בדיקות אימות ידניות.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
    

    קובץ ה-APK יופיע בנתיב הבא:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. יוצרים את קובץ ה-APK של androidTest. קובץ ה-APK הזה מאפשר להריץ בדיקות אימות אוטומטיות.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
    

    קובץ ה-APK יופיע בנתיב הבא:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

הפעלת בדיקות אימות אוטומטיות

כדי להריץ את בדיקות האימות האוטומטיות, צריך להתקין את קובצי ה-APK של extensionstestapp ו-androidTest.

  • extensionstestapp APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  • androidTest APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

הפעלת כל הבדיקות האוטומטיות

אחרי התקנת קובצי ה-APK, כדי להריץ את כל הבדיקות האוטומטיות לאימות ההטמעה של ספריית הספק, מריצים את הפקודה הבאה:

adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

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

automated_validation_result-pass

איור 1. תוצאה תקינה של בדיקות אוטומטיות

automated_validation_result-fail

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

הרצת בדיקות אוטומטיות של כיתה ספציפית

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

adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

הפעלת בדיקות אימות ידניות

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

אחרי שמעבירים את הכלי למצב אימות, בדף הראשון מפורטות כל המצלמות שמכילות את היכולת REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. אם המצלמה לא תומכת באף מצב תוסף, הפריט המתאים ברשימה יהיה אפור.

camera_validation_result-initial

איור 3. מצב הכלי לאימות

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

extension_mode_validation_result-initial

איור 4. מצבי התוספים שזמינים למצלמה

אימות התוצאות בתצוגה המקדימה

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

preview-bokeh_enabled

איור 5. תצוגה מקדימה של תמונה עם אפקט בוקה מופעל

הפעילות 'צילום תמונה' תומכת בפונקציות הבאות:

  • התקרבות/התרחקות
  • הקשה כדי להתמקד
  • לחצן החלפת מצבי הפלאש
  • EV +/-
  • לחצן החלפת מצב של תוסף מופעל/מושבת

מוודאים שהפונקציות של הגדלת התצוגה/הקטנת התצוגה, הקשה להתמקד, מצבי הפלאש והפונקציות של EV +/- פועלות כצפוי בתצוגה המקדימה.

אימות התוצאות של התמונות שצולמו

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

photo_viewer-bokeh_enabled

איור 6. תמונה שצולמה עם אפקט בוקה מופעל

הפעילות של אימות התמונה כוללת את הפונקציות הבאות:

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

מוודאים שהתמונה שצולמה נכונה ותואמת להגדרות של הזום, הקשה לצורך התמקדות, מצבי הפלאש וה-EV +/- שהוגדרו בזמן הצילום.

אם התוצאות שצולמו נכונות, מקישים על הלחצן PASS (סימן וי) בפינה הימנית התחתונה. אם לא, מקישים על הלחצן FAIL (סימן קריאה) בפינה השמאלית התחתונה.

הצגת תוצאות הבדיקה

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

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

camera_validation_result extension_mode_validation_result

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

פונקציות אחרות של כלי האימות

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

  • ייצוא תוצאות הבדיקה: ייצוא תוצאות הבדיקה כקובץ CSV לתיקייה Documents/ExtensionsValidation.
  • איפוס: ניקוי כל תוצאות הבדיקה שנשמרו במטמון.
  • אפליקציית תוספים לדוגמה: מעבר למצב של אפליקציית תוספים לדוגמה.

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