TestDevice
public
class
TestDevice
extends NativeDevice
Sottoclassi dirette note
| ManagedRemoteDevice |
Un dispositivo in esecuzione all'interno di una macchina virtuale che gestiamo da remoto tramite un'istanza Tradefed all'interno
della VM.
|
| NestedRemoteDevice |
Rappresentazione del dispositivo in esecuzione all'interno di una VM Cuttlefish remota.
|
| RemoteAndroidDevice |
Implementazione di un ITestDevice per un dispositivo Android full stack connesso tramite
adb connect.
|
|
Sottoclassi indirette note
|
Implementazione di un ITestDevice per un dispositivo Android full stack
Riepilogo
Costanti |
String |
DISMISS_KEYGUARD_CMD
Comandi che possono essere utilizzati per chiudere la schermata di blocco.
|
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)
|
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
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. |
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. |
canSwitchToHeadlessSystemUser
public boolean canSwitchToHeadlessSystemUser ()
Restituisce un valore che indica se è consentito passare all'utente di sistema headless.
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. |
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 |
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 |
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 |
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. |
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)
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. |
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. |
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. |
getActiveApexes
public Set<ITestDevice.ApexInfo> getActiveApexes ()
Recupera le informazioni sugli APEX attivati sul dispositivo.
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. |
getAndroidId
public String getAndroidId (int userId)
Trova e restituisce l'android-id associato a un userId, null se non trovato.
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. |
getAppPackageInfo
public PackageInfo getAppPackageInfo (String packageName)
Recupera informazioni su un pacchetto installato sul dispositivo.
| Parametri |
packageName |
String |
getAppPackageInfos
public List<PackageInfo> getAppPackageInfos ()
Recupera le informazioni sui pacchetti installati sul dispositivo.
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).
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
getCurrentFoldableState
public DeviceFoldableState getCurrentFoldableState ()
Restituisce lo stato attuale di piegatura del dispositivo o null se si sono verificati alcuni problemi.
getCurrentUser
public int getCurrentUser ()
Restituisce l'ID dell'utente attualmente in esecuzione. In caso di errore, restituisci -10000.
getFoldableStates
public Set<DeviceFoldableState> getFoldableStates ()
Restituisce l'elenco degli stati di piegatura sul dispositivo. Può essere ottenuto con "cmd device_state
print-states".
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. |
getKeyguardState
public KeyguardControllerState getKeyguardState ()
Restituisce un oggetto per ottenere lo stato attuale del keyguard o null se non supportato.
getMainUserId
public Integer getMainUserId ()
Restituisce l'ID utente principale.
| Resi |
Integer |
l'ID utente dell'utente principale, se presente, e null in caso contrario. |
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. |
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 |
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. |
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. |
getPrimaryUserId
public Integer getPrimaryUserId ()
Restituisce l'ID utente principale.
| Resi |
Integer |
l'ID utente dell'utente principale, se presente, e null in caso contrario. |
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 |
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 |
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 |
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 |
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. |
getScreenshot
public InputStreamSource getScreenshot ()
Acquisisce uno screenshot dal dispositivo.
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. |
getSetting
public String getSetting (String namespace,
String key)
Consulta getSetting(int,String,String) ed eseguita sull'utente di sistema.
| Parametri |
namespace |
String |
key |
String |
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. |
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.
| Resi |
int |
i flag associati all'ID utente fornito, se trovato, -10000 in tutti gli altri casi. |
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. |
getUserSerialNumber
public int getUserSerialNumber (int userId)
Restituisce il numero di serie associato all'ID utente, se trovato, -10000 in tutti gli altri casi.
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(). |
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. |
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. |
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. |
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. |
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. |
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 |
installPackages
public String installPackages (List<File> packageFiles,
boolean reinstall,
String... extraArgs)
| Parametri |
packageFiles |
List |
reinstall |
boolean |
extraArgs |
String |
installPackages
public String installPackages (List<File> packageFiles,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
| Parametri |
packageFiles |
List |
reinstall |
boolean |
grantPermissions |
boolean |
extraArgs |
String |
installPackagesForUser
public String installPackagesForUser (List<File> packageFiles,
boolean reinstall,
int userId,
String... extraArgs)
| Parametri |
packageFiles |
List |
reinstall |
boolean |
userId |
int |
extraArgs |
String |
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 |
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 |
isHeadlessSystemUserMode
public boolean isHeadlessSystemUserMode ()
Indica se il dispositivo utilizza la modalità headless system user.
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.
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. |
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. |
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. |
isUserRunning
public boolean isUserRunning (int userId)
Controlla se un determinato utente è in esecuzione.
| Resi |
boolean |
Vero se l'utente sta correndo, falso in tutti gli altri casi. |
isUserSecondary
public boolean isUserSecondary (int userId)
Restituisce un valore che indica se l'utente specificato è un utente secondario in base ai relativi flag.
| Resi |
boolean |
true se l'utente è secondario, false in caso contrario. |
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).
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 |
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. |
listDisplayIdsForStartingVisibleBackgroundUsers
public Set<Integer> listDisplayIdsForStartingVisibleBackgroundUsers ()
Recupera l'elenco dei display che possono essere utilizzati per start a user visible in the background.
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. |
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. |
removeOwners
public void removeOwners ()
Rimuovi tutti i proprietari dei profili dispositivo esistenti con il massimo impegno.
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. |
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. |
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 |
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 |
shutdownMicrodroid
public void shutdownMicrodroid (ITestDevice microdroidDevice)
Arresta il dispositivo microdroid, se esistente.
| Parametri |
microdroidDevice |
ITestDevice |
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. |
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. |
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. |
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. |
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. |
supportsMicrodroid
public boolean supportsMicrodroid ()
Controlla i prerequisiti per eseguire un microdroid.
| Resi |
boolean |
restituisce true se le precondizioni sono soddisfatte, false in caso contrario. |
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. |
switchUser
public boolean switchUser (int userId)
Passa a un altro userId con un timeout predefinito. switchUser(int, long).
| Resi |
boolean |
Vero se il nuovo userId corrisponde al fornitore di userId. Falso negli altri casi. |
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. |
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().
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. |
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. |
waitForSnapuserd
public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)
| Parametri |
currentPhase |
SnapuserdWaitPhase |
Metodi protetti
createParser
protected AaptParser createParser (File appFile)
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. |
getBugreportzInternal
protected File getBugreportzInternal ()
Metodo helper interno per ottenere il file ZIP bugreportz come File.
getCheckNewUserSleep
protected long getCheckNewUserSleep ()
Esposto per i test.
getHostCurrentTime
protected long getHostCurrentTime ()
Esposto per i test
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.