اختبار صور الكاميرا على الأجهزة القابلة للطي

بدءًا من Android 13، تتضمّن مجموعة اختبارات توافق الصور (ITS) للكاميرا إمكانية إجراء الاختبارات على الأجهزة القابلة للطي. تحتوي الأجهزة القابلة للطي على كاميرات تكون متاحة أو غير متاحة حسب ما إذا كان الجهاز في وضع الطي أو الفتح.

تتغير أرقام تعريف الكاميرا حسب نوع الجهاز وطرازه وعلامته التجارية، كما يختلف مدى توفّر الكاميرات الأمامية المادية حسب الحالة. لهذا السبب، تحدّد Camera ITS بشكل ديناميكي مجموعات المشاهد والكاميرات التي سيتم استخدامها في الاختبار. بما أنّ الكاميرات تحتاج إلى اختبارها في كلتا حالتَي الطي والفرد، يتطلّب اختبار الأجهزة القابلة للطي إعادة تركيب الجهاز الخاضع للاختبار أثناء عملية الاختبار.

اختبار الكاميرا الأمامية والخلفية

تختلف مستشعرات الكاميرا المتوفّرة على جهاز قابل للطي حسب ما إذا كان الجهاز مطويًا أو مفتوحًا. في الأجهزة القابلة للطي، يتغيّر مدى توفّر الكاميرا الأمامية حسب الحالة. على سبيل المثال، لا تتوفّر الكاميرا الأمامية عندما يكون الجهاز مطويًا. وبسبب هذا التغيير في مدى توفّر الكاميرا الأمامية، يجب اختبار الكاميرات الأمامية في كلتا حالتَي الطي وعدم الطي. تفترض أداة ITS للكاميرا أنّ الكاميرا الخلفية تظل متاحة سواء كان الجهاز مطويًا أو غير مطوي، لذا يجب اختبار الكاميرات الخلفية مرة واحدة فقط.

استنادًا إلى حالة الجهاز، تستبعد أداة Camera ITS أجهزة الكاميرا غير المتاحة، ولا تظهر أجهزة الكاميرا في قائمة مجموعات الكاميرا والمشهد.

يوضّح الجدول التالي سلوك اختبار Camera ITS لكل اتجاه من اتجاهات الكاميرا.

اتجاه الكاميرا سلوك اختبار نظام النقل الذكي (ITS) للكاميرا
الكاميرا الخلفية اختبار الكاميرا مرة واحدة سواء كان الجهاز مطويًا أو مفتوحًا
الكاميرا الأمامية الأساسية يختبر الكاميرا مرة واحدة في وضع الطي ومرة واحدة في وضع الفتح.
الكاميرا الأمامية المادية لا يتم اختبار الكاميرا إلا في الحالات التي تكون فيها الكاميرا متاحة.

إجراء الاختبار

يوضّح هذا القسم خطوات اختبار الكاميرات على الأجهزة القابلة للطي.

إعداد الجهاز

للحصول على معلومات حول الإعداد، يُرجى الاطّلاع على مقالة الإعداد.

منح إذن الوصول إلى واجهة برمجة التطبيقات الاختبارية

لكي تحدّد أداة اختبار توافق الكاميرا (ITS) ما إذا كان الجهاز قابلاً للطي أم لا، يجب منح إذن الوصول إلى واجهة برمجة التطبيقات الخاصة بالاختبار قبل بدء الاختبارات. في حال عدم منح الإذن، سيؤدي تشغيل اختبارات Camera ITS إلى تعطُّل التطبيق.

لمنح الإذن بالوصول، شغِّل أمر ADB التالي. يجب تنفيذ هذا الأمر مرة واحدة لكل جهاز. في حال إعادة تثبيت CTS Verifier بإصدار مختلف، عليك تنفيذ الأمر مرة أخرى.

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

ملف الإعداد

لتحديد أنّ الجهاز قابل للطي، أضِف المَعلمة foldable_device في كل من منصتَي الاختبار tablet وsensor_fusion في ملف config.yml. تستخدم "نظام النقل الذكي" (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 على جهاز قابل للطي، يتم اختبار الكاميرا الأمامية الأساسية في كلتا الحالتين، أي عند طي الجهاز وعند فتحه. إذا كان الجهاز مطويًا، يتم عرض النتائج ضمن الخيار camera1_SCENE_NAME_folded في تطبيق CTS Verifier. واستنادًا إلى حالة الجهاز، تكون بعض أرقام التعريف المادية للكاميرا الأمامية غير متاحة ولا يتم اختبارها. يجب اختبار الكاميرا الخلفية في حالة واحدة فقط، ويُفضّل أن تكون الحالة المطوية، ولا تتضمّن نتائج الكاميرا الخلفية اللاحقة _folded.

لضمان تنفيذ المشاهد المطوية والجهاز مطويًا والتحقّق من حالة الجهاز القابل للطي، شغِّل الأمر التالي.

adb shell cmd device_state state

عند إجراء الاختبارات في وضع الطي، تعرض أداة Camera ITS رسالة في نافذة المحطة الطرفية لتطلب من المستخدم إعداد الجهاز بشكل صحيح على صندوق ITS. لمواصلة تنفيذ الاختبار بعد ظهور الطلب، اضغط على Enter.

إذا كنت تنفّذ جميع المشاهد في كلتا الحالتين، سيتم تنفيذ المشاهد المصغّرة أولاً، ثم المشاهد الموسّعة. يقلّل ذلك من مقدار إعادة التحميل المطلوبة أثناء الاختبار.

تضيف أداة ITS للكاميرا أيضًا اللاحقة folded إلى الدليل tmp الذي تم إنشاؤه لمشاهد الحالة المطوية.

أمثلة على الطلبات

في ما يلي أمثلة على أوامر تنفيذ الاختبار على الأجهزة القابلة للطي.

الأمر الوصف
python tools/run_all_tests.py تشغيل جميع المشاهد
python tools/run_all_tests.py scenes=scene0 يتم تشغيل scene0. إذا كان الجهاز مطويًا وكان المستخدم يختبر الكاميرا الأمامية الأساسية، يحدّد النص البرمجي حالة الجهاز ويضيف اللاحقة _folded إلى اسم المشهد. ولا يحتاج المستخدمون إلى إضافة اللاحقة لتشغيل المشاهد المطوية.
python tests/scene0/ -c config.yml تُجري اختبارًا محدّدًا.