summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
authorJerry Zhang <zhangjerry@google.com>2017-03-20 21:24:24 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-03-20 21:24:24 +0000
commitb9237dff650b743142b37cb24085b37093f58ec9 (patch)
tree86647a836fa78acefe1055921ef6279843d2897f /src/com
parentc0482fd65e7efea9780ece8e6e039797c638b45a (diff)
parentb20a947f42b2792fa65be002d50d95ae5871b35a (diff)
downloadMediaProvider-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.java4
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