A partire da Android 13, ITS della fotocamera 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 chiuso o aperto.
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, il sistema ITS della fotocamera determina dinamicamente le combinazioni di scene e fotocamere 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 dispositivi pieghevoli, la disponibilità della fotocamera frontale cambia a seconda dello 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 | Testa la fotocamera una volta in stato chiuso o aperto |
Fotocamera anteriore principale | Testa la videocamera 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é il sistema 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 il seguente 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 di scena per gli stati aperte e chiuse.
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 piegato e controllare lo stato del DUT pieghevole, esegui il seguente comando.
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 nello stato chiuso che in quello aperto, le scene chiuse vengono eseguite prima, 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 la scena 0. 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/ |
Esegue un test specifico. |