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

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

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

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

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. מצב הכלי לאימות

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

export_mode_ Validation_result-initial

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

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

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

Preview-bokeh_enabled

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

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

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

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

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

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

photo_viewer-bokeh_enabled

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

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

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

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

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

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

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

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

camera_validation_result תוסף_מצב_אימות_תוצאה

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

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

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

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

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