कैमरा एक्सटेंशन की पुष्टि करने वाला टूल

कैमरा एक्सटेंशन की पुष्टि करने वाला टूल, डिवाइस बनाने वाली कंपनियों को यह पुष्टि करने की अनुमति देता है कि Camera Extensions OEM vendor library को सही तरीके से लागू किया गया है. इस टूल में, अपने-आप और मैन्युअल तरीके से पुष्टि करने की जांचें शामिल होती हैं.

  • अपने-आप होने वाली पुष्टि की जांच: इससे यह पुष्टि की जाती है कि वेंडर लाइब्रेरी इंटरफ़ेस को सही तरीके से लागू किया गया है. उदाहरण के लिए, अगर इमेज कैप्चर करने के लिए CaptureProcessor की ज़रूरत है, तो टेस्ट यह पुष्टि करते हैं कि इमेज कैप्चर करने के लिए, ImageCaptureExtenderImpl#getCaptureStages() ज़रूरी CaptureStage इंस्टेंस दिखाता है.

  • मैन्युअल तरीके से पुष्टि करने वाले टेस्ट: इमेज इफ़ेक्ट और झलक वाली इमेज और कैप्चर की गई इमेज की क्वालिटी की पुष्टि करें. उदाहरण के लिए, इन टेस्ट की मदद से डिवाइस बनाने वाली कंपनियां मैन्युअल तरीके से यह पुष्टि कर सकती हैं कि फ़ोटो में चेहरे को बेहतर बनाने वाला इफ़ेक्ट सही तरीके से लागू किया गया है या नहीं. इसके अलावा, वे यह भी पुष्टि कर सकती हैं कि फ़ोटो में बैकग्राउंड को धुंधला करने वाला इफ़ेक्ट सही तरीके से काम कर रहा है या नहीं.

पुष्टि करने वाले टूल का सोर्स कोड, Android Jetpack repository में मौजूद extensions test app का हिस्सा है.

कैमरा एक्सटेंशन की पुष्टि करने वाला टूल बनाना

एक्सटेंशन की पुष्टि करने वाला टूल बनाने के लिए, यह तरीका अपनाएं:

  1. Android Jetpack लाइब्रेरी का सोर्स कोड डाउनलोड करें. ज़्यादा जानकारी के लिए, Android Jetpack README का कोड देखना सेक्शन देखें.

  2. extensionstestapp APK बनाएं. इससे मैन्युअल तरीके से पुष्टि करने से जुड़ी जांच की जा सकती है.

      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. androidTest APK बनाएं. इस 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
    

अपने-आप पुष्टि करने वाले टेस्ट चलाना

अपने-आप होने वाले पुष्टि करने के टेस्ट चलाने के लिए, extensionstestapp और androidTest APK इंस्टॉल करें.

  • 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

सभी ऑटोमेटेड टेस्ट चलाएं

एपीके इंस्टॉल करने के बाद, वेंडर लाइब्रेरी को लागू करने की पुष्टि करने के लिए, सभी अपने-आप होने वाले टेस्ट चलाने के लिए, यह कमांड चलाएं:

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

अगर सभी टेस्ट पास हो जाते हैं, तो OK नतीजा मिलता है. ऐसा न करने पर, सभी टेस्ट पूरे होने के बाद, फ़ाइनल टेस्ट रिपोर्ट में टर्मिनल में गड़बड़ियां दिखती हैं.

automated_validation_result-pass

पहली इमेज. अपने-आप होने वाली जांच का नतीजा 'ठीक है' के तौर पर मिला है

automated_validation_result-fail

दूसरी इमेज. अपने-आप होने वाली जांच के नतीजे में गड़बड़ियां

किसी क्लास के अपने-आप होने वाले टेस्ट चलाना

किसी क्लास के ऑटोमेटेड टेस्ट चलाने के लिए, टारगेट क्लास का नाम और पाथ डालें. यहां दिए गए उदाहरण में, 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

तीसरी इमेज. पुष्टि करने वाले टूल का मोड

जांच करने के लिए, एक्सटेंशन मोड देखने के लिए किसी कैमरे पर टैप करें. चुने गए कैमरे के साथ काम न करने वाले एक्सटेंशन मोड, धूसर रंग में दिखते हैं.

extension_mode_validation_result-initial

चौथी इमेज. किसी कैमरे के लिए उपलब्ध एक्सटेंशन मोड

झलक के तौर पर दिखाए गए नतीजों की पुष्टि करना

झलक देखने के नतीजों की पुष्टि करने के लिए, चुने गए कैमरे के एक्सटेंशन मोड पर टैप करके मैन्युअल टेस्ट शुरू करें. इसके बाद, इमेज कैप्चर करने की गतिविधि दिखाई जाती है. इसमें झलक शामिल होती है.

preview-bokeh_enabled

पांचवीं इमेज. बोके इफ़ेक्ट चालू करके ली गई इमेज की झलक

