diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 97f5eadcb0a..e5f19888eb2 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1389,12 +1389,4 @@ 0 - - - @string/usb_use_charging_only - @string/usb_use_file_transfers - @string/usb_use_photo_transfers - @string/usb_use_MIDI - - diff --git a/src/com/android/settings/deviceinfo/UsbBackend.java b/src/com/android/settings/deviceinfo/UsbBackend.java index d19b2611a34..c44f2eb6641 100644 --- a/src/com/android/settings/deviceinfo/UsbBackend.java +++ b/src/com/android/settings/deviceinfo/UsbBackend.java @@ -16,6 +16,8 @@ package com.android.settings.deviceinfo; import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.hardware.usb.UsbManager; import android.hardware.usb.UsbPort; import android.hardware.usb.UsbPortStatus; @@ -40,7 +42,13 @@ public class UsbBackend { private UsbPort mPort; private UsbPortStatus mPortStatus; + private boolean mIsUnlocked; + public UsbBackend(Context context) { + Intent intent = context.registerReceiver(null, + new IntentFilter(UsbManager.ACTION_USB_STATE)); + mIsUnlocked = intent.getBooleanExtra(UsbManager.USB_DATA_UNLOCKED, false); + mUserManager = UserManager.get(context); mUsbManager = context.getSystemService(UsbManager.class); @@ -70,7 +78,7 @@ public class UsbBackend { } public int getUsbDataMode() { - if (!mUsbManager.isUsbDataUnlocked()) { + if (!mIsUnlocked) { return MODE_DATA_NONE; } else if (mUsbManager.isFunctionEnabled(UsbManager.USB_FUNCTION_MTP)) { return MODE_DATA_MTP; @@ -123,7 +131,8 @@ public class UsbBackend { } public boolean isModeSupported(int mode) { - if (mRestricted && (mode & MODE_DATA_MASK) != MODE_DATA_NONE) { + if (mRestricted && (mode & MODE_DATA_MASK) != MODE_DATA_NONE + && (mode & MODE_DATA_MASK) != MODE_DATA_MIDI) { // No USB data modes are supported. return false; } diff --git a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java index 8f5a6a80993..77fc388f5a8 100644 --- a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java +++ b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java @@ -51,6 +51,7 @@ public class UsbModeChooserActivity extends Activity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); mLayoutInflater = LayoutInflater.from(this);