diff options
author | Jerry Zhang <zhangjerry@google.com> | 2017-03-20 21:24:24 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-03-20 21:24:24 +0000 |
commit | b9237dff650b743142b37cb24085b37093f58ec9 (patch) | |
tree | 86647a836fa78acefe1055921ef6279843d2897f /src/com | |
parent | c0482fd65e7efea9780ece8e6e039797c638b45a (diff) | |
parent | b20a947f42b2792fa65be002d50d95ae5871b35a (diff) | |
download | MediaProvider-b9237dff650b743142b37cb24085b37093f58ec9.tar.gz |
Merge "Only unbind Mtp service during disconnect or disable"
am: b20a947f42
Change-Id: I0b385d033f23dcf205449e9fef763b9b8e83fe59
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/providers/media/MtpReceiver.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/com/android/providers/media/MtpReceiver.java b/src/com/android/providers/media/MtpReceiver.java index 0e8990240..00f460c9b 100644 --- a/src/com/android/providers/media/MtpReceiver.java +++ b/src/com/android/providers/media/MtpReceiver.java @@ -49,6 +49,7 @@ public class MtpReceiver extends BroadcastReceiver { private void handleUsbState(Context context, Intent intent) { Bundle extras = intent.getExtras(); boolean configured = extras.getBoolean(UsbManager.USB_CONFIGURED); + boolean connected = extras.getBoolean(UsbManager.USB_CONNECTED); boolean mtpEnabled = extras.getBoolean(UsbManager.USB_FUNCTION_MTP); boolean ptpEnabled = extras.getBoolean(UsbManager.USB_FUNCTION_PTP); boolean unlocked = extras.getBoolean(UsbManager.USB_DATA_UNLOCKED); @@ -70,7 +71,8 @@ public class MtpReceiver extends BroadcastReceiver { } if (DEBUG) { Log.d(TAG, "handleUsbState startService"); } context.startService(intent); - } else { + } else if (!connected || !(mtpEnabled || ptpEnabled)) { + // Only unbind if disconnected or disabled. boolean status = context.stopService(new Intent(context, MtpService.class)); if (DEBUG) { Log.d(TAG, "handleUsbState stopService status=" + status); } // tell MediaProvider MTP is disconnected so it can unbind from the service |