diff options
Diffstat (limited to 'services/usb/java')
| -rw-r--r-- | services/usb/java/com/android/server/usb/UsbDeviceManager.java | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index b0fefc494037..c696b509b4b8 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -956,11 +956,6 @@ public class UsbDeviceManager { Slog.i(TAG, "HOST_STATE connected:" + connected); } - if ((mHideUsbNotification && connected) - || (!mHideUsbNotification && !connected)) { - break; - } - mHideUsbNotification = false; while (devices.hasNext()) { Map.Entry pair = (Map.Entry) devices.next(); @@ -1061,12 +1056,22 @@ public class UsbDeviceManager { private void updateUsbNotification(boolean force) { if (mNotificationManager == null || !mUseUsbNotification - || ("0".equals(SystemProperties.get("persist.charging.notify"))) - // Dont show the notification when connected to a USB peripheral - // and the link does not support PR_SWAP and DR_SWAP - || (mHideUsbNotification && !mSupportsAllCombinations)) { + || ("0".equals(SystemProperties.get("persist.charging.notify")))) { return; } + + // Dont show the notification when connected to a USB peripheral + // and the link does not support PR_SWAP and DR_SWAP + if (mHideUsbNotification && !mSupportsAllCombinations) { + if (mUsbNotificationId != 0) { + mNotificationManager.cancelAsUser(null, mUsbNotificationId, + UserHandle.ALL); + mUsbNotificationId = 0; + Slog.d(TAG, "Clear notification"); + } + return; + } + int id = 0; int titleRes = 0; Resources r = mContext.getResources(); @@ -1117,6 +1122,7 @@ public class UsbDeviceManager { if (mUsbNotificationId != 0) { mNotificationManager.cancelAsUser(null, mUsbNotificationId, UserHandle.ALL); + Slog.d(TAG, "Clear notification"); mUsbNotificationId = 0; } if (id != 0) { @@ -1173,6 +1179,7 @@ public class UsbDeviceManager { mNotificationManager.notifyAsUser(null, id, notification, UserHandle.ALL); + Slog.d(TAG, "push notification:" + title); mUsbNotificationId = id; } } |