From 23cf59e80a966c6fbb0d148a3c5610152e434cde Mon Sep 17 00:00:00 2001 From: Heemin Seog Date: Mon, 17 Jun 2019 15:11:27 -0700 Subject: [PATCH] Handle USB eject and unmount via Car Settings Bug: 134806870 Test: manual Change-Id: I90b18eb0e66abb1b22701fd390202468970d9ae6 Merged-In: I90b18eb0e66abb1b22701fd390202468970d9ae6 --- .../android/systemui/usb/StorageNotification.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java index de86f3d8cfb4b..ff5bd03740bd6 100644 --- a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java +++ b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java @@ -628,6 +628,14 @@ public class StorageNotification extends SystemUI { final int requestKey = vol.getId().hashCode(); return PendingIntent.getActivityAsUser(mContext, requestKey, intent, PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT); + } else if (isAutomotive()) { + intent.setClassName("com.android.car.settings", + "com.android.car.settings.storage.StorageUnmountReceiver"); + intent.putExtra(VolumeInfo.EXTRA_VOLUME_ID, vol.getId()); + + final int requestKey = vol.getId().hashCode(); + return PendingIntent.getBroadcastAsUser(mContext, requestKey, intent, + PendingIntent.FLAG_CANCEL_CURRENT, UserHandle.CURRENT); } else { intent.setClassName("com.android.settings", "com.android.settings.deviceinfo.StorageUnmountReceiver"); @@ -749,6 +757,11 @@ public class StorageNotification extends SystemUI { PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT); } + private boolean isAutomotive() { + PackageManager packageManager = mContext.getPackageManager(); + return packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE); + } + private boolean isTv() { PackageManager packageManager = mContext.getPackageManager(); return packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK);