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

כלי האימות של תוספי המצלמה מאפשר ליצרני מכשירים לוודא שהספרייה Camera Extensions OEM vendor library מיושמת בצורה נכונה. הכלי כולל בדיקות אימות אוטומטיות וידניות.

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

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

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

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

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

  1. מורידים את קוד המקור של ספריית Android Jetpack. פרטים נוספים מופיעים בקטע Checking out the Code במאמר Android Jetpack README.

  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. תמונה שצולמה עם אפקט בוקה

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

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

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

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

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

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

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

camera_validation_result extension_mode_validation_result

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

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

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

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

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