Test dei pieghevoli ITS della fotocamera

A partire da Android 13, la funzionalità ITS della fotocamera include il supporto per i test per i dispositivi pieghevoli. I dispositivi pieghevoli sono dotati di fotocamere disponibili o non disponibili a seconda che il dispositivo sia chiuso o non piegato.

Gli ID fotocamera cambiano in base al tipo, al modello e alla marca del dispositivo e la disponibilità delle fotocamere anteriori fisiche varia in base allo stato. Per questo motivo, Camera ITS determina dinamicamente le combinazioni di scena e videocamera da utilizzare per i test. Poiché le fotocamere devono essere testate sia nello stato chiuso sia in quello aperto, i test dei dispositivi pieghevoli richiedono il ricollegamento del DUT durante il processo di test.

Test delle fotocamere anteriore e posteriore

I sensori della fotocamera disponibili su un dispositivo pieghevole sono diversi a seconda che il dispositivo sia chiuso o aperto. Per i pieghevoli, la disponibilità della fotocamera anteriore varia in base allo stato. Ad esempio, la fotocamera anteriore non è disponibile quando il dispositivo è chiuso. A causa di questa modifica della disponibilità della fotocamera anteriore, le fotocamere anteriori devono essere testate sia a telefono chiuso sia a telefono aperto. L'ITS della fotocamera presuppone che la disponibilità della fotocamera posteriore rimanga invariata indipendentemente dal fatto che il dispositivo sia chiuso o aperto, pertanto le fotocamere posteriori devono essere testate solo una volta.

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

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

Orientamento della fotocamera Comportamento del test ITS della videocamera
Fotocamera posteriore Verifica la fotocamera una volta chiusa o chiusa
Fotocamera anteriore principale Testa la fotocamera una volta chiusa e una volta aperta.
Fotocamera anteriore fisica Testa la videocamera solo negli stati in cui è disponibile.

Procedura di test

Questa sezione descrive la procedura per testare le fotocamere dei dispositivi pieghevoli.

Configura il dispositivo

Per informazioni sulla configurazione, consulta Configurazione.

Concedi l'accesso all'API di test

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

Per concedere l'accesso, esegui questo comando ADB. Questo comando deve essere eseguito una 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 è pieghevole, aggiungi il parametro foldable_device nei testbed tablet e sensor_fusion nel file config.yml. Il sistema ITS della fotocamera utilizza questo parametro per determinare le combinazioni di camera_id e scena per gli stati aperti e chiusi.

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, consulta la sezione Eseguire i test.

Quando esegui l'ITS della fotocamera su un dispositivo pieghevole, la fotocamera anteriore principale viene testata in entrambi gli stati, chiuso 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 in un solo stato, preferibilmente in quello chiuso, e i risultati relativi alla fotocamera posteriore non devono avere il suffisso _folded.

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

adb shell cmd device_state state

Quando esegui i test in uno stato piegato, la ITS della fotocamera mostra un messaggio nel terminal per chiedere all'utente di configurare correttamente il dispositivo sulla cassetta ITS. Per continuare a eseguire il test dopo il prompt, premi Invio.

Se esegui tutte le scene sia chiuso che aperto, vengono eseguite prima le scene piegate, seguite da quelle aperte. In questo modo viene ridotta al minimo la quantità di rimontaggio richiesta durante i test.

ITS della fotocamera aggiunge anche il suffisso folded alla directory tmp creata per le scene di stato piegato.

Comandi di esempio

Di seguito sono riportati 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 scene0. Se il dispositivo è chiuso e l'utente sta testando la fotocamera anteriore 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.