इमेज कैप्चर करने की सुविधा के साथ ये फ़ंक्शन काम करते हैं:

  • ज़ूम इन करें/आउट करें
  • टैप करके फ़ोकस करने की सुविधा
  • फ़्लैश मोड बदलने वाला बटन
  • EV +/-
  • एक्सटेंशन चालू/बंद करने वाला बटन

पुष्टि करें कि झलक में, ज़ूम इन/आउट करने, टैप करके फ़ोकस करने, फ़्लैश मोड, और ईवी +/- फ़ंक्शन उम्मीद के मुताबिक काम कर रहे हों.

खींची गई इमेज के नतीजों की पुष्टि करना

इमेज कैप्चर करने के लिए, इमेज कैप्चर करने की गतिविधि में मौजूद CAPTUR बटन (गोल बटन) पर टैप करें. इससे इमेज की पुष्टि करने वाली गतिविधि शुरू होती है. इसमें कैप्चर की गई इमेज दिखती है.

photo_viewer-bokeh_enabled

छठी इमेज. बोके इफ़ेक्ट चालू करके कैप्चर की गई इमेज

इमेज की पुष्टि करने की गतिविधि में ये फ़ंक्शन शामिल होते हैं:

  • इमेज का साइज़ बदलने के लिए, पिंच इन/आउट करें
  • खींची गई इमेज के बीच स्विच करने के लिए, बाईं/दाईं ओर स्लाइड करें
  • फिर से कैप्चर करें
  • इमेज सेव करने का मेन्यू आइटम

पुष्टि करें कि कैप्चर की गई इमेज सही है. साथ ही, यह ज़ूम इन/आउट, टैप-टू-फ़ोकस, फ़्लैश मोड, और ईवी +/- सेटिंग से मेल खाती है. ये सेटिंग, इमेज कैप्चर करते समय सेट की गई थीं.

अगर कैप्चर किए गए नतीजे सही हैं, तो सबसे नीचे दाएं कोने में मौजूद, पास बटन (सही का निशान) पर टैप करें. अगर ऐसा नहीं है, तो सबसे नीचे बाएं कोने में मौजूद FAIL बटन (विस्मयादिबोधक चिह्न) पर टैप करें.

परीक्षण के नतीजे देखें

एक्सटेंशन मोड की पुष्टि होने के बाद, एक्सटेंशन मोड के लिए सूची आइटम में बैकग्राउंड का रंग और इंडिकेटर अलग दिखता है. सभी कैमरों की सूची में, आइटम इन रंगों में दिखते हैं:

  • सफ़ेद बैकग्राउंड: कैमरा कम से कम एक एक्सटेंशन मोड के साथ काम करता है. हालांकि, काम करने वाले एक्सटेंशन मोड की पूरी तरह से पुष्टि नहीं की गई है.
  • हरा बैकग्राउंड: कैमरा, कम से कम एक एक्सटेंशन मोड के साथ काम करता है. सपोर्ट किए गए सभी एक्सटेंशन मोड की पुष्टि की जाती है और सभी नतीजे पास होते हैं.
  • लाल रंग का बैकग्राउंड: इसका मतलब है कि कैमरा, कम से कम एक एक्सटेंशन मोड के साथ काम करता है. सहायता देने वाले सभी एक्सटेंशन मोड की पुष्टि की जाती है. हालांकि, इनमें से कम से कम एक एक्सटेंशन मोड का नतीजा सही नहीं होता है.
  • ग्रे बैकग्राउंड: यह सुविधा उपलब्ध नहीं है.

camera_validation_result extension_mode_validation_result

सातवीं इमेज. कैमरों और एक्सटेंशन मोड के टेस्ट के नतीजों को दिखाने वाले रंग

पुष्टि करने वाले टूल के अन्य फ़ंक्शन

सभी जांच पूरी होने के बाद, कैमरे की सूची वाली गतिविधि ये फ़ंक्शन उपलब्ध कराती है:

  • जांच के नतीजे एक्सपोर्ट करें: जांच के नतीजों को CSV फ़ाइल के तौर पर Documents/ExtensionsValidation फ़ोल्डर में एक्सपोर्ट करता है.
  • रीसेट करें: इससे, कैश मेमोरी में सेव किए गए सभी टेस्ट के नतीजे मिट जाते हैं.
  • एक्सटेंशन का सैंपल ऐप्लिकेशन: इससे एक्सटेंशन के सैंपल ऐप्लिकेशन मोड पर स्विच किया जाता है.

जांच पूरी होने के बाद, जांच के नतीजे एक्सपोर्ट किए जा सकते हैं. अगर आपको कोई समस्या मिलती है और समाधानों के साथ वेंडर लाइब्रेरी के लागू किए गए नए वर्शन की पुष्टि फिर से करनी है, तो पिछले टेस्ट के नतीजों को रीसेट करें. साथ ही, सभी कैमरों पर काम करने वाले सभी एक्सटेंशन मोड को फिर से चलाएं, ताकि यह पुष्टि की जा सके कि समस्याएं ठीक हो गई हैं.