অ্যান্ড্রয়েড ১৩ থেকে, ক্যামেরা আইটিএস-এ ফোল্ডেবল ডিভাইসের জন্য টেস্টিং সাপোর্ট অন্তর্ভুক্ত করা হয়েছে। ফোল্ডেবল ডিভাইসগুলোর ক্যামেরা, ডিভাইসটি ভাঁজ করা বা খোলা অবস্থায় থাকার ওপর নির্ভর করে ব্যবহারযোগ্য বা ব্যবহার অনুপলব্ধ থাকে।
ডিভাইসের ধরন, মডেল এবং ব্র্যান্ডের উপর নির্ভর করে ক্যামেরা আইডি পরিবর্তিত হয়; এবং অবস্থার উপর নির্ভর করে ফিজিক্যাল ফ্রন্ট ক্যামেরার প্রাপ্যতাও পরিবর্তিত হয়। এই কারণে, ক্যামেরা আইটিএস (Camera ITS) পরীক্ষার জন্য ব্যবহারযোগ্য সিন এবং ক্যামেরার সংমিশ্রণ গতিশীলভাবে নির্ধারণ করে। যেহেতু ক্যামেরাগুলোকে ভাঁজ করা এবং খোলা উভয় অবস্থাতেই পরীক্ষা করতে হয়, তাই ফোল্ডেবল ডিভাইস পরীক্ষার সময় ডিইউটি (DUT)-কে পুনরায় মাউন্ট করার প্রয়োজন হয়।
সামনের এবং পিছনের ক্যামেরা পরীক্ষা
একটি ফোল্ডেবল ডিভাইসের ক্যামেরা সেন্সরগুলো ডিভাইসটি ভাঁজ করা বা খোলা অবস্থায় থাকার ওপর নির্ভর করে ভিন্ন হয়। ফোল্ডেবল ডিভাইসের ক্ষেত্রে, অবস্থার ওপর নির্ভর করে ফ্রন্ট ক্যামেরার প্রাপ্যতা পরিবর্তিত হয়। উদাহরণস্বরূপ, ভাঁজ করা অবস্থায় ফ্রন্ট ক্যামেরা উপলব্ধ থাকে না। ফ্রন্ট ক্যামেরার প্রাপ্যতার এই পরিবর্তনের কারণে, ফ্রন্ট ক্যামেরাগুলো অবশ্যই ভাঁজ করা এবং খোলা উভয় অবস্থাতেই পরীক্ষা করতে হবে। ক্যামেরা আইটিএস (Camera ITS) ধরে নেয় যে ডিভাইসটি ভাঁজ করা বা খোলা যাই থাকুক না কেন, রিয়ার ক্যামেরার প্রাপ্যতা একই থাকে, তাই রিয়ার ক্যামেরাগুলো শুধুমাত্র একবার পরীক্ষা করাই যথেষ্ট।
ডিভাইসের অবস্থার উপর নির্ভর করে, ক্যামেরা আইটিএস অনুপলব্ধ ক্যামেরা ডিভাইসগুলোকে ফিল্টার করে বাদ দেয় এবং সেই ডিভাইসগুলো ক্যামেরা ও সিন কম্বিনেশনের তালিকায় প্রদর্শিত হয় না।
নিম্নলিখিত সারণিতে প্রতিটি ক্যামেরা অভিমুখের জন্য ক্যামেরা ITS পরীক্ষার আচরণ বর্ণনা করা হয়েছে।
| ক্যামেরার অভিমুখ | ক্যামেরা ITS পরীক্ষার আচরণ |
|---|---|
| পিছনের ক্যামেরা | ক্যামেরাটি ভাঁজ করা বা খোলা উভয় অবস্থাতেই একবার পরীক্ষা করে। |
| প্রাথমিক সামনের ক্যামেরা | ক্যামেরাটি একবার ভাঁজ করা অবস্থায় এবং একবার খোলা অবস্থায় পরীক্ষা করা হয়। |
| ফিজিক্যাল ফ্রন্ট ক্যামেরা | শুধুমাত্র যেসব রাজ্যে ক্যামেরাটি পাওয়া যায়, সেখানেই ক্যামেরাটি পরীক্ষা করা হয়। |
পরীক্ষার পদ্ধতি
এই অংশে ফোল্ডেবল ডিভাইসের ক্যামেরা পরীক্ষা করার ধাপগুলো বর্ণনা করা হয়েছে।
ডিভাইস সেট আপ করুন
সেটআপ সংক্রান্ত তথ্যের জন্য, সেটআপ দেখুন।
টেস্ট এপিআই অ্যাক্সেস মঞ্জুর করুন
ডিভাইসটি ফোল্ডেবল কি না, তা ক্যামেরা আইটিএস (Camera ITS) দ্বারা নির্ধারণ করার জন্য, টেস্টগুলো চালু করার আগে আপনাকে অবশ্যই টেস্ট এপিআই (API) অ্যাক্সেস দিতে হবে। অ্যাক্সেস না দেওয়া হলে, ক্যামেরা আইটিএস টেস্টগুলো চালালে অ্যাপটি ক্র্যাশ করে।
অ্যাক্সেস দেওয়ার জন্য, নিম্নলিখিত ADB কমান্ডটি চালান। এই কমান্ডটি একটি ডিভাইসের জন্য একবার চালাতে হবে। যদি CTS Verifier ভিন্ন কোনো সংস্করণ দিয়ে পুনরায় ইনস্টল করা হয়, তবে আপনাকে অবশ্যই কমান্ডটি আবার চালাতে হবে।
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierকনফিগারেশন ফাইল
ডিভাইসটি যে একটি ফোল্ডেবল ডিভাইস, তা নির্দিষ্ট করতে tablet এবং sensor_fusion উভয় টেস্টবেডের config.yml ফাইলে foldable_device প্যারামিটারটি যোগ করুন। Camera ITS এই প্যারামিটারটি ব্যবহার করে ভাঁজ করা এবং খোলা অবস্থার জন্য camera_id এবং scene-এর সমন্বয় নির্ধারণ করে।
নিচে একটি ফোল্ডেবল ডিভাইসের 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 ভেরিফায়ার অ্যাপে camera1_ SCENE_NAME _folded অপশনের অধীনে প্রদর্শিত হয়। ডিভাইসের অবস্থার উপর নির্ভর করে, কিছু নির্দিষ্ট ফ্রন্ট ফিজিক্যাল ক্যামেরা আইডি অনুপলব্ধ থাকে এবং পরীক্ষা করা হয় না। রিয়ার ক্যামেরাটি শুধুমাত্র একটি অবস্থায়, বিশেষত ভাঁজ করা অবস্থায়, পরীক্ষা করা প্রয়োজন এবং রিয়ার ক্যামেরার ফলাফলের শেষে _folded সাফিক্সটি থাকে না।
ফোল্ড করা দৃশ্যগুলো ডিভাইস ফোল্ড করা অবস্থায় সম্পাদিত হচ্ছে কিনা তা নিশ্চিত করতে এবং ফোল্ডেবল DUT-এর অবস্থা পরীক্ষা করতে, নিম্নলিখিত কমান্ডটি চালান।
adb shell cmd device_state stateভাঁজ করা অবস্থায় পরীক্ষা চালানোর সময়, ক্যামেরা আইটিএস টার্মিনালে একটি বার্তা প্রদর্শন করে ব্যবহারকারীকে আইটিএস বক্সে ডিভাইসটি সঠিকভাবে সেট আপ করার জন্য অনুরোধ জানায়। অনুরোধটি পাওয়ার পর পরীক্ষা চালিয়ে যেতে, এন্টার চাপুন।
আপনি যদি সমস্ত সিন ফোল্ডেড এবং আনফোল্ডেড উভয় অবস্থাতেই চালান, তাহলে প্রথমে ফোল্ডেড সিনগুলো এবং তারপরে আনফোল্ডেড সিনগুলো এক্সিকিউট হয়। এর ফলে টেস্টিংয়ের সময় রিমউন্টিংয়ের প্রয়োজনীয়তা কমে যায়।
ক্যামেরা আইটিএস ফোল্ডেড অবস্থার সিনগুলোর জন্য তৈরি করা tmp ডিরেক্টরিতে ‘ folded সাফিক্সটিও যোগ করে।
নমুনা কমান্ড
ফোল্ডেবল ডিভাইসে পরীক্ষা চালানোর জন্য নিম্নলিখিত কমান্ডগুলো নমুনা হিসেবে দেওয়া হলো।
| আদেশ | বর্ণনা |
|---|---|
python tools/run_all_tests.py | সমস্ত দৃশ্যগুলো চালায়। |
python tools/run_all_tests.py scenes=scene0 | scene0 রান করে। যদি ডিভাইসটি ভাঁজ করা থাকে এবং ব্যবহারকারী প্রধান ফ্রন্ট ক্যামেরাটি পরীক্ষা করেন, তাহলে স্ক্রিপ্টটি ডিভাইসের অবস্থা নির্ণয় করে এবং সিনের নামের শেষে _folded সাফিক্সটি যোগ করে দেয়। ভাঁজ করা সিনগুলো রান করার জন্য ব্যবহারকারীদের এই সাফিক্সটি যোগ করার প্রয়োজন নেই। |
python tests/scene0/ | একটি নির্দিষ্ট পরীক্ষা চালায়। |