diff options
| -rw-r--r-- | core/java/android/os/storage/StorageManager.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 27e391423d21..3e60d5119fb9 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -16,6 +16,8 @@ package android.os.storage; +import static android.content.ContentResolver.DEPRECATE_DATA_PREFIX; + import android.annotation.BytesLong; import android.annotation.IntDef; import android.annotation.NonNull; @@ -30,6 +32,7 @@ import android.annotation.UnsupportedAppUsage; import android.annotation.WorkerThread; import android.app.Activity; import android.app.ActivityThread; +import android.app.AppGlobals; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; @@ -1139,6 +1142,12 @@ public class StorageManager { if (file == null) { return null; } + final String path = file.getAbsolutePath(); + if (path.startsWith(DEPRECATE_DATA_PREFIX)) { + final Uri uri = ContentResolver.translateDeprecatedDataPath(path); + return AppGlobals.getInitialApplication().getSystemService(StorageManager.class) + .getStorageVolume(uri); + } try { file = file.getCanonicalFile(); } catch (IOException ignored) { |