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

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

  • अपने-आप होने वाली पुष्टि की जांच: पुष्टि करें कि वेंडर लाइब्रेरी इंटरफ़ेस को सही तरीके से लागू किया गया है. उदाहरण के लिए, अगर इमेज कैप्चर करने के लिए 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

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

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

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

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

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

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

photo_viewer-bokeh_enabled

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

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

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

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

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

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

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

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

camera_validation_result extension_mode_validation_result

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

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

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

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

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