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

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

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

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

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

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

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

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

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

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

إعداد الجهاز

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

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

لكي تحدّد أداة Camera 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 تُجري اختبارًا محدّدًا.