Testare le immagini della fotocamera sui pieghevoli

A partire da Android 13, Camera ITS include il supporto per i test per i dispositivi pieghevoli. I dispositivi pieghevoli hanno fotocamere disponibili o non disponibili a seconda che il dispositivo sia piegato o aperto.

Gli ID delle videocamere cambiano a seconda del tipo, del modello e del brand del dispositivo e la disponibilità delle videocamere anteriori fisiche varia a seconda dello stato. Per questo motivo, Camera ITS determina dinamicamente le combinazioni di scene e fotocamere da utilizzare per i test. Poiché le videocamere devono essere testate sia in stato piegato che aperto, i test sui dispositivi pieghevoli richiedono il rimontaggio del DUT durante la procedura di test.

Test delle fotocamere anteriore e posteriore

I sensori della fotocamera disponibili su un dispositivo pieghevole variano a seconda che il dispositivo sia piegato o aperto. Per i dispositivi pieghevoli, la disponibilità della fotocamera anteriore cambia a seconda dello stato. Ad esempio, la fotocamera anteriore non è disponibile quando lo smartphone è chiuso. A causa di questa modifica alla disponibilità della fotocamera anteriore, le fotocamere anteriori devono essere testate sia in stato piegato che aperto. Il test ITS della videocamera presuppone che la disponibilità della videocamera posteriore rimanga la stessa indipendentemente dal fatto che il dispositivo sia chiuso o aperto, quindi le videocamere posteriori devono essere testate una sola volta.

A seconda dello stato del dispositivo, Camera ITS filtra i dispositivi fotocamera non disponibili e questi non vengono visualizzati nell'elenco delle combinazioni di fotocamera e scena.

La seguente tabella descrive il comportamento del test ITS della videocamera per ciascun orientamento della videocamera.

Orientamento della fotocamera Comportamento del test ITS della videocamera
Fotocamera posteriore Esegue il test della videocamera una volta nello stato piegato o aperto
Fotocamera anteriore principale Esegue il test della videocamera una volta in stato chiuso e una volta in stato aperto.
Fotocamera anteriore fisica Esegue il test della videocamera solo negli stati in cui è disponibile.

Procedura di test

Questa sezione descrive i passaggi per testare le videocamere per i dispositivi pieghevoli.

Configura il dispositivo

Per informazioni sulla configurazione, vedi Configurazione.

Concedere l'accesso all'API di test

Affinché Camera ITS possa determinare se il dispositivo è pieghevole o meno, devi concedere l'accesso all'API di test prima di richiamare i test. Se l'accesso non viene concesso, l'esecuzione dei test ITS della fotocamera comporta l'arresto anomalo dell'app.

Per concedere l'accesso, esegui il seguente comando ADB. Questo comando deve essere eseguito una sola volta per un singolo dispositivo. Se CTS Verifier viene reinstallato con una versione diversa, devi eseguire di nuovo il comando.

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

File di configurazione

Per specificare che il dispositivo è un dispositivo pieghevole, aggiungi il parametro foldable_device nei testbed tablet e sensor_fusion nel file config.yml. Camera ITS utilizza questo parametro per determinare le combinazioni di camera_id e scene per gli stati piegato e aperto.

Di seguito è riportato un esempio di file config.yml per un dispositivo pieghevole.

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

Esegui test

Per eseguire i test ITS su un dispositivo pieghevole, esegui il comando run_all_tests.py. Per maggiori dettagli, vedi Richiamo dei test.

Quando esegui Camera ITS su un dispositivo pieghevole, la fotocamera anteriore principale viene testata in entrambi gli stati, piegato e aperto. Se il dispositivo è chiuso, i risultati vengono visualizzati nell'opzione camera1_SCENE_NAME_folded dell'app CTS Verifier. A seconda dello stato del dispositivo, alcuni ID fotocamera fisica anteriore non sono disponibili e non vengono testati. La fotocamera posteriore deve essere testata solo in uno stato, preferibilmente quello piegato, e i risultati per la fotocamera posteriore non hanno il suffisso _folded.

Per assicurarti che le scene piegate vengano eseguite con il dispositivo piegato e controllare lo stato del DUT pieghevole, esegui il comando seguente.

adb shell cmd device_state state

Quando esegue i test in stato chiuso, Camera ITS visualizza un messaggio nel terminale per chiedere all'utente di configurare correttamente il dispositivo nella scatola ITS. Per continuare l'esecuzione del test dopo la richiesta, premi Invio.

Se esegui tutte le scene sia nello stato compresso che in quello decompresso, le scene compresse vengono eseguite per prime, seguite da quelle decompresse. In questo modo si riduce al minimo la quantità di rimontaggi necessari durante i test.

ITS della videocamera aggiunge anche il suffisso folded alla directory tmp creata per le scene in stato chiuso.

Comandi di esempio

Di seguito sono riportati alcuni comandi di esempio per l'esecuzione dei test sui dispositivi pieghevoli.

Comando Descrizione
python tools/run_all_tests.py Esegue tutte le scene.
python tools/run_all_tests.py scenes=scene0 Esegue la scena 0. Se il dispositivo è chiuso e l'utente sta testando la fotocamera frontale principale, lo script determina lo stato del dispositivo e aggiunge il suffisso _folded al nome della scena. Gli utenti non devono aggiungere il suffisso per eseguire le scene piegate.
python tests/scene0/ -c config.yml Esegue un test specifico.