summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2022-08-17 06:54:55 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-08-17 06:54:55 +0000
commit3161749b06be5dda09c21981d8ce0334cfa59aca (patch)
treef44760b861bb124b376f396d845bb47f67587913
parent1748ccf3decbf19942bc121c40b092864025d331 (diff)
parent40f45bddd32b3ba106fa7978d2ea4ca2b1f48ae2 (diff)
Merge "usb: Don't show the notification when no USB device is connected" am: e648d3cb91 am: 40f45bddd3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2181961 Change-Id: Ic5fe7551cbfd0e146a0a46f0644e6223fd0df646 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/usb/java/com/android/server/usb/UsbDeviceManager.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
index 6ea416b54811..d5809957ba29 100644
--- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
@@ -508,6 +508,7 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
// current USB state
private boolean mHostConnected;
private boolean mUsbAccessoryConnected;
+ private boolean mInHostModeWithNoAccessoryConnected;
private boolean mSourcePower;
private boolean mSinkPower;
private boolean mConfigured;
@@ -959,6 +960,17 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
mSupportsAllCombinations = false;
}
+ if (mHostConnected) {
+ if (!mUsbAccessoryConnected) {
+ mInHostModeWithNoAccessoryConnected = true;
+ } else {
+ mInHostModeWithNoAccessoryConnected = false;
+ }
+ } else {
+ // if not in host mode, reset value to false
+ mInHostModeWithNoAccessoryConnected = false;
+ }
+
mAudioAccessorySupported = port.isModeSupported(MODE_AUDIO_ACCESSORY);
args.recycle();
@@ -983,6 +995,12 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
Slog.i(TAG, "HOST_STATE connected:" + mUsbAccessoryConnected);
}
+ if (!devices.hasNext()) {
+ mInHostModeWithNoAccessoryConnected = true;
+ } else {
+ mInHostModeWithNoAccessoryConnected = false;
+ }
+
mHideUsbNotification = false;
while (devices.hasNext()) {
Map.Entry pair = (Map.Entry) devices.next();
@@ -1192,7 +1210,8 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
// 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 ((mHideUsbNotification || mInHostModeWithNoAccessoryConnected)
+ && !mSupportsAllCombinations) {
if (mUsbNotificationId != 0) {
mNotificationManager.cancelAsUser(null, mUsbNotificationId,
UserHandle.ALL);