summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2015-07-05 14:17:27 -0700
committerJeff Sharkey <jsharkey@android.com>2015-07-05 14:34:13 -0700
commitef10ee014594d800f5f5ca31ea93f1cab2880d05 (patch)
tree3364b5131cdbe40bf41a288901dff27217a6a6d7 /core/java/android
parent6dce4964b4d1a13d276d95730b8fb09d6a5a8d04 (diff)
Handle missing migration source volume.
Users can try migrating primary storage while the current location is missing/unmounted. Fail gracefully instead of runtime restarting. Bug: 21927076 Change-Id: I40645f8ccea05154e7cbacd188f6cba5f4dbbdc4
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/os/storage/StorageManager.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index d28766f96368..f03e04e50112 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -557,12 +557,20 @@ public class StorageManager {
/** {@hide} */
public @Nullable VolumeInfo findPrivateForEmulated(VolumeInfo emulatedVol) {
- return findVolumeById(emulatedVol.getId().replace("emulated", "private"));
+ if (emulatedVol != null) {
+ return findVolumeById(emulatedVol.getId().replace("emulated", "private"));
+ } else {
+ return null;
+ }
}
/** {@hide} */
public @Nullable VolumeInfo findEmulatedForPrivate(VolumeInfo privateVol) {
- return findVolumeById(privateVol.getId().replace("private", "emulated"));
+ if (privateVol != null) {
+ return findVolumeById(privateVol.getId().replace("private", "emulated"));
+ } else {
+ return null;
+ }
}
/** {@hide} */