am 0c869d69: Merge "UsbSetting: The behavior is not right when enable/disable MTP/PTP with Accessory board connected."

* commit '0c869d694b59a55c8d53b57a12393b55530e798e':
  UsbSetting: The behavior is not right when enable/disable MTP/PTP with Accessory board connected.
This commit is contained in:
Jean-Baptiste Queru
2012-08-17 08:55:52 -07:00
committed by Android Git Automerger

View File

@@ -49,9 +49,15 @@ public class UsbSettings extends SettingsPreferenceFragment {
private UsbManager mUsbManager; private UsbManager mUsbManager;
private CheckBoxPreference mMtp; private CheckBoxPreference mMtp;
private CheckBoxPreference mPtp; private CheckBoxPreference mPtp;
private boolean mUsbAccessoryMode;
private final BroadcastReceiver mStateReceiver = new BroadcastReceiver() { private final BroadcastReceiver mStateReceiver = new BroadcastReceiver() {
public void onReceive(Context content, Intent intent) { public void onReceive(Context content, Intent intent) {
String action = intent.getAction();
if (action.equals(UsbManager.ACTION_USB_STATE)) {
mUsbAccessoryMode = intent.getBooleanExtra(UsbManager.USB_FUNCTION_ACCESSORY, false);
Log.e(TAG, "UsbAccessoryMode " + mUsbAccessoryMode);
}
updateToggles(mUsbManager.getDefaultFunction()); updateToggles(mUsbManager.getDefaultFunction());
} }
}; };
@@ -106,6 +112,18 @@ public class UsbSettings extends SettingsPreferenceFragment {
mMtp.setChecked(false); mMtp.setChecked(false);
mPtp.setChecked(false); mPtp.setChecked(false);
} }
if (!mUsbAccessoryMode) {
//Enable MTP and PTP switch while USB is not in Accessory Mode, otherwise disable it
Log.e(TAG, "USB Normal Mode");
mMtp.setEnabled(true);
mPtp.setEnabled(true);
} else {
Log.e(TAG, "USB Accessory Mode");
mMtp.setEnabled(false);
mPtp.setEnabled(false);
}
} }
@Override @Override