Merge "Don't show MIDI USB option if not supported"

This commit is contained in:
Jason Monk
2015-11-04 14:43:11 +00:00
committed by Gerrit Code Review

View File

@@ -18,6 +18,7 @@ package com.android.settings.deviceinfo;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.hardware.usb.UsbManager; import android.hardware.usb.UsbManager;
import android.hardware.usb.UsbPort; import android.hardware.usb.UsbPort;
import android.hardware.usb.UsbPortStatus; import android.hardware.usb.UsbPortStatus;
@@ -36,6 +37,7 @@ public class UsbBackend {
public static final int MODE_DATA_MIDI = 0x03 << 1; public static final int MODE_DATA_MIDI = 0x03 << 1;
private final boolean mRestricted; private final boolean mRestricted;
private final boolean mMidi;
private UserManager mUserManager; private UserManager mUserManager;
private UsbManager mUsbManager; private UsbManager mUsbManager;
@@ -53,6 +55,8 @@ public class UsbBackend {
mUsbManager = context.getSystemService(UsbManager.class); mUsbManager = context.getSystemService(UsbManager.class);
mRestricted = mUserManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER); mRestricted = mUserManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER);
mMidi = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_MIDI);
UsbPort[] ports = mUsbManager.getPorts(); UsbPort[] ports = mUsbManager.getPorts();
// For now look for a connected port, in the future we should identify port in the // For now look for a connected port, in the future we should identify port in the
// notification and pick based on that. // notification and pick based on that.
@@ -135,6 +139,11 @@ public class UsbBackend {
// No USB data modes are supported. // No USB data modes are supported.
return false; return false;
} }
if (!mMidi && (mode & MODE_DATA_MASK) == MODE_DATA_MIDI) {
return false;
}
if (mPort != null) { if (mPort != null) {
int power = modeToPower(mode); int power = modeToPower(mode);
if ((mode & MODE_DATA_MASK) != 0) { if ((mode & MODE_DATA_MASK) != 0) {