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

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

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

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

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

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

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

  1. מורידים את קוד המקור של ספריית Android Jetpack. פרטים נוספים מופיעים בקטע Checking out the Code בקובץ ה-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 +/-
  • כפתור מתג להפעלה או להשבתה של התוסף

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

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

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

photo_viewer-bokeh_enabled

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

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

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

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

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

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

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

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

camera_validation_result extension_mode_validation_result

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

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

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

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

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