diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 90336e2e1fa..ac6cb647406 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -16,6 +16,7 @@ package com.android.settings; +import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -278,7 +279,7 @@ public class Utils { * Returns true if Monkey is running. */ public static boolean isMonkeyRunning() { - return SystemProperties.getBoolean("ro.monkey", false); + return ActivityManager.isUserAMonkey(); } /** diff --git a/src/com/android/settings/deviceinfo/UsbSettings.java b/src/com/android/settings/deviceinfo/UsbSettings.java index 538cde7565e..c8671b95fcb 100644 --- a/src/com/android/settings/deviceinfo/UsbSettings.java +++ b/src/com/android/settings/deviceinfo/UsbSettings.java @@ -34,6 +34,7 @@ import android.util.Log; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; +import com.android.settings.Utils; /** * USB storage settings. @@ -111,6 +112,11 @@ public class UsbSettings extends SettingsPreferenceFragment { @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + // Don't allow any changes to take effect as the USB host will be disconnected, killing + // the monkeys + if (Utils.isMonkeyRunning()) { + return true; + } // temporary hack - using check boxes as radio buttons // don't allow unchecking them if (preference instanceof CheckBoxPreference) {