Merge "Don't show MIDI USB option if not supported"
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 @@
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 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 @@
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 @@
// 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) {