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

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

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

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

पुष्टि करने वाले टूल का सोर्स कोड, Android Jetpack रिपॉज़िटरी में मौजूद एक्सटेंशन टेस्ट ऐप्लिकेशन का हिस्सा है.

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

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

  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 APKs इंस्टॉल करें.

  • 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

पहली इमेज. अपने-आप होने वाली जांच का सही नतीजा

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

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

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

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

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

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

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

photo_viewer-bokeh_enabled

छठी इमेज. बोकेह मोड चालू करके ली गई इमेज

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

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

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

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

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

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

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

camera_validation_result extension_mode_validation_result

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

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

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

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

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