Test delle fotocamere pieghevoli ITS

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

Gli ID della fotocamera cambiano a seconda del tipo, del modello e della marca del dispositivo; e la disponibilità delle fotocamere frontali fisiche cambia a seconda dello stato. Per questo motivo, Camera ITS determina dinamicamente le combinazioni di scena e telecamera da utilizzare per il test. Poiché le fotocamere devono essere testate sia nello stato piegato che aperto, i test sui dispositivi pieghevoli richiedono il rimontaggio del DUT durante il processo di test.

Test della fotocamera anteriore e posteriore

I sensori della fotocamera disponibili su un dispositivo pieghevole sono diversi a seconda che il dispositivo sia piegato o aperto. Per i pieghevoli, la disponibilità della fotocamera frontale cambia a seconda dello stato. Ad esempio, la fotocamera frontale non è disponibile quando è ripiegata. A causa di questo cambiamento nella disponibilità delle fotocamere anteriori, le fotocamere anteriori devono essere testate sia nello stato piegato che in quello aperto. L'ITS della fotocamera presuppone che la disponibilità della fotocamera posteriore rimanga la stessa indipendentemente dal fatto che il dispositivo sia piegato o aperto, quindi le fotocamere posteriori devono essere testate solo una volta.

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

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

Orientamento della fotocamera Comportamento del test ITS della fotocamera
Videocamera posteriore Testa la fotocamera una volta nello stato piegato o aperto
Fotocamera frontale principale Testa la fotocamera una volta nello stato piegato e una volta nello stato aperto.
Fotocamera frontale fisica Testa la fotocamera solo negli stati in cui è disponibile.

Procedura di prova

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

Configura il dispositivo

Per informazioni sulla configurazione, vedere Configurazione .

Concedi l'accesso all'API di prova

Affinché Camera ITS possa determinare se il dispositivo è pieghevole o meno, è necessario 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 provoca l'arresto anomalo dell'app.

Per concedere l'accesso, esegui il seguente comando ADB. Questo comando deve essere eseguito una volta per un singolo dispositivo. Se CTS Verifier viene reinstallato con una versione diversa, è necessario eseguire nuovamente 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 camera_id e scena 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 dei test

Per eseguire i test ITS su un dispositivo pieghevole, esegui il comando run_all_tests.py . Per i dettagli vedere Invocazione dei test .

Quando si esegue Camera ITS su un dispositivo pieghevole, la fotocamera anteriore principale viene testata in entrambi gli stati, piegata e aperta. Se il dispositivo è piegato, i risultati vengono visualizzati sotto l'opzione camera1_ SCENE_NAME _folded nell'app CTS Verifier. A seconda dello stato del dispositivo, alcuni ID fisici della fotocamera anteriore non sono disponibili e non vengono testati. La fotocamera posteriore deve essere testata solo in uno stato, preferibilmente piegata, e i risultati per la fotocamera posteriore non hanno il suffisso _folded .

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

adb shell cmd device_state state

Quando si eseguono test in uno stato piegato, Camera ITS visualizza un messaggio nel terminale per richiedere all'utente di configurare correttamente il dispositivo sulla scatola ITS. Per continuare l'esecuzione del test dopo la richiesta, premere Invio .

Se si eseguono tutte le scene sia nello stato ripiegato che in quello spiegato, le scene ripiegate verranno eseguite per prime, seguite da quelle spiegate. Ciò riduce al minimo la quantità di rimontaggio richiesto durante il test.

Camera ITS aggiunge inoltre il suffisso folded alla directory tmp creata per le scene con stato piegato.

Comandi di esempio

Di seguito sono riportati comandi di esempio per l'esecuzione del test su 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 è piegato 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 python tests/scene0/ -c config.yml Esegue un test specifico.