TestDevice

public class TestDevice
extends NativeDevice

java.lang.Object
   ↳ com.android.tradefed.device.NativeDevice
     ↳ com.android.tradefed.device.TestDevice


Implementazione di un ITestDevice per un dispositivo Android full stack

Riepilogo

Classi nidificate

class TestDevice.MicrodroidBuilder

Un builder utilizzato per creare un TestDevice Microdroid. 

Costanti

String DISMISS_KEYGUARD_CMD

Comandi che possono essere utilizzati per chiudere la schermata di blocco.

Costruttori pubblici

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Metodi pubblici

String adbInstallPackage(File packageFile, boolean reinstall, String... extraArgs)

Installa un pacchetto Android sul dispositivo con il comando adb.

String adbInstallPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)

Installa un pacchetto Android sul dispositivo con il comando adb.

boolean canSwitchToHeadlessSystemUser()

Restituisce un valore che indica se è consentito passare all'utente di sistema headless.

boolean clearErrorDialogs()

Tenta di chiudere le finestre di dialogo di errore attualmente visualizzate nell'interfaccia utente del dispositivo.

int createUser(String name)

Crea un utente con un nome specificato e flag predefiniti 0.

int createUser(String name, boolean guest, boolean ephemeral)

Crea un utente con un nome specificato e i flag forniti

int createUser(String name, boolean guest, boolean ephemeral, boolean forTesting)

Crea un utente con un nome specificato e i flag forniti

int createUserNoThrow(String name)

Crea un utente con un nome specificato e flag predefiniti 0.

void disableKeyguard()

Tentativi di disattivare la protezione tasti.

boolean doesFileExist(String deviceFilePath, int userId)

Metodo helper per determinare se il file sul dispositivo esiste per un determinato utente.

boolean doesFileExist(String deviceFilePath)

Metodo helper per determinare se il file sul dispositivo esiste.

File dumpHeap(String process, String devicePath)

Prova a scaricare l'heap da system_server.

Set<ITestDevice.ApexInfo> getActiveApexes()

Recupera le informazioni sugli APEX attivati sul dispositivo.

Map<String, String> getAllSettings(String namespace)

Restituisce le coppie chiave-valore dello spazio dei nomi richiesto.

String getAndroidId(int userId)

Trova e restituisce l'android-id associato a un userId, null se non trovato.

Map<Integer, String> getAndroidIds()

Crea una mappa degli ID Android trovati che corrispondono agli ID utente.

PackageInfo getAppPackageInfo(String packageName)

Recupera informazioni su un pacchetto installato sul dispositivo.

List<PackageInfo> getAppPackageInfos()

Recupera le informazioni sui pacchetti installati sul dispositivo.

InputStreamSource getBugreport()

Recupera una segnalazione di bug dal dispositivo.

InputStreamSource getBugreportz()

Recupera un bugreportz dal dispositivo.

DeviceFoldableState getCurrentFoldableState()

Restituisce lo stato attuale di piegatura del dispositivo o null se si sono verificati alcuni problemi.

int getCurrentUser()

Restituisce l'ID dell'utente attualmente in esecuzione.

Set<DeviceFoldableState> getFoldableStates()

Restituisce l'elenco degli stati di piegatura sul dispositivo.

Set<String> getInstalledPackageNames()

Recupera i nomi dei pacchetti delle applicazioni presenti sul dispositivo.

KeyguardControllerState getKeyguardState()

Restituisce un oggetto per ottenere lo stato attuale del keyguard o null se non supportato.

Integer getMainUserId()

Restituisce l'ID utente principale.

Set<String> getMainlineModuleInfo()

Recupera le informazioni sui moduli mainline installati sul dispositivo.

int getMaxNumberOfRunningUsersSupported()

Ottieni il numero massimo di utenti supportati in esecuzione simultanea.

int getMaxNumberOfUsersSupported(String userType)

Ottieni il numero massimo di utenti supportati del tipo di utente specificato.

int getMaxNumberOfUsersSupported()

Ottieni il numero massimo di utenti commutabili supportati, esclusi gli ospiti.

Integer getPrimaryUserId()

Restituisce l'ID utente principale.

int getRemainingCreatableUserCount(String userType)

Restituisce il numero di utenti del tipo specificato che possono essere creati su questo dispositivo.

InputStreamSource getScreenshot(Long displayId, String format, boolean rescale)

Acquisisce uno screenshot dal dispositivo con l'ID display specificato nel formato supportato.

InputStreamSource getScreenshot(String format, boolean rescale)

Acquisisce uno screenshot dal dispositivo.

InputStreamSource getScreenshot(String format)

Acquisisce uno screenshot dal dispositivo.

InputStreamSource getScreenshot(long displayId)

Acquisisce uno screenshot dal dispositivo dato l'ID display.

InputStreamSource getScreenshot()

Acquisisce uno screenshot dal dispositivo.

String getSetting(int userId, String namespace, String key)

Restituisce il valore dell'impostazione richiesta.

String getSetting(String namespace, String key)

