Merge "Fix USB OTG hot plug out nndexOutOfBoundsException"
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index a4cc513..1b38298 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -135,12 +135,18 @@
                     mStorageEntries.removeIf(storageEntry -> {
                         return storageEntry.equals(changedStorageEntry);
                     });
-                    if (volumeState != VolumeInfo.STATE_REMOVED
-                            && volumeState != VolumeInfo.STATE_BAD_REMOVAL) {
+                    if (volumeState == VolumeInfo.STATE_MOUNTED
+                            || volumeState == VolumeInfo.STATE_MOUNTED_READ_ONLY
+                            || volumeState == VolumeInfo.STATE_UNMOUNTABLE) {
                         mStorageEntries.add(changedStorageEntry);
-                    }
-                    if (changedStorageEntry.equals(mSelectedStorageEntry)) {
-                        mSelectedStorageEntry = changedStorageEntry;
+                        if (changedStorageEntry.equals(mSelectedStorageEntry)) {
+                            mSelectedStorageEntry = changedStorageEntry;
+                        }
+                    } else {
+                        if (changedStorageEntry.equals(mSelectedStorageEntry)) {
+                            mSelectedStorageEntry =
+                                    StorageEntry.getDefaultInternalStorageEntry(getContext());
+                        }
                     }
                     refreshUi();
                     break;