Don't set USB mode if user is a monkey
Test: tests pass
Fixes: 73246183
Change-Id: I9570c8bd8b11edd6eb0944a4aa766c22b4cc3619
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesController.java
index 1375b4c..1f662c0 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesController.java
@@ -17,6 +17,8 @@
package com.android.settings.connecteddevice.usb;
import com.android.settings.R;
+import com.android.settings.Utils;
+
import android.content.Context;
import android.hardware.usb.UsbManager;
import android.support.v14.preference.PreferenceFragment;
@@ -136,11 +138,18 @@
} else {
mode &= ~thisMode;
}
- mUsbBackend.setMode(mode);
+ if (!Utils.isMonkeyRunning()) {
+ mUsbBackend.setMode(mode);
+ }
return false;
}
@Override
+ public boolean isAvailable() {
+ return !Utils.isMonkeyRunning();
+ }
+
+ @Override
public String getPreferenceKey() {
return mKey;
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesControllerTest.java
index 557d836..c733078 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesControllerTest.java
@@ -36,6 +36,7 @@
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.google.android.collect.Lists;
@@ -228,6 +229,13 @@
assertThat(!switches.get(0).isChecked());
}
+ @Test
+ @Config(shadows = ShadowUtils.class)
+ public void testIsAvailable_isMonkey_shouldReturnFalse() {
+ ShadowUtils.setIsUserAMonkey(true);
+ assertThat(mDetailsProfilesController.isAvailable()).isFalse();
+ }
+
private List<SwitchPreference> getProfileSwitches() {
ArrayList<SwitchPreference> result = new ArrayList<>();
for (int i = 0; i < mPreference.getPreferenceCount(); i++) {