aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/tradefed/targetprep/DeviceSetup.java16
-rw-r--r--tests/src/com/android/tradefed/targetprep/DeviceSetupTest.java24
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();