Consulta getSetting(int,String,String) ed eseguita sull'utente di sistema.

Set<String> getUninstallablePackageNames()

Recupera i nomi dei pacchetti dell'applicazione che possono essere disinstallati.

int getUserFlags(int userId)

Trova e restituisci i flag di un determinato utente.

Map<Integer, UserInfo> getUserInfos()

Recupera la mappa di useId per UserInfo sul dispositivo.

int getUserSerialNumber(int userId)

Restituisce il numero di serie associato all'ID utente, se trovato, -10000 in tutti gli altri casi.

int getUserVisibleOnDisplay(int displayId)

Recupera l'ID utente dell'utente visibile sul display specificato.

boolean hasFeature(String feature)

Controllare se una funzionalità è disponibile su un dispositivo.

String installPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)

Installa un pacchetto Android sul dispositivo.

String installPackage(File packageFile, boolean reinstall, String... extraArgs)

Installa un pacchetto Android sul dispositivo.

String installPackageForUser(File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

String installPackageForUser(File packageFile, boolean reinstall, int userId, String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

boolean installPackageWithIncrementalMode(File[] apkFiles, String[] extraArgs, String userId)

Installa APK con la modalità incrementale.

String installPackages(List<File> packageFiles, boolean reinstall, String... extraArgs)

String installPackages(List<File> packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)

String installPackagesForUser(List<File> packageFiles, boolean reinstall, int userId, String... extraArgs)

String installPackagesForUser(List<File> packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

boolean isAppEnumerationSupported()

Controllare se la piattaforma sul dispositivo supporta l'enumerazione delle app

boolean isHeadlessSystemUserMode()

Indica se il dispositivo utilizza la modalità headless system user.

boolean isMainUserPermanentAdmin()

Restituisce un valore che indica se l'utente principale è un amministratore permanente e non può essere eliminato o declassato a utente non amministratore.

boolean isMultiUserSupported()

Restituisce un valore che indica se questo dispositivo supporta più utenti commutabili con accesso e spazio personalizzabile.

boolean isPackageInstalled(String packageName, String userId)

Esegui una query sul dispositivo per un determinato nome del pacchetto e un determinato ID utente per verificare se è attualmente installato o meno per quell'utente.

boolean isPackageInstalled(String packageName)

Esegui una query sul dispositivo per un determinato nome di pacchetto per verificare se è attualmente installato o meno.

boolean isUserRunning(int userId)

Controlla se un determinato utente è in esecuzione.

boolean isUserSecondary(int userId)

Restituisce un valore che indica se l'utente specificato è un utente secondario in base ai relativi flag.

boolean isUserVisible(int userId)

Controlla se l'utente specificato è visibile.

boolean isUserVisibleOnDisplay(int userId, int displayId)

Controlla se l'utente specificato è visibile nella visualizzazione specificata.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported()

Restituisce un valore che indica se il dispositivo consente agli utenti di avviare la visibilità in background in ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

boolean isVisibleBackgroundUsersSupported()

Restituisce un valore che indica se il dispositivo consente l'avvio visibile in background.

Set<Long> listDisplayIds()

Raccogli l'elenco degli ID display disponibili sul dispositivo come riportato da "dumpsys SurfaceFlinger".

Set<Integer> listDisplayIdsForStartingVisibleBackgroundUsers()

Recupera l'elenco dei display che possono essere utilizzati per start a user visible in the background.

ArrayList<Integer> listUsers()

Visualizza l'elenco degli utenti sul dispositivo.

boolean logBugreport(String dataName, ITestLogger listener)

Metodo helper per acquisire una segnalazione di bug e registrarla per i reporter.

void notifySnapuserd(SnapuserdWaitPhase waitPhase)
void postInvocationTearDown(Throwable exception)

Passaggi aggiuntivi per la pulizia obbligatoria specifica del dispositivo che verrà eseguita dopo l'invocazione.

boolean removeAdmin(String componentName, int userId)

Rimuovi l'amministratore del dispositivo specificato dall'utente specificato e restituisci true se l'operazione ha esito positivo, false in caso contrario.

void removeOwners()

Rimuovi tutti i proprietari dei profili dispositivo esistenti con il massimo impegno.

boolean removeUser(int userId)

Rimuovere un determinato utente dal dispositivo.

boolean setDeviceOwner(String componentName, int userId)

Imposta un componente di amministrazione del dispositivo come proprietario del dispositivo per un determinato utente.

void setFirstBootloaderReboot()
void setSetting(String namespace, String key, String value)

Consulta setSetting(int,String,String,String) ed eseguita sull'utente di sistema.

void setSetting(int userId, String namespace, String key, String value)

Aggiungi un valore di impostazione allo spazio dei nomi di un determinato utente.

void shutdownMicrodroid(ITestDevice microdroidDevice)

Arresta il dispositivo microdroid, se esistente.

boolean startUser(int userId)

Avvia un utente specificato in background se è attualmente arrestato.

boolean startUser(int userId, boolean waitFlag)

Avvia un utente specificato in background se è attualmente arrestato.

boolean startVisibleBackgroundUser(int userId, int displayId, boolean waitFlag)

Avvia un determinato utente in background, visibile nel display specificato (ovvero, consentendo all'utente di avviare attività in quel display).

boolean stopUser(int userId)

Interrompe un determinato utente.

boolean stopUser(int userId, boolean waitFlag, boolean forceFlag)

Interrompere un determinato utente.

boolean supportsMicrodroid()

Controlla i prerequisiti per eseguire un microdroid.

boolean supportsMicrodroid(boolean protectedVm)

Controlla i prerequisiti per eseguire un microdroid.

boolean switchUser(int userId)

Passa a un altro userId con un timeout predefinito.

boolean switchUser(int userId, long timeout)

Passa a un altro userId con il timeout fornito come scadenza.

Bugreport takeBugreport()

Prende una segnalazione di bug e la restituisce all'interno di un oggetto Bugreport per gestirla.

String uninstallPackage(String packageName)

Disinstalla un pacchetto Android dal dispositivo.

String uninstallPackageForUser(String packageName, int userId)

Disinstalla un pacchetto Android dal dispositivo per un determinato utente.

void waitForSnapuserd(SnapuserdWaitPhase currentPhase)

Metodi protetti

AaptParser createParser(File appFile)
void doAdbReboot(NativeDevice.RebootMode rebootMode, String reason)

Esegui un riavvio ADB.

InputStreamSource getBugreportInternal()
File getBugreportzInternal()

Metodo helper interno per ottenere il file ZIP bugreportz come File.

long getCheckNewUserSleep()

Esposto per i test.

long getHostCurrentTime()

Esposto per i test

void prePostBootSetup()

Consente a ogni tipo di dispositivo (AndroidNativeDevice, TestDevice) di eseguire l'override di questo metodo per una configurazione specifica post-avvio.

Costanti

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

Comandi che possono essere utilizzati per chiudere la schermata di blocco.

Valore costante: "input keyevent 82"

Costruttori pubblici

TestDevice

public TestDevice (IDevice device, 
                IDeviceStateMonitor stateMonitor, 
                IDeviceMonitor allocationMonitor)

Metodi pubblici

adbInstallPackage

public String adbInstallPackage (File packageFile, 
                boolean reinstall, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo con il comando adb.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

extraArgs String: argomenti aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

adbInstallPackage

public String adbInstallPackage (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo con il comando adb.

Nota: chiama questa funzione solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al momento dell'installazione.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

grantPermissions boolean: se tutte le autorizzazioni di runtime devono essere concesse al momento dell'installazione

extraArgs String: argomenti aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

Restituisce un valore che indica se è consentito passare all'utente di sistema headless.

Resi
boolean

Genera
DeviceNotAvailableException

clearErrorDialogs

public boolean clearErrorDialogs ()

Tenta di chiudere le finestre di dialogo di errore attualmente visualizzate nell'interfaccia utente del dispositivo.

Resi
boolean true se non erano presenti dialoghi o se sono stati cancellati correttamente. false altrimenti.

Genera
DeviceNotAvailableException

createUser

public int createUser (String name)

Crea un utente con un nome specificato e flag predefiniti 0.

Parametri
name String: dell'utente da creare sul dispositivo

Resi
int l'intero per l'ID utente creato

Genera
DeviceNotAvailableException
IllegalStateException

createUser

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral)

Crea un utente con un nome specificato e i flag forniti

Parametri
name String: dell'utente da creare sul dispositivo

guest boolean: attiva il flag utente --guest durante la creazione

ephemeral boolean: attiva il flag utente --ephemeral durante la creazione

Resi
int ID dell'utente creato

Genera
DeviceNotAvailableException
IllegalStateException

createUser

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral, 
                boolean forTesting)

Crea un utente con un nome specificato e i flag forniti

Parametri
name String: dell'utente da creare sul dispositivo

guest boolean: attiva il flag utente --guest durante la creazione

ephemeral boolean: attiva il flag utente --ephemeral durante la creazione

forTesting boolean: attiva il flag di test --for-testing durante la creazione

Resi
int ID dell'utente creato

Genera
DeviceNotAvailableException
IllegalStateException

createUserNoThrow

public int createUserNoThrow (String name)

Crea un utente con un nome specificato e flag predefiniti 0.

Parametri
name String: dell'utente da creare sul dispositivo

Resi
int l'intero per l'ID utente creato o -1 per errore.

Genera
DeviceNotAvailableException

disableKeyguard

public void disableKeyguard ()

Tentativi di disattivare la protezione tasti.

Innanzitutto, attendi che l'invio dell'input sia pronto. Ciò avviene all'incirca nello stesso momento in cui il dispositivo segnala BOOT_COMPLETE, apparentemente in modo asincrono, perché l'attuale implementazione del framework presenta occasionalmente una race condition. Il comando viene quindi inviato per chiudere Keyguard (funziona solo su quelli non sicuri)

Genera
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

Metodo helper per determinare se il file sul dispositivo esiste per un determinato utente.

Parametri
deviceFilePath String: il percorso assoluto del file sul dispositivo da controllare

userId int: l'ID utente rispetto al quale controllare l'esistenza del file

Resi
boolean true se il file esiste, false altrimenti.

Genera
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

Metodo helper per determinare se il file sul dispositivo esiste.

Parametri
deviceFilePath String: il percorso assoluto del file sul dispositivo da controllare

Resi
boolean true se il file esiste, false altrimenti.

Genera
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

Prova a scaricare l'heap da system_server. È responsabilità del chiamante pulire il file di dump.

Parametri
process String: il nome del processo del dispositivo su cui eseguire dumpheap.

devicePath String: il percorso sul dispositivo in cui inserire il dump. Deve trattarsi di una posizione in cui le autorizzazioni lo consentono.

Resi
File il File contenente il report. Null se si è verificato un errore.

Genera
DeviceNotAvailableException

getActiveApexes

public Set<ITestDevice.ApexInfo> getActiveApexes ()

Recupera le informazioni sugli APEX attivati sul dispositivo.

Resi
Set<ITestDevice.ApexInfo> Set di ApexInfo attualmente attivati sul dispositivo

Genera
DeviceNotAvailableException

getAllSettings

public Map<String, String> getAllSettings (String namespace)

Restituisce le coppie chiave-valore dello spazio dei nomi richiesto.

Parametri
namespace String: deve essere uno dei seguenti valori: {"system", "secure", "global"}

Resi
Map<String, String> la mappa delle coppie chiave-valore. Null se lo spazio dei nomi non è supportato.

Genera
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

Trova e restituisce l'android-id associato a un userId, null se non trovato.

Parametri
userId int

Resi
String

Genera
DeviceNotAvailableException

getAndroidIds

public Map<Integer, String> getAndroidIds ()

Crea una mappa degli ID Android trovati che corrispondono agli ID utente. Non è garantito che ogni ID utente trovi un ID Android associato in questa funzione, quindi alcuni ID utente potrebbero corrispondere a null.

Resi
Map<Integer, String> Mappa degli ID Android trovati che corrispondono agli ID utente.

Genera
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

Recupera informazioni su un pacchetto installato sul dispositivo.

Parametri
packageName String

Resi
PackageInfo PackageInfo o null se non è stato possibile recuperare le informazioni

Genera
DeviceNotAvailableException

getAppPackageInfos

public List<PackageInfo> getAppPackageInfos ()

Recupera le informazioni sui pacchetti installati sul dispositivo.

Resi
List<PackageInfo> List di PackageInfo installate sul dispositivo.

Genera
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

Recupera una segnalazione di bug dal dispositivo.

L'implementazione di questa funzionalità è garantita per continuare a funzionare su un dispositivo senza scheda SD (o in cui la scheda SD non è ancora montata).

Resi
InputStreamSource Un InputStreamSource che produrrà i contenuti del report bug on demand. In caso di errore, InputStreamSource produrrà un InputStream vuoto.

getBugreportz

public InputStreamSource getBugreportz ()

Recupera un bugreportz dal dispositivo. Il report bug in formato zip contiene il report bug principale e altri file di log utili per il debug.

Supportato solo per "adb version" > 1.0.36

Resi
InputStreamSource un InputStreamSource del file zip contenente bugreportz, restituisce null in caso di errore.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

Restituisce lo stato attuale di piegatura del dispositivo o null se si sono verificati alcuni problemi.

Resi
DeviceFoldableState

Genera
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

Restituisce l'ID dell'utente attualmente in esecuzione. In caso di errore, restituisci -10000.

Resi
int

Genera
DeviceNotAvailableException

getFoldableStates

public Set<DeviceFoldableState> getFoldableStates ()

Restituisce l'elenco degli stati di piegatura sul dispositivo. Può essere ottenuto con "cmd device_state print-states".

Resi
Set<DeviceFoldableState>

Genera
DeviceNotAvailableException

getInstalledPackageNames

public Set<String> getInstalledPackageNames ()

Recupera i nomi dei pacchetti delle applicazioni presenti sul dispositivo.

Resi
Set<String> Set dei nomi di pacchetto String attualmente installati sul dispositivo.

Genera
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

Restituisce un oggetto per ottenere lo stato attuale del keyguard o null se non supportato.

Resi
KeyguardControllerState un KeyguardControllerState contenente uno snapshot dello stato del Keyguard e restituisce Null se la query Keyguard non è supportata.

Genera
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

Restituisce l'ID utente principale.

Resi
Integer l'ID utente dell'utente principale, se presente, e null in caso contrario.

Genera
DeviceNotAvailableException

getMainlineModuleInfo

public Set<String> getMainlineModuleInfo ()

Recupera le informazioni sui moduli mainline installati sul dispositivo.

Resi
Set<String> Set dei moduli mainline String attualmente installati sul dispositivo.

Genera
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

Ottieni il numero massimo di utenti supportati in esecuzione simultanea. Il valore predefinito è 0.

Resi
int un numero intero che indica il numero di utenti in esecuzione simultanea

Genera
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported (String userType)

Ottieni il numero massimo di utenti supportati del tipo di utente specificato. Il valore predefinito è 0.

Parametri
userType String: il tipo di utente, come definito in UserManager, ad esempio "android.os.usertype.full.SECONDARY".

Resi
int Un numero intero che indica il numero di utenti supportati del tipo di utente specificato.

Genera
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

Ottieni il numero massimo di utenti commutabili supportati, esclusi gli ospiti. Dopo la versione 36 dell'API, non include utenti non commutabili (come i profili). Il valore predefinito è 0.

Resi
int Un numero intero che indica il numero di utenti commutabili supportati.

Genera
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

Restituisce l'ID utente principale.

Resi
Integer l'ID utente dell'utente principale, se presente, e null in caso contrario.

Genera
DeviceNotAvailableException

getRemainingCreatableUserCount

public int getRemainingCreatableUserCount (String userType)

Restituisce il numero di utenti del tipo specificato che possono essere creati su questo dispositivo.

Parametri
userType String: il tipo di utente, come definito in UserManager, ad esempio "android.os.usertype.full.SECONDARY".

Resi
int il numero di utenti del tipo specificato che possono essere aggiunti

Genera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (Long displayId, 
                String format, 
                boolean rescale)

Acquisisce uno screenshot dal dispositivo con l'ID display specificato nel formato supportato. Consenti il ridimensionamento per supportare dimensioni più piccole

Parametri
displayId Long: l'ID display dello schermo da cui acquisire lo screenshot.

format String: PNG, JPEG supportati

rescale boolean: se lo screenshot deve essere ridimensionato per ridurre le dimensioni dell'immagine risultante

Resi
InputStreamSource un InputStreamSource dello screenshot nel formato o null se lo screenshot non è andato a buon fine.

Genera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

Acquisisce uno screenshot dal dispositivo. Consigliamo di utilizzare getScreenshot(String) con codifica JPEG per dimensioni più ridotte.

Parametri
format String: PNG, JPEG supportati

rescale boolean: se lo screenshot deve essere ridimensionato per ridurre le dimensioni dell'immagine risultante

Resi
InputStreamSource un InputStreamSource dello screenshot nel formato o null se lo screenshot non è andato a buon fine.

Genera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

Acquisisce uno screenshot dal dispositivo. Consigliamo di utilizzare getScreenshot(format) con codifica JPEG per dimensioni più ridotte

Parametri
format String: PNG, JPEG supportati

Resi
InputStreamSource un InputStreamSource dello screenshot nel formato o null se lo screenshot non è andato a buon fine.

Genera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

Acquisisce uno screenshot dal dispositivo dato l'ID display. Il formato è PNG.

TODO: extend the implementations above to support 'format' and 'rescale'

Parametri
displayId long: l'ID display dello schermo da cui acquisire lo screenshot.

Resi
InputStreamSource un InputStreamSource dello screenshot nel formato o null se lo screenshot non è andato a buon fine.

Genera
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

Acquisisce uno screenshot dal dispositivo.

Resi
InputStreamSource un InputStreamSource dello screenshot in formato PNG o null se lo screenshot non è andato a buon fine.

Genera
DeviceNotAvailableException

getSetting

public String getSetting (int userId, 
                String namespace, 
                String key)

Restituisce il valore dell'impostazione richiesta. namespace deve essere uno dei seguenti: {"system", "secure", "global"}

Parametri
userId int

namespace String

key String

Resi
String il valore associato a namespace:key di un utente. Null se non trovato.

Genera
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

Consulta getSetting(int,String,String) ed eseguita sull'utente di sistema.

Parametri
namespace String

key String

Resi
String

Genera
DeviceNotAvailableException

getUninstallablePackageNames

public Set<String> getUninstallablePackageNames ()

Recupera i nomi dei pacchetti dell'applicazione che possono essere disinstallati. Attualmente sono definiti come pacchetti non di sistema e pacchetti di sistema aggiornati.

Resi
Set<String> Set dei nomi di pacchetto String disinstallabili attualmente installati sul dispositivo.

Genera
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

Trova e restituisci i flag di un determinato utente. I flag sono definiti nella classe "android.content.pm.UserInfo" in Android Open Source Project.

Parametri
userId int

Resi
int i flag associati all'ID utente fornito, se trovato, -10000 in tutti gli altri casi.

Genera
DeviceNotAvailableException

getUserInfos

public Map<Integer, UserInfo> getUserInfos ()

Recupera la mappa di useId per UserInfo sul dispositivo. Genererà DeviceRuntimeException se l'output del dispositivo non è quello previsto.

Resi
Map<Integer, UserInfo> l'elenco degli oggetti UserInfo.

Genera
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

Restituisce il numero di serie associato all'ID utente, se trovato, -10000 in tutti gli altri casi.

Parametri
userId int

Resi
int

Genera
DeviceNotAvailableException

getUserVisibleOnDisplay

public int getUserVisibleOnDisplay (int displayId)

Recupera l'ID utente dell'utente visibile sul display specificato.

Parametri
displayId int: l'ID del display.

Resi
int l'ID utente dell'utente visibile sul display specificato. Non distingue un utente in background visibile dall'utente in primo piano attuale, poiché entrambi i tipi sono visibili. Per differenziare, confronta ulteriormente con il risultato di getCurrentUser().

Genera
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

Controllare se una funzionalità è disponibile su un dispositivo.

Parametri
feature String: il cui formato deve essere "feature:" o "" direttamente.

Resi
boolean Vero se la funzionalità viene trovata, falso in caso contrario.

Genera
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo.

Nota: chiama questa funzione solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al momento dell'installazione.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

grantPermissions boolean: se tutte le autorizzazioni di runtime devono essere concesse al momento dell'installazione

extraArgs String: argomenti aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

extraArgs String: argomenti aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

Nota: chiama questa funzione solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al momento dell'installazione.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

grantPermissions boolean: se tutte le autorizzazioni di runtime devono essere concesse al momento dell'installazione

userId int: l'ID utente intero per cui eseguire l'installazione.

extraArgs String: argomenti aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

userId int: l'ID utente intero per cui eseguire l'installazione.

extraArgs String: argomenti aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

installPackageWithIncrementalMode

public boolean installPackageWithIncrementalMode (File[] apkFiles, 
                String[] extraArgs, 
                String userId)

Installa APK con la modalità incrementale.

Parametri
apkFiles File: i file APK da installare.

extraArgs String

userId String

Resi
boolean

Genera
DeviceNotAvailableException

installPackages

public String installPackages (List<File> packageFiles, 
                boolean reinstall, 
                String... extraArgs)

Parametri
packageFiles List

reinstall boolean

extraArgs String

Resi
String

Genera
DeviceNotAvailableException

installPackages

public String installPackages (List<File> packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Parametri
packageFiles List

reinstall boolean

grantPermissions boolean

extraArgs String

Resi
String

Genera
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser (List<File> packageFiles, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Parametri
packageFiles List

reinstall boolean

userId int

extraArgs String

Resi
String

Genera
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser (List<File> packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Parametri
packageFiles List

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

Resi
String

Genera
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

Controllare se la piattaforma sul dispositivo supporta l'enumerazione delle app

Resi
boolean Vero se l'enumerazione delle app è supportata, falso in caso contrario

Genera
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

Indica se il dispositivo utilizza la modalità headless system user.

Resi
boolean

Genera
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

Restituisce un valore che indica se l'utente principale è un amministratore permanente e non può essere eliminato o declassato a utente non amministratore.

Resi
boolean

Genera
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

Restituisce un valore che indica se questo dispositivo supporta più utenti commutabili con accesso e spazio personalizzabile.

Tieni presente che, anche se false, più utenti potrebbero comunque essere possibili, a condizione che non sia richiesta alcuna UI di accesso. Ad esempio, i profili potrebbero comunque essere supportati, in quanto non richiedono una UI di accesso.

Viene controllato anche config_enableMultiUserUI. Su richiesta, possiamo presumere che i dispositivi per i quali questa condizione è vera siano configurati per consentire l'aggiunta di utenti secondari tramite ADB.

Resi
boolean se il dispositivo supporta più utenti commutabili.

Genera
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

Esegui una query sul dispositivo per un determinato nome del pacchetto e un determinato ID utente per verificare se è attualmente installato o meno per quell'utente.

Parametri
packageName String: il pacchetto di cui stiamo verificando l'installazione.

userId String: L'ID utente per cui stiamo verificando che il pacchetto sia installato. Se è null, verrà utilizzato zero per l'utente principale.

Resi
boolean Vero se il pacchetto è segnalato come installato. Falso negli altri casi.

Genera
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

Esegui una query sul dispositivo per un determinato nome di pacchetto per verificare se è attualmente installato o meno.

Parametri
packageName String

Resi
boolean Vero se il pacchetto è segnalato come installato. Falso negli altri casi.

Genera
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

Controlla se un determinato utente è in esecuzione.

Parametri
userId int

Resi
boolean Vero se l'utente sta correndo, falso in tutti gli altri casi.

Genera
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

Restituisce un valore che indica se l'utente specificato è un utente secondario in base ai relativi flag.

Parametri
userId int

Resi
boolean true se l'utente è secondario, false in caso contrario.

Genera
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

Controlla se l'utente specificato è visibile.

Un utente "visibile" è un utente che interagisce con l'utente "umano" e quindi è in grado di avviare attività di avvio (in genere nella visualizzazione predefinita).

Parametri
userId int

Resi
boolean

Genera
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Controlla se l'utente specificato è visibile nella visualizzazione specificata.

Un utente "visibile" è un utente che interagisce con l'utente "umano" e quindi è in grado di avviare attività di avvio in quel display.

Parametri
userId int

displayId int

Resi
boolean

Genera
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

Restituisce un valore che indica se il dispositivo consente agli utenti di avviare la visibilità in background in ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

In questo caso, puoi chiamare il numero startVisibleBackgroundUser(int, int, boolean), passando un display restituito da listDisplayIdsForStartingVisibleBackgroundUsers() (che dovrebbe includere ERROR(/java.android.view.Display#DEFAULT_DISPLAY)).

Resi
boolean

Genera
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

Restituisce un valore che indica se il dispositivo consente l'avvio visibile in background.

In questo caso, potresti chiamare startVisibleBackgroundUser(int, int, boolean), passando un display restituito da listDisplayIdsForStartingVisibleBackgroundUsers().

Resi
boolean

Genera
DeviceNotAvailableException

listDisplayIds

public Set<Long> listDisplayIds ()

Raccogli l'elenco degli ID display disponibili sul dispositivo come riportato da "dumpsys SurfaceFlinger".

Resi
Set<Long> L'elenco dei display. Default restituisce sempre la visualizzazione predefinita 0.

Genera
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public Set<Integer> listDisplayIdsForStartingVisibleBackgroundUsers ()

Recupera l'elenco dei display che possono essere utilizzati per start a user visible in the background.

Resi
Set<Integer>

Genera
DeviceNotAvailableException

listUsers

public ArrayList<Integer> listUsers ()

Visualizza l'elenco degli utenti sul dispositivo. Genererà DeviceRuntimeException se l'output del dispositivo non è quello previsto.

Resi
ArrayList<Integer> l'elenco degli ID utente.

Genera
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

Metodo helper per acquisire una segnalazione di bug e registrarla per i reporter.

Parametri
dataName String: il nome con cui verrà segnalato il report bug.

listener ITestLogger: un ITestLogger per registrare la segnalazione di bug.

Resi
boolean Vero se la registrazione è riuscita, falso in caso contrario.

notifySnapuserd

public void notifySnapuserd (SnapuserdWaitPhase waitPhase)

Parametri
waitPhase SnapuserdWaitPhase

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

Passaggi aggiuntivi per la pulizia obbligatoria specifica del dispositivo che verrà eseguita dopo l'invocazione.

Parametri
exception Throwable: se presente, l'eccezione finale generata dall'errore di chiamata.

removeAdmin

public boolean removeAdmin (String componentName, 
                int userId)

Rimuovi l'amministratore del dispositivo specificato dall'utente specificato e restituisci true se l'operazione ha esito positivo, false in caso contrario.

Parametri
componentName String: dell'amministratore del dispositivo da rimuovere.

userId int: dell'utente in cui si trova l'amministratore del dispositivo.

Resi
boolean Vero se l'operazione è riuscita, falso in caso contrario.

Genera
DeviceNotAvailableException

removeOwners

public void removeOwners ()

Rimuovi tutti i proprietari dei profili dispositivo esistenti con il massimo impegno.

Genera
DeviceNotAvailableException

removeUser

public boolean removeUser (int userId)

Rimuovere un determinato utente dal dispositivo.

Parametri
userId int: dell'utente da rimuovere

Resi
boolean true se la rimozione dell'utente è riuscita, false in caso contrario.

Genera
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

Imposta un componente di amministrazione del dispositivo come proprietario del dispositivo per un determinato utente.

Parametri
componentName String: dell'amministratore del dispositivo per diventare il proprietario del dispositivo.

userId int: dell'utente in cui vive il proprietario del dispositivo.

Resi
boolean Vero se l'operazione è riuscita, falso in caso contrario.

Genera
DeviceNotAvailableException

setFirstBootloaderReboot

public void setFirstBootloaderReboot ()

setSetting

public void setSetting (String namespace, 
                String key, 
                String value)

Consulta setSetting(int,String,String,String) ed eseguita sull'utente di sistema.

Parametri
namespace String

key String

value String

Genera
DeviceNotAvailableException

setSetting

public void setSetting (int userId, 
                String namespace, 
                String key, 
                String value)

Aggiungi un valore di impostazione allo spazio dei nomi di un determinato utente. Alcune impostazioni saranno disponibili solo dopo un riavvio. namespace deve essere uno dei seguenti: {"system", "secure", "global"}

Parametri
userId int

namespace String

key String

value String

Genera
DeviceNotAvailableException

shutdownMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Arresta il dispositivo microdroid, se esistente.

Parametri
microdroidDevice ITestDevice

Genera
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

startUser

public boolean startUser (int userId)

Avvia un utente specificato in background se è attualmente arrestato. Se l'utente è già in esecuzione in background, questo metodo è un'operazione NOOP.

Parametri
userId int: dell'utente da avviare in background

Resi
boolean true se l'utente è stato avviato correttamente in background.

Genera
DeviceNotAvailableException

startUser

public boolean startUser (int userId, 
                boolean waitFlag)

Avvia un utente specificato in background se è attualmente arrestato. Se l'utente è già in esecuzione in background, questo metodo è un'operazione NOOP. È possibile fornire un flag aggiuntivo per attendere che l'operazione abbia effetto.

Parametri
userId int: dell'utente da avviare in background

waitFlag boolean: il comando attenderà l'avvio e lo sblocco dell'utente.

Resi
boolean true se l'utente è stato avviato correttamente in background.

Genera
DeviceNotAvailableException

startVisibleBackgroundUser

public boolean startVisibleBackgroundUser (int userId, 
                int displayId, 
                boolean waitFlag)

Avvia un determinato utente in background, visibile nel display specificato (ovvero, consentendo all'utente di avviare attività in quel display).

NOTA : questo comando non verifica se l'utente esiste, se la visualizzazione è disponibile, device supports such feature e così via.

Parametri
userId int: dell'utente da avviare in background

displayId int: display to start user visible on

waitFlag boolean: il comando attenderà l'avvio e lo sblocco dell'utente.

Resi
boolean true se l'utente è stato avviato correttamente in background.

Genera
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId)

Interrompe un determinato utente. Se l'utente è già stato arrestato, questo metodo è un'operazione NOOP. Impossibile interrompere l'utente attuale e quello di sistema.

Parametri
userId int: dell'utente da arrestare.

Resi
boolean true se l'utente è stato interrotto.

Genera
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId, 
                boolean waitFlag, 
                boolean forceFlag)

Interrompere un determinato utente. È possibile fornire flag aggiuntivi per attendere che l'operazione abbia effetto e forzare la chiusura dell'utente. Impossibile interrompere l'utente attuale e quello di sistema.

Parametri
userId int: dell'utente da arrestare.

waitFlag boolean: il comando attenderà finché l'utente non si sarà fermato.

forceFlag boolean: forzerà l'interruzione dell'utente.

Resi
boolean true se l'utente è stato interrotto.

Genera
DeviceNotAvailableException

supportsMicrodroid

public boolean supportsMicrodroid ()

Controlla i prerequisiti per eseguire un microdroid.

Resi
boolean restituisce true se le precondizioni sono soddisfatte, false in caso contrario.

Genera
Exception

supportsMicrodroid

public boolean supportsMicrodroid (boolean protectedVm)

Controlla i prerequisiti per eseguire un microdroid.

Parametri
protectedVm boolean: true se microdroid è destinato a essere eseguito su una VM protetta.

Resi
boolean restituisce true se le precondizioni sono soddisfatte, false in caso contrario.

Genera
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId)

Passa a un altro userId con un timeout predefinito. switchUser(int, long).

Parametri
userId int

Resi
boolean Vero se il nuovo userId corrisponde al fornitore di userId. Falso negli altri casi.

Genera
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId, 
                long timeout)

Passa a un altro userId con il timeout fornito come scadenza. Tentativo di disattivare Keyguard dopo la modifica dell'utente.

Parametri
userId int

timeout long: per attendere prima di restituire false per il cambio utente non riuscito.

Resi
boolean Vero se il nuovo userId corrisponde al fornitore di userId. Falso negli altri casi.

Genera
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

Prende una segnalazione di bug e la restituisce all'interno di un oggetto Bugreport per gestirla. Restituisce null in caso di problemi. Il file a cui viene fatto riferimento nell'oggetto Bugreport deve essere pulito tramite Bugreport.close().

Resi
Bugreport

uninstallPackage

public String uninstallPackage (String packageName)

Disinstalla un pacchetto Android dal dispositivo.

Parametri
packageName String: il pacchetto Android da disinstallare

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

uninstallPackageForUser

public String uninstallPackageForUser (String packageName, 
                int userId)

Disinstalla un pacchetto Android dal dispositivo per un determinato utente.

Parametri
packageName String: il pacchetto Android da disinstallare

userId int: l'ID utente intero da disinstallare.

Resi
String un String con un codice di errore o null in caso di esito positivo.

Genera
DeviceNotAvailableException

waitForSnapuserd

public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)

Parametri
currentPhase SnapuserdWaitPhase

Genera
DeviceNotAvailableException

Metodi protetti

createParser

protected AaptParser createParser (File appFile)

Parametri
appFile File

Resi
AaptParser

doAdbReboot

protected void doAdbReboot (NativeDevice.RebootMode rebootMode, 
                String reason)

Esegui un riavvio ADB.

Parametri
rebootMode NativeDevice.RebootMode: una modalità di questo riavvio.

reason String: per questo riavvio.

Genera
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Resi
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

Metodo helper interno per ottenere il file ZIP bugreportz come File.

Resi
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

Esposto per i test.

Resi
long

getHostCurrentTime

protected long getHostCurrentTime ()

Esposto per i test

Resi
long

prePostBootSetup

protected void prePostBootSetup ()

Consente a ogni tipo di dispositivo (AndroidNativeDevice, TestDevice) di eseguire l'override di questo metodo per una configurazione specifica post-avvio.

Genera
DeviceNotAvailableException