diff options
-rw-r--r-- | src/com/android/tradefed/targetprep/DeviceSetup.java | 16 | ||||
-rw-r--r-- | tests/src/com/android/tradefed/targetprep/DeviceSetupTest.java | 24 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/com/android/tradefed/targetprep/DeviceSetup.java b/src/com/android/tradefed/targetprep/DeviceSetup.java index e25b85a57..4977dfc81 100644 --- a/src/com/android/tradefed/targetprep/DeviceSetup.java +++ b/src/com/android/tradefed/targetprep/DeviceSetup.java @@ -94,6 +94,12 @@ public class DeviceSetup implements ITargetPreparer, ITargetCleaner { // ON: service call bluetooth_manager 6 // OFF: service call bluetooth_manager 8 + @Option(name = "nfc", + description = "Turn nfc on or off") + protected BinaryState mNfc = BinaryState.IGNORE; + // ON: svc nfc enable + // OFF: svc nfc disable + // Screen @Option(name = "screen-adaptive-brightness", description = "Turn screen adaptive brightness on or off") @@ -491,6 +497,9 @@ public class DeviceSetup implements ITargetPreparer, ITargetCleaner { setCommandForBinaryState(mBluetooth, mRunCommandAfterSettings, "service call bluetooth_manager 6", "service call bluetooth_manager 8"); + setCommandForBinaryState(mNfc, mRunCommandAfterSettings, + "svc nfc enable", "svc nfc disable"); + if (mScreenBrightness != null && BinaryState.ON.equals(mScreenAdaptiveBrightness)) { throw new TargetSetupError("Option screen-brightness cannot be set when " + "screen-adaptive-brightness is set to ON"); @@ -933,6 +942,13 @@ public class DeviceSetup implements ITargetPreparer, ITargetCleaner { /** * Exposed for unit testing */ + protected void setNfc(BinaryState nfc) { + mNfc = nfc; + } + + /** + * Exposed for unit testing + */ protected void setScreenAdaptiveBrightness(BinaryState screenAdaptiveBrightness) { mScreenAdaptiveBrightness = screenAdaptiveBrightness; } diff --git a/tests/src/com/android/tradefed/targetprep/DeviceSetupTest.java b/tests/src/com/android/tradefed/targetprep/DeviceSetupTest.java index ed53e2825..ba061a19a 100644 --- a/tests/src/com/android/tradefed/targetprep/DeviceSetupTest.java +++ b/tests/src/com/android/tradefed/targetprep/DeviceSetupTest.java @@ -242,6 +242,30 @@ public class DeviceSetupTest extends TestCase { EasyMock.verify(mMockDevice); } + public void testSetup_nfc_on() throws DeviceNotAvailableException, TargetSetupError { + doSetupExpectations(); + doCheckExternalStoreSpaceExpectations(); + doCommandsExpectations("svc nfc enable"); + EasyMock.replay(mMockDevice); + + mDeviceSetup.setNfc(BinaryState.ON); + mDeviceSetup.setUp(mMockDevice, mMockBuildInfo); + + EasyMock.verify(mMockDevice); + } + + public void testSetup_nfc_off() throws DeviceNotAvailableException, TargetSetupError { + doSetupExpectations(); + doCheckExternalStoreSpaceExpectations(); + doCommandsExpectations("svc nfc disable"); + EasyMock.replay(mMockDevice); + + mDeviceSetup.setNfc(BinaryState.OFF); + mDeviceSetup.setUp(mMockDevice, mMockBuildInfo); + + EasyMock.verify(mMockDevice); + } + public void testSetup_screen_adaptive_on() throws DeviceNotAvailableException, TargetSetupError { doSetupExpectations(); |