diff options
-rw-r--r-- | res/values/strings.xml | 8 | ||||
-rw-r--r-- | res/xml/usb_settings.xml | 6 | ||||
-rw-r--r-- | src/com/android/settings/deviceinfo/UsbSettings.java | 15 |
3 files changed, 26 insertions, 3 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 0baa901..56f1179 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2276,10 +2276,12 @@ <string name="usb_mtp_summary">Lets you transfer media files on Windows, or using Android File Transfer on Mac (see www.android.com/filetransfer)</string> <!-- Storage setting. Title for PTP checkbox [CHAR LIMIT=30]--> <string name="usb_ptp_title">Camera (PTP)</string> - <!-- Storage setting. Label for installer CD [CHAR LIMIT=30]--> - <string name="usb_ptp_summary">Lets you transfer photos using camera software, and transfer any files on computers that don\'t support MTP</string> <!-- Storage setting. Summary for PTP checkbox [CHAR LIMIT=NONE]--> - <string name="usb_label_installer_cd">"Install file-transfer tools"</string> + <string name="usb_ptp_summary">Lets you transfer photos using camera software, and transfer any files on computers that don\'t support MTP</string> + <!-- Storage setting. Title for MIDI checkbox [CHAR LIMIT=30]--> + <string name="usb_midi_title">MIDI</string> + <!-- Storage setting. Summary for MIDI checkbox [CHAR LIMIT=NONE]--> + <string name="usb_midi_summary">Lets MIDI enabled applications work over USB with MIDI software on your computer.</string> <!-- Section header above list of other users storage [CHAR LIMIT=32] --> <string name="storage_other_users">Other users</string> diff --git a/res/xml/usb_settings.xml b/res/xml/usb_settings.xml index 4b0268b..611a1b4 100644 --- a/res/xml/usb_settings.xml +++ b/res/xml/usb_settings.xml @@ -32,4 +32,10 @@ android:summary="@string/usb_ptp_summary" /> + <CheckBoxPreference + android:key="usb_midi" + android:title="@string/usb_midi_title" + android:summary="@string/usb_midi_summary" + /> + </PreferenceScreen> diff --git a/src/com/android/settings/deviceinfo/UsbSettings.java b/src/com/android/settings/deviceinfo/UsbSettings.java index 42de2fd..c3b3f96 100644 --- a/src/com/android/settings/deviceinfo/UsbSettings.java +++ b/src/com/android/settings/deviceinfo/UsbSettings.java @@ -41,10 +41,12 @@ public class UsbSettings extends SettingsPreferenceFragment { private static final String KEY_MTP = "usb_mtp"; private static final String KEY_PTP = "usb_ptp"; + private static final String KEY_MIDI = "usb_midi"; private UsbManager mUsbManager; private CheckBoxPreference mMtp; private CheckBoxPreference mPtp; + private CheckBoxPreference mMidi; private boolean mUsbAccessoryMode; private final BroadcastReceiver mStateReceiver = new BroadcastReceiver() { @@ -68,6 +70,7 @@ public class UsbSettings extends SettingsPreferenceFragment { mMtp = (CheckBoxPreference)root.findPreference(KEY_MTP); mPtp = (CheckBoxPreference)root.findPreference(KEY_PTP); + mMidi = (CheckBoxPreference)root.findPreference(KEY_MIDI); UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE); if (um.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER)) { @@ -107,27 +110,37 @@ public class UsbSettings extends SettingsPreferenceFragment { if (UsbManager.USB_FUNCTION_MTP.equals(function)) { mMtp.setChecked(true); mPtp.setChecked(false); + mMidi.setChecked(false); } else if (UsbManager.USB_FUNCTION_PTP.equals(function)) { mMtp.setChecked(false); mPtp.setChecked(true); + mMidi.setChecked(false); + } else if (UsbManager.USB_FUNCTION_MIDI.equals(function)) { + mMtp.setChecked(false); + mPtp.setChecked(false); + mMidi.setChecked(true); } else { mMtp.setChecked(false); mPtp.setChecked(false); + mMidi.setChecked(false); } UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE); if (um.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER)) { Log.e(TAG, "USB is locked down"); mMtp.setEnabled(false); mPtp.setEnabled(false); + mMidi.setEnabled(true); } else 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); + mMidi.setEnabled(true); } else { Log.e(TAG, "USB Accessory Mode"); mMtp.setEnabled(false); mPtp.setEnabled(false); + mMidi.setEnabled(false); } } @@ -151,6 +164,8 @@ public class UsbSettings extends SettingsPreferenceFragment { function = UsbManager.USB_FUNCTION_MTP; } else if (preference == mPtp && mPtp.isChecked()) { function = UsbManager.USB_FUNCTION_PTP; + } else if (preference == mMidi && mMidi.isChecked()) { + function = UsbManager.USB_FUNCTION_MIDI; } mUsbManager.setCurrentFunction(function, true); |