From cfd328b64fe837a5c2d236bc78256abcbec65adb Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 18 Mar 2013 15:46:28 -0700 Subject: [PATCH] Allow disabling both MTP and PTP. Require that MTP and PTP are mutually exclusive when enabled, but allow them to be both disabled. Users can enable them again under Storage menu item in Settings. Bug: 6518257 Change-Id: I43419fa619ce2c62dd5e8c14d6c645d24fd8943a --- .../settings/deviceinfo/UsbSettings.java | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/com/android/settings/deviceinfo/UsbSettings.java b/src/com/android/settings/deviceinfo/UsbSettings.java index b8290fceac7..a836fb316e8 100644 --- a/src/com/android/settings/deviceinfo/UsbSettings.java +++ b/src/com/android/settings/deviceinfo/UsbSettings.java @@ -123,7 +123,6 @@ public class UsbSettings extends SettingsPreferenceFragment { mMtp.setEnabled(false); mPtp.setEnabled(false); } - } @Override @@ -134,22 +133,17 @@ public class UsbSettings extends SettingsPreferenceFragment { if (Utils.isMonkeyRunning()) { return true; } - // temporary hack - using check boxes as radio buttons - // don't allow unchecking them - if (preference instanceof CheckBoxPreference) { - CheckBoxPreference checkBox = (CheckBoxPreference)preference; - if (!checkBox.isChecked()) { - checkBox.setChecked(true); - return true; - } - } - if (preference == mMtp) { - mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_MTP, true); - updateToggles(UsbManager.USB_FUNCTION_MTP); - } else if (preference == mPtp) { - mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_PTP, true); - updateToggles(UsbManager.USB_FUNCTION_PTP); + + String function = "none"; + if (preference == mMtp && mMtp.isChecked()) { + function = UsbManager.USB_FUNCTION_MTP; + } else if (preference == mPtp && mPtp.isChecked()) { + function = UsbManager.USB_FUNCTION_PTP; } + + mUsbManager.setCurrentFunction(function, true); + updateToggles(function); + return true; } }