DeviceFlashPreparer

public abstract class DeviceFlashPreparer
extends BaseTargetPreparer

java.lang.Object
   ↳ com.android.tradefed.targetprep.BaseTargetPreparer
     ↳ com.android.tradefed.targetprep.DeviceFlashPreparer


A ITargetPreparer that flashes an image on physical Android hardware.

Summary

Nested classes

enum DeviceFlashPreparer.EncryptionOptions

Enum of options for handling the encryption of userdata image  

Public constructors

DeviceFlashPreparer()

Public methods

void setUp(TestInformation testInfo)

void setUserDataFlashOption(IDeviceFlasher.UserDataFlashOption flashOption)

Set the userdata-flash option

void tearDown(TestInformation testInfo, Throwable e)

Protected methods

void checkDeviceProductType(ITestDevice device, IDeviceBuildInfo deviceBuild)

Possible check before flashing to ensure the device is as expected compare to the build info.

abstract IDeviceFlasher createFlasher(ITestDevice device)

Create IDeviceFlasher to use.

long getDeviceBootWaitTime()

Gets the device boot wait time

IHostOptions getHostOptions()

Gets the IHostOptions instance to use.

void reportFlashMetrics(String branch, String buildFlavor, String buildId, String serial, long queueTime, long flashingTime, CommandStatus flashingStatus)

Reports device flashing timing data to metrics backend

void setSkipPostFlashBuildIdCheck(boolean skipPostFlashBuildIdCheck)
void setSkipPostFlashFlavorCheck(boolean skipPostFlashFlavorCheck)

Public constructors

DeviceFlashPreparer

public DeviceFlashPreparer ()

Public methods

setUp

public void setUp (TestInformation testInfo)

Parameters
testInfo TestInformation

Throws
BuildError
DeviceNotAvailableException
TargetSetupError

setUserDataFlashOption

public void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

Set the userdata-flash option

tearDown

public void tearDown (TestInformation testInfo, 
                Throwable e)

Parameters
testInfo TestInformation

e Throwable

Throws
DeviceNotAvailableException

Protected methods

checkDeviceProductType

protected void checkDeviceProductType (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Possible check before flashing to ensure the device is as expected compare to the build info.

Parameters
device ITestDevice: the ITestDevice to flash.

deviceBuild IDeviceBuildInfo: the IDeviceBuildInfo used to flash.

Throws
com.android.tradefed.targetprep.BuildError
DeviceNotAvailableException
BuildError

createFlasher

protected abstract IDeviceFlasher createFlasher (ITestDevice device)

Create IDeviceFlasher to use. Subclasses can override

Parameters
device ITestDevice

Returns
IDeviceFlasher

Throws
DeviceNotAvailableException

getDeviceBootWaitTime

protected long getDeviceBootWaitTime ()

Gets the device boot wait time

Returns
long

getHostOptions

protected IHostOptions getHostOptions ()

Gets the IHostOptions instance to use.

Exposed for unit testing

Returns
IHostOptions

reportFlashMetrics

protected void reportFlashMetrics (String branch, 
                String buildFlavor, 
                String buildId, 
                String serial, 
                long queueTime, 
                long flashingTime, 
                CommandStatus flashingStatus)

Reports device flashing timing data to metrics backend

Parameters
branch String: the branch where the device build originated from

buildFlavor String: the build flavor of the device build

buildId String: the build number of the device build

serial String: the serial number of device

queueTime long: the time spent waiting for a flashing limit to become available

flashingTime long: the time spent in flashing device image zip

flashingStatus CommandStatus: the execution status of flashing command

setSkipPostFlashBuildIdCheck

protected void setSkipPostFlashBuildIdCheck (boolean skipPostFlashBuildIdCheck)

Parameters
skipPostFlashBuildIdCheck boolean

setSkipPostFlashFlavorCheck

protected void setSkipPostFlashFlavorCheck (boolean skipPostFlashFlavorCheck)

Parameters
skipPostFlashFlavorCheck boolean