From ca2954830c017c49523d5e2c7cb5916c76a52375 Mon Sep 17 00:00:00 2001 From: Tony Mantler Date: Fri, 1 May 2015 13:44:01 -0700 Subject: [PATCH] Don't crash in StorageMeasurement if volume isn't mounted Change-Id: I3f5d62c93b0bb95bec358a33e1a4497f1b55f8ad --- .../settingslib/deviceinfo/StorageMeasurement.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/StorageMeasurement.java b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/StorageMeasurement.java index 1cf7248b1151a..c81f22aba2738 100644 --- a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/StorageMeasurement.java +++ b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/StorageMeasurement.java @@ -32,7 +32,6 @@ import android.os.HandlerThread; import android.os.IBinder; import android.os.Looper; import android.os.Message; -import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageVolume; @@ -349,6 +348,11 @@ public class StorageMeasurement { final Message finished = mMeasurementHandler.obtainMessage(MeasurementHandler.MSG_COMPLETED, details); + if (mVolume == null || !mVolume.isMountedReadable()) { + finished.sendToTarget(); + return; + } + if (mSharedVolume != null && mSharedVolume.isMountedReadable()) { final File basePath = mSharedVolume.getPathForUser(currentUser); @@ -375,8 +379,10 @@ public class StorageMeasurement { } final File file = mVolume.getPath(); - details.totalSize = file.getTotalSpace(); - details.availSize = file.getFreeSpace(); + if (file != null) { + details.totalSize = file.getTotalSpace(); + details.availSize = file.getFreeSpace(); + } // Measure all apps hosted on this volume for all users if (mVolume.getType() == VolumeInfo.TYPE_PRIVATE) {