diff --git a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java index 180d9180a9f7e..2c53e29620494 100644 --- a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java +++ b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java @@ -16,6 +16,7 @@ package com.android.systemui.usb; +import android.annotation.NonNull; import android.app.Notification; import android.app.Notification.Action; import android.app.NotificationManager; @@ -97,6 +98,11 @@ public class StorageNotification extends SystemUI { public void onDiskScanned(DiskInfo disk, int volumeCount) { onDiskScannedInternal(disk, volumeCount); } + + @Override + public void onDiskDestroyed(DiskInfo disk) { + onDiskDestroyedInternal(disk); + } }; private final BroadcastReceiver mSnoozeReceiver = new BroadcastReceiver() { @@ -238,6 +244,15 @@ public class StorageNotification extends SystemUI { } } + /** + * Remove all notifications for a disk when it goes away. + * + * @param disk The disk that went away. + */ + private void onDiskDestroyedInternal(@NonNull DiskInfo disk) { + mNotificationManager.cancelAsUser(disk.getId(), DISK_ID, UserHandle.ALL); + } + private void onVolumeStateChangedInternal(VolumeInfo vol) { switch (vol.getType()) { case VolumeInfo.TYPE_PRIVATE: