diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesController.java index 1375b4c7c3b..1f662c03ae9 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,10 +138,17 @@ public class UsbDetailsProfilesController extends UsbDetailsController } 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 557d8365a0c..c7330787913 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.TestConfig; 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 @@ public class UsbDetailsProfilesControllerTest { assertThat(!switches.get(0).isChecked()); } + @Test + @Config(shadows = ShadowUtils.class) + public void testIsAvailable_isMonkey_shouldReturnFalse() { + ShadowUtils.setIsUserAMonkey(true); + assertThat(mDetailsProfilesController.isAvailable()).isFalse(); + } + private List getProfileSwitches() { ArrayList result = new ArrayList<>(); for (int i = 0; i < mPreference.getPreferenceCount(); i++) {