diff options
author | Zoran Jovanovic <zoran.jovanovic@sonymobile.com> | 2015-11-04 14:00:03 +0100 |
---|---|---|
committer | Alexander Martinz <eviscerationls@gmail.com> | 2015-11-06 22:16:48 +0100 |
commit | 0183673aefd2303adbc4af8ae3e180fcadd7e039 (patch) | |
tree | 8326eb9071ae5d312f0538ba623749e9a5255333 /src/com/android/settings/deviceinfo | |
parent | 74a27aed48d84e93188683676f123f5c501caab0 (diff) | |
download | packages_apps_Settings-0183673aefd2303adbc4af8ae3e180fcadd7e039.zip packages_apps_Settings-0183673aefd2303adbc4af8ae3e180fcadd7e039.tar.gz packages_apps_Settings-0183673aefd2303adbc4af8ae3e180fcadd7e039.tar.bz2 |
Don't show MIDI USB option if not supported
If device doesn't support MIDI, don't show MIDI in "Use USB for" menu
when USB cable is connected.
(Selecting MIDI will crash the Settings app.)
Change-Id: I60f4cbb6357f162fecb574cdb6766cf5ed92e78e
Diffstat (limited to 'src/com/android/settings/deviceinfo')
-rw-r--r-- | src/com/android/settings/deviceinfo/UsbBackend.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/com/android/settings/deviceinfo/UsbBackend.java b/src/com/android/settings/deviceinfo/UsbBackend.java index 210e0a0..340eba5 100644 --- a/src/com/android/settings/deviceinfo/UsbBackend.java +++ b/src/com/android/settings/deviceinfo/UsbBackend.java @@ -18,6 +18,7 @@ package com.android.settings.deviceinfo; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.PackageManager; import android.hardware.usb.UsbManager; import android.hardware.usb.UsbPort; import android.hardware.usb.UsbPortStatus; @@ -36,6 +37,7 @@ public class UsbBackend { public static final int MODE_DATA_MIDI = 0x03 << 1; private final boolean mRestricted; + private final boolean mMidi; private UserManager mUserManager; private UsbManager mUsbManager; @@ -53,6 +55,8 @@ public class UsbBackend { mUsbManager = context.getSystemService(UsbManager.class); mRestricted = mUserManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER); + mMidi = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_MIDI); + UsbPort[] ports = mUsbManager.getPorts(); // For now look for a connected port, in the future we should identify port in the // notification and pick based on that. @@ -135,6 +139,11 @@ public class UsbBackend { // No USB data modes are supported. return false; } + + if (!mMidi && (mode & MODE_DATA_MASK) == MODE_DATA_MIDI) { + return false; + } + if (mPort != null) { int power = modeToPower(mode); if ((mode & MODE_DATA_MASK) != 0) { |