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

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

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

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

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

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

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

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

  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-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

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

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

एक्स्टेंशन_मोड_वैलिडेशन_नतीजे-शुरुआती

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

झलक के नतीजों की पुष्टि करना

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

झलक-bokeh_enabled

पांचवीं इमेज. बोकेह मोड की मदद से इमेज की झलक देखें

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

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

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

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

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

फ़ोटो_व्यूअर-बोकेह_चालू

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

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

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

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

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

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

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

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

Camera_validation_result एक्सटेंशन_mode_validation_result

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

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

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

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

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