Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 789a8fc7 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Storage API polishing.

Based on API council feedback, switch to using real UUID objects
instead of Strings.  Since UUID is a general-purpose utility class
that will be passed around quite a bit, add it to Parcel and Bundle.

Define well-known namespaced UUID values for "default" and "primary
physical" storage devices, which will let us annotate a bunch of
things with @NonNull.

Define new extras for MANAGE_STORAGE intent that apps can use to
signal where and how much space they'd like the user to free up.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37325923, 35812899, 35806020
Change-Id: I8421b126d680f69141a361c1e77223fe2bf4a325
parent d8837b6f
Loading
Loading
Loading
Loading
+19 −11
Original line number Diff line number Diff line
@@ -6994,12 +6994,12 @@ package android.app.usage {
  }
  public class StorageStatsManager {
    method public long getFreeBytes(java.lang.String);
    method public long getTotalBytes(java.lang.String);
    method public android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.lang.String, android.os.UserHandle);
    method public android.app.usage.StorageStats queryStatsForPackage(java.lang.String, java.lang.String, android.os.UserHandle);
    method public android.app.usage.StorageStats queryStatsForUid(java.lang.String, int);
    method public android.app.usage.StorageStats queryStatsForUser(java.lang.String, android.os.UserHandle);
    method public long getFreeBytes(java.util.UUID) throws java.io.IOException;
    method public long getTotalBytes(java.util.UUID) throws java.io.IOException;
    method public android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.util.UUID, android.os.UserHandle) throws java.io.IOException;
    method public android.app.usage.StorageStats queryStatsForPackage(java.util.UUID, java.lang.String, android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
    method public android.app.usage.StorageStats queryStatsForUid(java.util.UUID, int) throws java.io.IOException;
    method public android.app.usage.StorageStats queryStatsForUser(java.util.UUID, android.os.UserHandle) throws java.io.IOException;
  }
  public final class UsageEvents implements android.os.Parcelable {
@@ -10217,12 +10217,12 @@ package android.content.pm {
    field public java.lang.String[] splitNames;
    field public java.lang.String[] splitPublicSourceDirs;
    field public java.lang.String[] splitSourceDirs;
    field public java.util.UUID storageUuid;
    field public int targetSdkVersion;
    field public java.lang.String taskAffinity;
    field public int theme;
    field public int uiOptions;
    field public int uid;
    field public java.lang.String volumeUuid;
  }
  public static class ApplicationInfo.DisplayNameComparator implements java.util.Comparator {
@@ -30801,6 +30801,7 @@ package android.os {
    method public android.util.SizeF getSizeF(java.lang.String);
    method public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
    method public java.util.ArrayList<java.lang.String> getStringArrayList(java.lang.String);
    method public java.util.UUID getUuid(java.lang.String);
    method public boolean hasFileDescriptors();
    method public void putAll(android.os.Bundle);
    method public void putBinder(java.lang.String, android.os.IBinder);
@@ -30825,6 +30826,7 @@ package android.os {
    method public void putSizeF(java.lang.String, android.util.SizeF);
    method public void putSparseParcelableArray(java.lang.String, android.util.SparseArray<? extends android.os.Parcelable>);
    method public void putStringArrayList(java.lang.String, java.util.ArrayList<java.lang.String>);
    method public void putUuid(java.lang.String, java.util.UUID);
    method public void readFromParcel(android.os.Parcel);
    method public void setClassLoader(java.lang.ClassLoader);
    method public void writeToParcel(android.os.Parcel, int);
@@ -31354,6 +31356,7 @@ package android.os {
    method public final <T> void readTypedArray(T[], android.os.Parcelable.Creator<T>);
    method public final <T> void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
    method public final <T> T readTypedObject(android.os.Parcelable.Creator<T>);
    method public final java.util.UUID readUuid();
    method public final java.lang.Object readValue(java.lang.ClassLoader);
    method public final void recycle();
    method public final void setDataCapacity(int);
@@ -31399,6 +31402,7 @@ package android.os {
    method public final <T extends android.os.Parcelable> void writeTypedArray(T[], int);
    method public final <T extends android.os.Parcelable> void writeTypedList(java.util.List<T>);
    method public final <T extends android.os.Parcelable> void writeTypedObject(T, int);
    method public final void writeUuid(java.util.UUID);
    method public final void writeValue(java.lang.Object);
    field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
  }
@@ -32029,15 +32033,16 @@ package android.os.storage {
  }
  public class StorageManager {
    method public void allocateBytes(java.io.File, long, int) throws java.io.IOException;
    method public void allocateBytes(java.util.UUID, long, int) throws java.io.IOException;
    method public void allocateBytes(java.io.FileDescriptor, long, int) throws java.io.IOException;
    method public long getAllocatableBytes(java.io.File, int) throws java.io.IOException;
    method public long getCacheQuotaBytes(java.io.File);
    method public long getCacheSizeBytes(java.io.File);
    method public long getAllocatableBytes(java.util.UUID, int) throws java.io.IOException;
    method public long getCacheQuotaBytes(java.util.UUID) throws java.io.IOException;
    method public long getCacheSizeBytes(java.util.UUID) throws java.io.IOException;
    method public java.lang.String getMountedObbPath(java.lang.String);
    method public android.os.storage.StorageVolume getPrimaryStorageVolume();
    method public android.os.storage.StorageVolume getStorageVolume(java.io.File);
    method public java.util.List<android.os.storage.StorageVolume> getStorageVolumes();
    method public java.util.UUID getUuidForPath(java.io.File) throws java.io.IOException;
    method public boolean isCacheBehaviorGroup(java.io.File) throws java.io.IOException;
    method public boolean isCacheBehaviorTombstone(java.io.File) throws java.io.IOException;
    method public boolean isEncrypted(java.io.File);
@@ -32049,7 +32054,10 @@ package android.os.storage {
    method public void setCacheBehaviorTombstone(java.io.File, boolean) throws java.io.IOException;
    method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener);
    field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
    field public static final java.lang.String EXTRA_REQUESTED_BYTES = "android.os.storage.extra.REQUESTED_BYTES";
    field public static final java.lang.String EXTRA_UUID = "android.os.storage.extra.UUID";
    field public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
    field public static final java.util.UUID UUID_DEFAULT;
  }
  public final class StorageVolume implements android.os.Parcelable {
+26 −4
Original line number Diff line number Diff line
@@ -26,6 +26,20 @@ package android.app.admin {

}

package android.app.usage {

  public class StorageStatsManager {
    method public deprecated long getFreeBytes(java.lang.String) throws java.io.IOException;
    method public deprecated long getTotalBytes(java.lang.String) throws java.io.IOException;
    method public deprecated boolean isQuotaSupported(java.lang.String);
    method public deprecated android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.lang.String, android.os.UserHandle) throws java.io.IOException;
    method public deprecated android.app.usage.StorageStats queryStatsForPackage(java.lang.String, java.lang.String, android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
    method public deprecated android.app.usage.StorageStats queryStatsForUid(java.lang.String, int) throws java.io.IOException;
    method public deprecated android.app.usage.StorageStats queryStatsForUser(java.lang.String, android.os.UserHandle) throws java.io.IOException;
  }

}

package android.content {

  public abstract class Context {
@@ -41,6 +55,10 @@ package android.content {

package android.content.pm {

  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
    field public deprecated java.lang.String volumeUuid;
  }

  public class ComponentInfo extends android.content.pm.PackageItemInfo {
    field public deprecated boolean encryptionAware;
  }
@@ -184,10 +202,14 @@ package android.os {
package android.os.storage {

  public class StorageManager {
    method public deprecated long getCacheQuotaBytes();
    method public deprecated long getCacheSizeBytes();
    method public deprecated long getExternalCacheQuotaBytes();
    method public deprecated long getExternalCacheSizeBytes();
    method public deprecated void allocateBytes(java.io.File, long, int) throws java.io.IOException;
    method public deprecated long getAllocatableBytes(java.io.File, int) throws java.io.IOException;
    method public deprecated long getCacheQuotaBytes(java.io.File) throws java.io.IOException;
    method public deprecated long getCacheQuotaBytes() throws java.io.IOException;
    method public deprecated long getCacheSizeBytes(java.io.File) throws java.io.IOException;
    method public deprecated long getCacheSizeBytes() throws java.io.IOException;
    method public deprecated long getExternalCacheQuotaBytes() throws java.io.IOException;
    method public deprecated long getExternalCacheSizeBytes() throws java.io.IOException;
    method public android.os.storage.StorageVolume getPrimaryVolume();
    method public android.os.storage.StorageVolume[] getVolumeList();
    method public deprecated boolean isCacheBehaviorAtomic(java.io.File) throws java.io.IOException;
+19 −11
Original line number Diff line number Diff line
@@ -7457,12 +7457,12 @@ package android.app.usage {
  }
  public class StorageStatsManager {
    method public long getFreeBytes(java.lang.String);
    method public long getTotalBytes(java.lang.String);
    method public android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.lang.String, android.os.UserHandle);
    method public android.app.usage.StorageStats queryStatsForPackage(java.lang.String, java.lang.String, android.os.UserHandle);
    method public android.app.usage.StorageStats queryStatsForUid(java.lang.String, int);
    method public android.app.usage.StorageStats queryStatsForUser(java.lang.String, android.os.UserHandle);
    method public long getFreeBytes(java.util.UUID) throws java.io.IOException;
    method public long getTotalBytes(java.util.UUID) throws java.io.IOException;
    method public android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.util.UUID, android.os.UserHandle) throws java.io.IOException;
    method public android.app.usage.StorageStats queryStatsForPackage(java.util.UUID, java.lang.String, android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
    method public android.app.usage.StorageStats queryStatsForUid(java.util.UUID, int) throws java.io.IOException;
    method public android.app.usage.StorageStats queryStatsForUser(java.util.UUID, android.os.UserHandle) throws java.io.IOException;
  }
  public final class UsageEvents implements android.os.Parcelable {
@@ -10790,12 +10790,12 @@ package android.content.pm {
    field public java.lang.String[] splitNames;
    field public java.lang.String[] splitPublicSourceDirs;
    field public java.lang.String[] splitSourceDirs;
    field public java.util.UUID storageUuid;
    field public int targetSdkVersion;
    field public java.lang.String taskAffinity;
    field public int theme;
    field public int uiOptions;
    field public int uid;
    field public java.lang.String volumeUuid;
  }
  public static class ApplicationInfo.DisplayNameComparator implements java.util.Comparator {
@@ -33557,6 +33557,7 @@ package android.os {
    method public android.util.SizeF getSizeF(java.lang.String);
    method public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
    method public java.util.ArrayList<java.lang.String> getStringArrayList(java.lang.String);
    method public java.util.UUID getUuid(java.lang.String);
    method public boolean hasFileDescriptors();
    method public void putAll(android.os.Bundle);
    method public void putBinder(java.lang.String, android.os.IBinder);
@@ -33581,6 +33582,7 @@ package android.os {
    method public void putSizeF(java.lang.String, android.util.SizeF);
    method public void putSparseParcelableArray(java.lang.String, android.util.SparseArray<? extends android.os.Parcelable>);
    method public void putStringArrayList(java.lang.String, java.util.ArrayList<java.lang.String>);
    method public void putUuid(java.lang.String, java.util.UUID);
    method public void readFromParcel(android.os.Parcel);
    method public void setClassLoader(java.lang.ClassLoader);
    method public void writeToParcel(android.os.Parcel, int);
@@ -34140,6 +34142,7 @@ package android.os {
    method public final <T> void readTypedArray(T[], android.os.Parcelable.Creator<T>);
    method public final <T> void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
    method public final <T> T readTypedObject(android.os.Parcelable.Creator<T>);
    method public final java.util.UUID readUuid();
    method public final java.lang.Object readValue(java.lang.ClassLoader);
    method public final void recycle();
    method public final void setDataCapacity(int);
@@ -34185,6 +34188,7 @@ package android.os {
    method public final <T extends android.os.Parcelable> void writeTypedArray(T[], int);
    method public final <T extends android.os.Parcelable> void writeTypedList(java.util.List<T>);
    method public final <T extends android.os.Parcelable> void writeTypedObject(T, int);
    method public final void writeUuid(java.util.UUID);
    method public final void writeValue(java.lang.Object);
    field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
  }
@@ -34920,15 +34924,16 @@ package android.os.storage {
  }
  public class StorageManager {
    method public void allocateBytes(java.io.File, long, int) throws java.io.IOException;
    method public void allocateBytes(java.util.UUID, long, int) throws java.io.IOException;
    method public void allocateBytes(java.io.FileDescriptor, long, int) throws java.io.IOException;
    method public long getAllocatableBytes(java.io.File, int) throws java.io.IOException;
    method public long getCacheQuotaBytes(java.io.File);
    method public long getCacheSizeBytes(java.io.File);
    method public long getAllocatableBytes(java.util.UUID, int) throws java.io.IOException;
    method public long getCacheQuotaBytes(java.util.UUID) throws java.io.IOException;
    method public long getCacheSizeBytes(java.util.UUID) throws java.io.IOException;
    method public java.lang.String getMountedObbPath(java.lang.String);
    method public android.os.storage.StorageVolume getPrimaryStorageVolume();
    method public android.os.storage.StorageVolume getStorageVolume(java.io.File);
    method public java.util.List<android.os.storage.StorageVolume> getStorageVolumes();
    method public java.util.UUID getUuidForPath(java.io.File) throws java.io.IOException;
    method public boolean isCacheBehaviorGroup(java.io.File) throws java.io.IOException;
    method public boolean isCacheBehaviorTombstone(java.io.File) throws java.io.IOException;
    method public boolean isEncrypted(java.io.File);
@@ -34940,7 +34945,10 @@ package android.os.storage {
    method public void setCacheBehaviorTombstone(java.io.File, boolean) throws java.io.IOException;
    method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener);
    field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
    field public static final java.lang.String EXTRA_REQUESTED_BYTES = "android.os.storage.extra.REQUESTED_BYTES";
    field public static final java.lang.String EXTRA_UUID = "android.os.storage.extra.UUID";
    field public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
    field public static final java.util.UUID UUID_DEFAULT;
  }
  public final class StorageVolume implements android.os.Parcelable {
+26 −4
Original line number Diff line number Diff line
@@ -24,6 +24,20 @@ package android.app.admin {

}

package android.app.usage {

  public class StorageStatsManager {
    method public deprecated long getFreeBytes(java.lang.String) throws java.io.IOException;
    method public deprecated long getTotalBytes(java.lang.String) throws java.io.IOException;
    method public deprecated boolean isQuotaSupported(java.lang.String);
    method public deprecated android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.lang.String, android.os.UserHandle) throws java.io.IOException;
    method public deprecated android.app.usage.StorageStats queryStatsForPackage(java.lang.String, java.lang.String, android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
    method public deprecated android.app.usage.StorageStats queryStatsForUid(java.lang.String, int) throws java.io.IOException;
    method public deprecated android.app.usage.StorageStats queryStatsForUser(java.lang.String, android.os.UserHandle) throws java.io.IOException;
  }

}

package android.content {

  public abstract class Context {
@@ -39,6 +53,10 @@ package android.content {

package android.content.pm {

  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
    field public deprecated java.lang.String volumeUuid;
  }

  public class ComponentInfo extends android.content.pm.PackageItemInfo {
    field public deprecated boolean encryptionAware;
  }
@@ -178,10 +196,14 @@ package android.os {
package android.os.storage {

  public class StorageManager {
    method public deprecated long getCacheQuotaBytes();
    method public deprecated long getCacheSizeBytes();
    method public deprecated long getExternalCacheQuotaBytes();
    method public deprecated long getExternalCacheSizeBytes();
    method public deprecated void allocateBytes(java.io.File, long, int) throws java.io.IOException;
    method public deprecated long getAllocatableBytes(java.io.File, int) throws java.io.IOException;
    method public deprecated long getCacheQuotaBytes(java.io.File) throws java.io.IOException;
    method public deprecated long getCacheQuotaBytes() throws java.io.IOException;
    method public deprecated long getCacheSizeBytes(java.io.File) throws java.io.IOException;
    method public deprecated long getCacheSizeBytes() throws java.io.IOException;
    method public deprecated long getExternalCacheQuotaBytes() throws java.io.IOException;
    method public deprecated long getExternalCacheSizeBytes() throws java.io.IOException;
    method public android.os.storage.StorageVolume getPrimaryVolume();
    method public android.os.storage.StorageVolume[] getVolumeList();
    method public deprecated boolean isCacheBehaviorAtomic(java.io.File) throws java.io.IOException;
+20 −12
Original line number Diff line number Diff line
@@ -7024,13 +7024,13 @@ package android.app.usage {
  }
  public class StorageStatsManager {
    method public long getFreeBytes(java.lang.String);
    method public long getTotalBytes(java.lang.String);
    method public boolean isQuotaSupported(java.lang.String);
    method public android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.lang.String, android.os.UserHandle);
    method public android.app.usage.StorageStats queryStatsForPackage(java.lang.String, java.lang.String, android.os.UserHandle);
    method public android.app.usage.StorageStats queryStatsForUid(java.lang.String, int);
    method public android.app.usage.StorageStats queryStatsForUser(java.lang.String, android.os.UserHandle);
    method public long getFreeBytes(java.util.UUID) throws java.io.IOException;
    method public long getTotalBytes(java.util.UUID) throws java.io.IOException;
    method public boolean isQuotaSupported(java.util.UUID);
    method public android.app.usage.ExternalStorageStats queryExternalStatsForUser(java.util.UUID, android.os.UserHandle) throws java.io.IOException;
    method public android.app.usage.StorageStats queryStatsForPackage(java.util.UUID, java.lang.String, android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
    method public android.app.usage.StorageStats queryStatsForUid(java.util.UUID, int) throws java.io.IOException;
    method public android.app.usage.StorageStats queryStatsForUser(java.util.UUID, android.os.UserHandle) throws java.io.IOException;
  }
  public final class UsageEvents implements android.os.Parcelable {
@@ -10253,12 +10253,12 @@ package android.content.pm {
    field public java.lang.String[] splitNames;
    field public java.lang.String[] splitPublicSourceDirs;
    field public java.lang.String[] splitSourceDirs;
    field public java.util.UUID storageUuid;
    field public int targetSdkVersion;
    field public java.lang.String taskAffinity;
    field public int theme;
    field public int uiOptions;
    field public int uid;
    field public java.lang.String volumeUuid;
  }
  public static class ApplicationInfo.DisplayNameComparator implements java.util.Comparator {
@@ -30908,6 +30908,7 @@ package android.os {
    method public android.util.SizeF getSizeF(java.lang.String);
    method public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
    method public java.util.ArrayList<java.lang.String> getStringArrayList(java.lang.String);
    method public java.util.UUID getUuid(java.lang.String);
    method public boolean hasFileDescriptors();
    method public void putAll(android.os.Bundle);
    method public void putBinder(java.lang.String, android.os.IBinder);
@@ -30932,6 +30933,7 @@ package android.os {
    method public void putSizeF(java.lang.String, android.util.SizeF);
    method public void putSparseParcelableArray(java.lang.String, android.util.SparseArray<? extends android.os.Parcelable>);
    method public void putStringArrayList(java.lang.String, java.util.ArrayList<java.lang.String>);
    method public void putUuid(java.lang.String, java.util.UUID);
    method public void readFromParcel(android.os.Parcel);
    method public void setClassLoader(java.lang.ClassLoader);
    method public void writeToParcel(android.os.Parcel, int);
@@ -31482,6 +31484,7 @@ package android.os {
    method public final <T> void readTypedArray(T[], android.os.Parcelable.Creator<T>);
    method public final <T> void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
    method public final <T> T readTypedObject(android.os.Parcelable.Creator<T>);
    method public final java.util.UUID readUuid();
    method public final java.lang.Object readValue(java.lang.ClassLoader);
    method public final void recycle();
    method public final void setDataCapacity(int);
@@ -31527,6 +31530,7 @@ package android.os {
    method public final <T extends android.os.Parcelable> void writeTypedArray(T[], int);
    method public final <T extends android.os.Parcelable> void writeTypedList(java.util.List<T>);
    method public final <T extends android.os.Parcelable> void writeTypedObject(T, int);
    method public final void writeUuid(java.util.UUID);
    method public final void writeValue(java.lang.Object);
    field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
  }
@@ -32161,15 +32165,16 @@ package android.os.storage {
  }
  public class StorageManager {
    method public void allocateBytes(java.io.File, long, int) throws java.io.IOException;
    method public void allocateBytes(java.util.UUID, long, int) throws java.io.IOException;
    method public void allocateBytes(java.io.FileDescriptor, long, int) throws java.io.IOException;
    method public long getAllocatableBytes(java.io.File, int) throws java.io.IOException;
    method public long getCacheQuotaBytes(java.io.File);
    method public long getCacheSizeBytes(java.io.File);
    method public long getAllocatableBytes(java.util.UUID, int) throws java.io.IOException;
    method public long getCacheQuotaBytes(java.util.UUID) throws java.io.IOException;
    method public long getCacheSizeBytes(java.util.UUID) throws java.io.IOException;
    method public java.lang.String getMountedObbPath(java.lang.String);
    method public android.os.storage.StorageVolume getPrimaryStorageVolume();
    method public android.os.storage.StorageVolume getStorageVolume(java.io.File);
    method public java.util.List<android.os.storage.StorageVolume> getStorageVolumes();
    method public java.util.UUID getUuidForPath(java.io.File) throws java.io.IOException;
    method public boolean isCacheBehaviorGroup(java.io.File) throws java.io.IOException;
    method public boolean isCacheBehaviorTombstone(java.io.File) throws java.io.IOException;
    method public boolean isEncrypted(java.io.File);
@@ -32181,7 +32186,10 @@ package android.os.storage {
    method public void setCacheBehaviorTombstone(java.io.File, boolean) throws java.io.IOException;
    method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener);
    field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
    field public static final java.lang.String EXTRA_REQUESTED_BYTES = "android.os.storage.extra.REQUESTED_BYTES";
    field public static final java.lang.String EXTRA_UUID = "android.os.storage.extra.UUID";
    field public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
    field public static final java.util.UUID UUID_DEFAULT;
  }
  public final class StorageVolume implements android.os.Parcelable {
Loading