Katlanabilir cihazlarda kamera görüntülerini test etme

Android 13'ten itibaren Kamera ITS, katlanabilir cihazlar için test desteği içerir. Katlanabilir cihazlarda, cihazın katlanmış veya açılmış olmasına bağlı olarak kullanılabilen ya da kullanılamayan kameralar bulunur.

Kamera kimlikleri cihaz türüne, modeline ve markasına göre değişir. Fiziksel ön kameraların kullanılabilirliği ise duruma göre değişir. Bu nedenle, Kamera ITS, test için kullanılacak sahne ve kamera kombinasyonlarını dinamik olarak belirler. Kameraların hem katlanmış hem de açılmış durumda test edilmesi gerektiğinden, katlanabilir cihazların test edilmesi için test işlemi sırasında test edilen cihazın yeniden monte edilmesi gerekir.

Ön ve arka kamera testi

Katlanabilir cihazlarda bulunan kamera sensörleri, cihazın katlanmış veya açılmış olmasına bağlı olarak farklılık gösterir. Katlanabilir cihazlarda ön kameranın kullanılabilirliği duruma göre değişir. Örneğin, ön kamera katlı durumdayken kullanılamaz. Ön kamera kullanılabilirliğindeki bu değişiklik nedeniyle ön kameralar hem katlanmış hem de açılmış durumda test edilmelidir. Camera ITS, cihaz katlanmış veya açılmış olsa da arka kameranın kullanılabilirliğinin aynı kaldığını varsayar. Bu nedenle, arka kameraların yalnızca bir kez test edilmesi gerekir.

Cihazın durumuna bağlı olarak, Kamera ITS kullanılamayan kamera cihazlarını filtreler ve kamera cihazları, kamera ve sahne kombinasyonları listesinde görünmez.

Aşağıdaki tabloda, her kamera yönü için Kamera ITS testinin davranışı açıklanmaktadır.

Kamera yönü Kamera ITS test davranışı
Arka kamera Kamerayı katlı veya açık durumda bir kez test eder.
Birincil ön kamera Kamerayı katlı ve açık durumdayken birer kez test eder.
Fiziksel ön kamera Kamerayı yalnızca kameranın kullanılabildiği eyaletlerde test eder.

Test prosedürü

Bu bölümde, katlanabilir cihazlar için kameraları test etme adımları açıklanmaktadır.

Cihazı kur

Kurulum bilgileri için Kurulum başlıklı makaleyi inceleyin.

Test API'sine erişim izni verme

Kamera ITS'nin cihazın katlanabilir olup olmadığını belirleyebilmesi için testleri çağırmadan önce test API'sine erişim izni vermeniz gerekir. Erişim izni verilmezse Kamera ITS testlerinin çalıştırılması uygulamanın kilitlenmesine neden olur.

Erişim izni vermek için aşağıdaki ADB komutunu çalıştırın. Bu komutun tek bir cihaz için bir kez çalıştırılması gerekir. CTS Verifier farklı bir sürümle yeniden yüklenirse komutu tekrar çalıştırmanız gerekir.

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

Yapılandırma dosyası

Cihazın katlanabilir bir cihaz olduğunu belirtmek için foldable_device parametresini config.yml dosyasındaki hem tablet hem de sensor_fusion test yataklarına ekleyin. Kamera ITS, katlanmış ve açılmış durumlar için camera_id ve sahne kombinasyonlarını belirlemek üzere bu parametreyi kullanır.

Aşağıda, katlanabilir bir cihaza yönelik config.yml dosyası örneği verilmiştir.

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

Testler yapın

ITS testlerini katlanabilir bir cihazda çalıştırmak için run_all_tests.py komutunu çalıştırın. Ayrıntılar için Testleri çağırma başlıklı makaleyi inceleyin.

Katlanabilir bir cihazda Camera ITS çalıştırılırken birincil ön kamera hem katlanmış hem de açılmış durumda test edilir. Cihaz katlıysa sonuçlar, CTS Verifier uygulamasındaki camera1_SCENE_NAME_folded seçeneği altında gösterilir. Cihaz durumuna bağlı olarak, belirli ön fiziksel kamera kimlikleri kullanılamaz ve test edilmez. Arka kameranın yalnızca bir durumda (tercihen katlanmış durumda) test edilmesi gerekir ve arka kameranın sonuçlarında _folded soneki bulunmaz.

Katlanmış sahnelerin cihaz katlanmış haldeyken yürütüldüğünden emin olmak ve katlanabilir DUT'nin durumunu kontrol etmek için aşağıdaki komutu çalıştırın.

adb shell cmd device_state state

Testler katlanmış durumdayken yürütüldüğünde, Kamera ITS, kullanıcıyı cihazı ITS kutusuna düzgün şekilde kurmaya yönlendirmek için terminalde bir mesaj gösterir. İstemden sonra testi yürütmeye devam etmek için Enter tuşuna basın.

Tüm sahneleri hem katlanmış hem de açılmış durumda çalıştırıyorsanız önce katlanmış sahneler, ardından açılmış sahneler yürütülür. Bu, test sırasında yeniden monte etme işleminin en aza indirilmesini sağlar.

Kamera ITS, katlanmış durumdaki sahneler için oluşturulan tmp dizinine folded sonekini de ekler.

Örnek komutlar

Aşağıda, katlanabilir cihazlarda test yürütme için örnek komutlar verilmiştir.

Komut Açıklama
python tools/run_all_tests.py Tüm sahneleri çalıştırır.
python tools/run_all_tests.py scenes=scene0 scene0 çalıştırılır. Cihaz katlanmışsa ve kullanıcı birincil ön kamerayı test ediyorsa komut dosyası cihazın durumunu belirler ve sahne adına _folded sonekini ekler. Kullanıcıların katlanmış sahneleri çalıştırmak için sonek eklemesi gerekmez.
python tests/scene0/ -c config.yml Belirli bir testi çalıştırır.