फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, कैमरे की ITS जांच

Android 13 वाले वर्शन के लिए, Camera आईटीएस में टेस्टिंग की सुविधा शामिल है फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए. फ़ोल्ड किए जा सकने वाले डिवाइसों में ऐसे कैमरे होते हैं जो डिवाइस के फ़ोल्ड या अनफ़ोल्ड होने के हिसाब से उपलब्ध या उपलब्ध नहीं होते.

कैमरा आईडी, डिवाइस के टाइप, मॉडल, और ब्रैंड के हिसाब से बदलते हैं. साथ ही, फ़्रंट कैमरे की उपलब्धता, देश/इलाके के हिसाब से बदलती है. इस वजह से इसे चालू करने पर, कैमरा आईटीएस डाइनैमिक तरीके से सीन और कैमरे के कॉम्बिनेशन तय करता है इस टूल का इस्तेमाल किया जा सकता है. कैमरों की जांच, फ़ोल्ड किए गए और फ़ोल्ड किए बिना, दोनों स्थितियों में की जानी चाहिए. इसलिए, फ़ोल्ड किए जा सकने वाले डिवाइसों की जांच के दौरान, डीयूटी को फिर से माउंट करना ज़रूरी है.

फ़्रंट और रीयर कैमरे की जांच करें

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

डिवाइस की स्थिति के आधार पर, Camera ITS उन कैमरे डिवाइसों को फ़िल्टर कर देता है जो उपलब्ध नहीं हैं. साथ ही, कैमरे और सीन के कॉम्बिनेशन की सूची में कैमरे डिवाइस नहीं दिखते.

यहां दी गई टेबल में, हर कैमरे के ओरिएंटेशन के लिए, कैमरे के आईटीएस टेस्ट के व्यवहार के बारे में बताया गया है.

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

टेस्ट की प्रोसेस

इस सेक्शन में, फ़ोल्ड किए जा सकने वाले डिवाइसों के कैमरों की जांच करने का तरीका बताया गया है.

डिवाइस सेट अप करें

सेटअप संबंधी जानकारी के लिए, देखें सेटअप.

टेस्ट एपीआई का ऐक्सेस देना

कैमरा ITS यह तय कर सके कि डिवाइस फ़ोल्ड हो सकता है या नहीं, इसके लिए आपको जांच शुरू करने से पहले, टेस्ट एपीआई का ऐक्सेस देना होगा. अगर ऐक्सेस नहीं दिया जाता है, तो कैमरे के आईटीएस टेस्ट को चलाने पर ऐप्लिकेशन क्रैश हो जाता है.

ऐक्सेस देने के लिए, यहां दिया गया ADB कमांड चलाएं. इस निर्देश को चलाना ज़रूरी है एक बार इस्तेमाल करने की सुविधा मिलती है. अगर CTS Verifier को किसी अन्य वर्शन है, तो आपको आदेश फिर से चलाना होगा.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

कॉन्फ़िगरेशन फ़ाइल

यह बताने के लिए कि डिवाइस फ़ोल्ड होने वाला है, config.yml फ़ाइल में tablet और sensor_fusion, दोनों टेस्टबेड में foldable_device पैरामीटर जोड़ें. कैमरा आईटीएस इस पैरामीटर का इस्तेमाल करके, camera_id और सीन की पहचान करता है फ़ोल्ड और अनफ़ोल्ड स्टेट के कॉम्बिनेशन.

फ़ोल्ड किए जा सकने वाले डिवाइस के लिए config.yml फ़ाइल का उदाहरण यहां दिया गया है.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

टेस्ट चलाना

फ़ोल्ड किए जा सकने वाले डिवाइस पर आईटीएस टेस्ट चलाने के लिए, run_all_tests.py कमांड चलाएं. ज़्यादा जानकारी के लिए देखें, टेस्ट शुरू करना.

फ़ोल्ड किए जा सकने वाले डिवाइस पर कैमरे का इस्तेमाल करते समय, मुख्य फ़्रंट कैमरे की जांच की जाती है डिवाइस को फ़ोल्ड और अनफ़ोल्ड किया जा सके. डिवाइस फ़ोल्ड होने पर, नतीजे मिलेंगे camera1_SCENE_NAME_folded के अंतर्गत प्रदर्शित का विकल्प चुनना होगा. डिवाइस की स्थिति के हिसाब से, सामने वाला हिस्सा फ़िज़िकल कैमरा आईडी उपलब्ध नहीं हैं और उनकी जांच नहीं की गई है. रीयर कैमरे की जांच सिर्फ़ एक स्थिति में करनी होती है. आम तौर पर, फ़ोल्ड किए गए डिवाइस की स्थिति में. साथ ही, रीयर कैमरे के नतीजों में _folded सफ़िक्स नहीं होता.

यह पक्का करने के लिए कि फ़ोल्ड किए गए सीन, डिवाइस के फ़ोल्ड होने पर चल रहे हैं और फ़ोल्ड किए जा सकने वाले डीयूटी की स्थिति की जांच करने के लिए, यह कमांड चलाएं.

adb shell cmd device_state state

फ़ोल्ड किए गए डिवाइस पर जांच करने पर, Camera ITS टर्मिनल में एक मैसेज दिखाता है. इससे उपयोगकर्ता को ITS बॉक्स पर डिवाइस को सही तरीके से सेट अप करने के लिए कहा जाता है. प्रॉम्प्ट के बाद टेस्ट को जारी रखने के लिए, Enter दबाएं.

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

कैमरा आईटीएस, tmp डायरेक्ट्री में folded सफ़िक्स भी जोड़ता है इसे फ़ोल्डेड स्टेट सीन के लिए बनाया गया है.

सैंपल कमांड

फ़ोल्ड किए जा सकने वाले डिवाइसों पर टेस्ट करने के लिए, यहां कुछ सैंपल दिए गए हैं.

निर्देश ब्यौरा
python tools/run_all_tests.py सभी सीन चलाता है.
python tools/run_all_tests.py scenes=scene0 सीन0 चलाता है. अगर डिवाइस फ़ोल्ड किया गया है और उपयोगकर्ता मुख्य सामने वाले कैमरे की जांच कर रहा है, तो स्क्रिप्ट डिवाइस की स्थिति तय करती है और सीन के नाम में सफ़िक्स _folded जोड़ती है. उपयोगकर्ताओं को फ़ोल्ड किए गए सीन चलाने के लिए, सुफ़िक्स जोड़ने की ज़रूरत नहीं होती.
python tests/scene0/ -c config.yml कोई खास टेस्ट चलाता है.