diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index 2fb67d79ccee3..7f70301735d99 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -498,6 +498,7 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser // current USB state private boolean mHostConnected; + private boolean mUsbAccessoryConnected; private boolean mSourcePower; private boolean mSinkPower; private boolean mConfigured; @@ -964,10 +965,10 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser break; case MSG_UPDATE_HOST_STATE: Iterator devices = (Iterator) msg.obj; - boolean connected = (msg.arg1 == 1); + mUsbAccessoryConnected = (msg.arg1 == 1); if (DEBUG) { - Slog.i(TAG, "HOST_STATE connected:" + connected); + Slog.i(TAG, "HOST_STATE connected:" + mUsbAccessoryConnected); } mHideUsbNotification = false; @@ -1221,7 +1222,7 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser } else if (mSourcePower) { titleRes = com.android.internal.R.string.usb_supplying_notification_title; id = SystemMessage.NOTE_USB_SUPPLYING; - } else if (mHostConnected && mSinkPower && mUsbCharging) { + } else if (mHostConnected && mSinkPower && (mUsbCharging || mUsbAccessoryConnected)) { titleRes = com.android.internal.R.string.usb_charging_notification_title; id = SystemMessage.NOTE_USB_CHARGING; }