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

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

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

सामने और पीछे के कैमरे की जांच

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

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

यहां दी गई टेबल में, कैमरे के हर ओरिएंटेशन के लिए, कैमरा 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 पैरामीटर जोड़ें. कैमरा 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

टेस्ट करना

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

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

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

adb shell cmd device_state state

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

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

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

निर्देशों के सैंपल

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

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