Android 13 से, Camera ITS में फ़ोल्ड किए जा सकने वाले डिवाइसों की जांच करने की सुविधा शामिल है. फ़ोल्ड किए जा सकने वाले डिवाइसों में कैमरे होते हैं. ये कैमरे, डिवाइस के फ़ोल्ड या अनफ़ोल्ड होने की स्थिति के हिसाब से उपलब्ध या अनुपलब्ध हो सकते हैं.
डिवाइस के टाइप, मॉडल, और ब्रैंड के हिसाब से, कैमरे के आईडी बदल जाते हैं. साथ ही, फ़्रंट कैमरे की उपलब्धता, डिवाइस की स्थिति के हिसाब से बदलती है. इस वजह से, Camera ITS, जांच के लिए सीन और कैमरे के कॉम्बिनेशन को डाइनैमिक तरीके से तय करता है. कैमरों की जांच, फ़ोल्ड और अनफ़ोल्ड, दोनों स्थितियों में की जानी चाहिए. इसलिए, फ़ोल्ड किए जा सकने वाले डिवाइसों की जांच के दौरान, DUT को फिर से माउंट करना पड़ता है.
फ़्रंट और रियर कैमरे की जांच करना
फ़ोल्ड किए जा सकने वाले डिवाइस पर उपलब्ध कैमरा सेंसर, डिवाइस के फ़ोल्ड या अनफ़ोल्ड होने की स्थिति के हिसाब से अलग-अलग होते हैं. फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, फ़्रंट कैमरे की उपलब्धता, डिवाइस की स्थिति के हिसाब से बदलती है. उदाहरण के लिए, फ़ोल्ड किए गए डिवाइस में फ़्रंट कैमरा उपलब्ध नहीं होता. फ़्रंट कैमरे की उपलब्धता में इस बदलाव की वजह से, फ़्रंट कैमरों की जांच, फ़ोल्ड और अनफ़ोल्ड, दोनों स्थितियों में की जानी चाहिए. Camera ITS यह मानता है कि डिवाइस के फ़ोल्ड या अनफ़ोल्ड होने पर, रियर कैमरे की उपलब्धता में कोई बदलाव नहीं होता. इसलिए, रियर कैमरों की जांच सिर्फ़ एक बार की जानी चाहिए.
डिवाइस की स्थिति के हिसाब से, Camera ITS, अनुपलब्ध कैमरा डिवाइसों को फ़िल्टर कर देता है. साथ ही, कैमरा और सीन के कॉम्बिनेशन की सूची में, ये कैमरा डिवाइस नहीं दिखते.
यहां दी गई टेबल में, हर कैमरा ओरिएंटेशन के लिए, Camera ITS के टेस्ट के तरीके के बारे में बताया गया है.
| कैमरा ओरिएंटेशन | Camera ITS के टेस्ट का तरीका |
|---|---|
| रियर कैमरा | कैमरे की जांच, फ़ोल्ड या अनफ़ोल्ड, किसी भी स्थिति में एक बार की जाती है |
| प्राइमरी फ़्रंट कैमरा | कैमरे की जांच, फ़ोल्ड और अनफ़ोल्ड, दोनों स्थितियों में एक-एक बार की जाती है. |
| फ़्रंट कैमरा | कैमरे की जांच सिर्फ़ उन स्थितियों में की जाती है जिनमें कैमरा उपलब्ध होता है. |
टेस्ट करने का तरीका
इस सेक्शन में, फ़ोल्ड किए जा सकने वाले डिवाइसों के कैमरों की जांच करने के तरीके के बारे में बताया गया है.
डिवाइस सेट अप करें
सेटअप करने के बारे में जानकारी के लिए, सेटअप करना लेख पढ़ें.
टेस्ट एपीआई का ऐक्सेस देना
यह पता लगाने के लिए कि डिवाइस फ़ोल्ड किया जा सकता है या नहीं, Camera ITS को टेस्ट एपीआई का ऐक्सेस देना ज़रूरी है. इसके बाद ही टेस्ट शुरू किए जा सकते हैं. अगर ऐक्सेस नहीं दिया जाता है, तो Camera 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 ITS, इस पैरामीटर का इस्तेमाल करके, फ़ोल्ड और अनफ़ोल्ड, दोनों स्थितियों के लिए 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
टेस्ट रन करना
फ़ोल्ड किए जा सकने वाले डिवाइस पर ITS के टेस्ट चलाने के लिए, run_all_tests.py कमांड चलाएं.
ज़्यादा जानकारी के लिए,
टेस्ट शुरू करना लेख पढ़ें.
फ़ोल्ड किए जा सकने वाले डिवाइस पर Camera ITS चलाने पर, प्राइमरी फ़्रंट कैमरे की जांच, फ़ोल्ड और अनफ़ोल्ड, दोनों स्थितियों में की जाती है. अगर डिवाइस फ़ोल्ड किया जाता है, तो नतीजे
CTS Verifier ऐप्लिकेशन में camera1_SCENE_NAME_folded
विकल्प के तहत दिखते हैं. डिवाइस की स्थिति के हिसाब से, कुछ फ़्रंट
कैमरे के आईडी उपलब्ध नहीं होते. इसलिए, उनकी जांच नहीं की जाती.
रियर कैमरे की जांच सिर्फ़ एक स्थिति में की जानी चाहिए. बेहतर है कि यह जांच, फ़ोल्ड की स्थिति में की जाए. साथ ही, रियर कैमरे के नतीजों में _folded सफ़िक्स नहीं होता.
यह पक्का करने के लिए कि फ़ोल्ड किए गए सीन, डिवाइस के फ़ोल्ड होने पर ही एक्ज़ीक्यूट हों और फ़ोल्ड किए जा सकने वाले DUT की स्थिति की जांच करने के लिए, यह कमांड चलाएं.
adb shell cmd device_state stateफ़ोल्ड की स्थिति में टेस्ट एक्ज़ीक्यूट करते समय, Camera ITS, टर्मिनल में एक मैसेज दिखाता है. इससे उपयोगकर्ता को, डिवाइस को ITS बॉक्स पर सही तरीके से सेट अप करने के लिए कहा जाता है. प्रॉम्प्ट के बाद टेस्ट जारी रखने के लिए, Enter दबाएं.
अगर सभी सीन, फ़ोल्ड और अनफ़ोल्ड, दोनों स्थितियों में चलाए जा रहे हैं, तो फ़ोल्ड किए गए सीन पहले एक्ज़ीक्यूट होते हैं. इसके बाद, अनफ़ोल्ड किए गए सीन एक्ज़ीक्यूट होते हैं. इससे, टेस्ट के दौरान DUT को फिर से माउंट करने की ज़रूरत कम हो जाती है.
Camera ITS, फ़ोल्ड की स्थिति वाले सीन के लिए बनाई गई tmp डायरेक्ट्री में, folded सफ़िक्स भी जोड़ता है.
कमांड के सैंपल
यहां, फ़ोल्ड किए जा सकने वाले डिवाइसों पर टेस्ट एक्ज़ीक्यूट करने के लिए, कमांड के सैंपल दिए गए हैं.
| कमांड | ब्यौरा |
|---|---|
python tools/run_all_tests.py |
सभी सीन चलाता है. |
python tools/run_all_tests.py scenes=scene0 |
scene0 चलाता है. अगर डिवाइस फ़ोल्ड किया गया है और उपयोगकर्ता प्राइमरी फ़्रंट कैमरे की जांच कर रहा है, तो स्क्रिप्ट, डिवाइस की स्थिति का पता लगाती है और सीन के नाम में _folded सफ़िक्स जोड़ती है. फ़ोल्ड किए गए सीन चलाने के लिए, उपयोगकर्ताओं को सफ़िक्स जोड़ने की ज़रूरत नहीं होती. |
python tests/scene0/ |
कोई खास टेस्ट चलाता है. |