History log of /frameworks/base/core/java/android/os/storage/StorageVolume.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2ac876945bfb388fed8b796c6d8c8e7f2e97f0d4 30-Mar-2016 Felipe Leme <felipeal@google.com> Minor tweaks on Scoped Directory Access:

- Only allow entire directory access on non-primary volumes.
- Do not display primary storage label on scoped access.

BUG: 27743842
BUG: 27676858
Change-Id: I9884fb1e2df3534fceebc5d5bef44adfb758724c
/frameworks/base/core/java/android/os/storage/StorageVolume.java
c02bfae73e139f2a1c56cc6b051bfc7877b8cf1d 27-Mar-2016 Jeff Sharkey <jsharkey@android.com> Include "invisible" volumes in new storage API.

The purpose of the new StorageVolume API is to grant access to
volumes that aren't typically "visible" to a developer, so include
them in the returned results.

Also return the real mounted state instead of augmenting based on
the caller's storage permissions. Clean up API naming slightly and
return as List.

Bug: 27615770
Change-Id: Ida921a4b91e5af81e418e76f672d9108f45a9781
/frameworks/base/core/java/android/os/storage/StorageVolume.java
541af9b119b7312aaa4545a9c103e7ed1365345b 24-Mar-2016 Felipe Leme <felipeal@google.com> Removed obsolete @NonNull.

BUG: 27676858
Change-Id: Ic3916769c1fa9d557294bcdbbc94e00c68376a5d
/frameworks/base/core/java/android/os/storage/StorageVolume.java
db892b84e513f174d29f67d293435407a0ac7c6c 18-Mar-2016 Felipe Leme <felipeal@google.com> Allow Scoped Directory Access on whole volume.

There are some scenarios where an app needs access to the whole SD Card,
not subdirectories. For example, user might have a SDCard with
directories like vacation_pictures (instead of Pictures/vacation);
another example is a file management app.

BUG: 27676858
Change-Id: I20ef713de7e4dfa7e2d7d07bab11898af186d673
/frameworks/base/core/java/android/os/storage/StorageVolume.java
50d1c044b5ce4b6fef532dc6e083cef903f554b2 01-Mar-2016 Jeff Sharkey <jsharkey@android.com> Parcelable classes should always be final.

Also hide ConnectivityMetricsEvent which isn't being used yet.

Bug: 27415331
Change-Id: Iacdccddda504f3f669185f807b4f35b8dc2b0212
/frameworks/base/core/java/android/os/storage/StorageVolume.java
53fcc756d06ed382e7b02b266631f7848d1b9c4f 17-Feb-2016 Felipe Leme <felipeal@google.com> Fixed typo on Storage Access Framework.

BUG: 26742218
Change-Id: I9b695ebe2176f186fc63b20f624e40dd9e257bc3
/frameworks/base/core/java/android/os/storage/StorageVolume.java
34a9d5271915fb82c22811e6d17691a34b6c52c1 17-Feb-2016 Felipe Leme <felipeal@google.com> Removed Intent.OPEN_EXTERNAL_DIRECTORY.

Such intent is now encapsulated by StorageVolume.createAccessIntent().

BUG: 26742218

Change-Id: I2e2bd71126ecd74981f77b0af7d069f51aaece74
/frameworks/base/core/java/android/os/storage/StorageVolume.java
04a5d40cf35fb2c2fca2c1bfd573e5916d804ef6 09-Feb-2016 Felipe Leme <felipeal@google.com> Initial implementation of StorageManager.getVolumesList().

This change makes StorageManager.getVolumesList(),
StorageManager.getPrimaryVolume(), and StorageVolume public and adds a
buildAccessIntent() in the latter to automatically generate the
ACTION_OPEN_EXTERNAL_DIRECTORY intent, but it doesn't change the
ACTION_OPEN_EXTERNAL_DIRECTORY implementation yet (i.e., it still takes an URI with the physical path of the directory, instead of a StorageVolume and
a directorny name).

BUG: 26742218

Change-Id: I36c59c42b6579e125ec7f03c3af141260875a491
/frameworks/base/core/java/android/os/storage/StorageVolume.java
5af1835d678031d4a6615edc96ba58c82304b31d 08-Jul-2015 Jeff Sharkey <jsharkey@android.com> Generate stable MTP storage IDs.

It ends up that MediaProvider is persisting MTP storage IDs in its
database, so we need to make sure we generate stable IDs over time,
otherwise we can end up looking into a black hole.

Bug: 22256092
Change-Id: I6a75c239aac1b71fd5f6df0df69b24971079a086
/frameworks/base/core/java/android/os/storage/StorageVolume.java
1b8ef7e3165ff9aa52a4905dafc8d0f83e7403f9 04-Apr-2015 Jeff Sharkey <jsharkey@android.com> Parcelable objects for Disk/Volume.

Will eventually be used by SystemUI and/or Settings.

Also fix SettingsProvider NPE.

Bug: 19993667, 19909433
Change-Id: Ie326849ac5f43ee35f728d9cc0e332b72292db70
/frameworks/base/core/java/android/os/storage/StorageVolume.java
4887789e44cdb16b042a35e8ec03983213e88ac6 18-Mar-2015 Jeff Sharkey <jsharkey@android.com> Progress towards dynamic storage support.

Storage devices are no longer hard-coded, and instead bubble up from
whatever Disk and VolumeBase that vold uncovered, turning into
sibling Java objects in MountService. We now treat vold events as
the source-of-truth for state, and synchronize our state by asking
vold to "reset" whenever we reconnect.

We've now moved to a model where all storage devices are mounted in
the root mount namespace (user boundaries protected with GIDs), so
we no longer need app-to-vold path translation. This also means that
zygote only needs to bind mount the user-specific /mnt/user/n/ path
onto /storage/self/ to make legacy paths like /sdcard work. This
grealy simplifies a lot of system code.

Many parts of the platform depend on a primary storage device always
being present, so we hack together a stub StorageVolume when vold
doesn't have a volume ready yet.

StorageVolume isn't really a volume anymore; it's the user-specific
view onto a volume, so MountService now filters and builds them
based on the calling user. StorageVolume is now immutable, making
it easier to reason about.

Environment now builds all of its paths dynamically based on active
volumes. Adds utility methods to turn int types and flags into
user-readable strings for debugging purposes.

Remove UMS sharing support for now, since no current devices support
it; MTP is the recommended solution going forward because it offers
better multi-user support.

Simplify unmount logic, since vold will now gladly trigger EJECTING
broadcast and kill stubborn processes.

Bug: 19993667
Change-Id: I9842280e61974c91bae15d764e386969aedcd338
/frameworks/base/core/java/android/os/storage/StorageVolume.java
17d5c1b18132e82abb1b828dcc39ca17cff35dd3 06-Dec-2013 Tom Marshall <tdm.code@gmail.com> Parse UUID string with Long.parseLong

Integer.parseInt throws an NPE for values greater than 0x7fffffff.
/frameworks/base/core/java/android/os/storage/StorageVolume.java
1f706c6cd1cb841adadc2babc57a34e5728983ec 17-Oct-2013 Jeff Sharkey <jsharkey@android.com> Include external storage devices in DocumentsUI.

Include volume UUID in generated document IDs to uniquely identify
volumes over time. Show volume label to users. Watch for mount
changes to update available roots.

Bug: 11175082
Change-Id: Ia151bde768587468efde0c1d97a740b5353d1582
/frameworks/base/core/java/android/os/storage/StorageVolume.java
5aca2b8dc4f4ff2d466a64587d06666c7bbd9749 17-Oct-2013 Jeff Sharkey <jsharkey@android.com> Plumb through physical device UUID and label.

vold now parse out UUID and label for inserted physical devices,
and reports them to framework. Add these to hidden StorageVolume
class for use by DocumentsUI and MediaProvider.

Remove last JNI method in FileUtils!

Bug: 11175082
Change-Id: I1cfcd1ade61767b103f693319ea2600008ee2e3c
/frameworks/base/core/java/android/os/storage/StorageVolume.java
b049e212ab7fe8967893c202efcb30fecfdb82fb 08-Sep-2012 Jeff Sharkey <jsharkey@android.com> Include user identifier in external storage paths.

When building external storage paths, always include user in path
to enable cross-user paths and aid debugging.

Each Zygote process continues to only have access to the appropriate
user-specific emulated storage through bind mounts. A second set of
mounts continue supporting legacy /sdcard-style paths. For example,
a process running as owner has these mount points:

/storage/emulated_legacy
/storage/emulated_legacy/Android/obb
/storage/emulated/0
/storage/emulated/obb

Since Environment is created before Zygote forks, we need to update
its internal paths after each process launches.

Bug: 7131382
Change-Id: I6f8c6971f2a8edfb415c14cb4ed05ff97e587a21
/frameworks/base/core/java/android/os/storage/StorageVolume.java
9545dc020ea11649d70dcbe911a8e82a3254a4ea 07-Sep-2012 Jeff Sharkey <jsharkey@android.com> Include primary flag in StorageVolume.

Bug: 7003520
Change-Id: Iaae2ae22253820c954c51e0199c31087bc825f3f
/frameworks/base/core/java/android/os/storage/StorageVolume.java
13fe2a5330a5df662d7b1b136e7b08fe34c94a42 19-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)

- use an ID instead of a String for StorageVolume description
- use this ID for getting the correct localized version of the description string

Change-Id: I30f3080fce2c889be38bfdf9f5121dffcf8a99e8
/frameworks/base/core/java/android/os/storage/StorageVolume.java
4161f9b30329e558868bb2b16c3e83c0b9cd26fd 13-Jul-2011 Kenny Root <kroot@google.com> Add StorageVolume list to MountService dump

Change-Id: If2be6e420d9671032d2e7a66c71a6733e6e48ac8
/frameworks/base/core/java/android/os/storage/StorageVolume.java
7a59dd2ce33b46cbc73eef964ddb4272ea1da8d1 11-Jul-2011 Mike Lockwood <lockwood@android.com> MTP: Return error if user tries to copy a file >= 4GB to a FAT32 file system

Bug: 4561836

Change-Id: I2bffb93b032038f6c220c24c752ccd7ca66c23a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/os/storage/StorageVolume.java
8e8b280bd19fa6cb69bb19e1d90cf03a47ba2d72 07-Jun-2011 Mike Lockwood <lockwood@android.com> StorageVolume: Add allowMassStorage flag

Change-Id: I9d19e635bb06e50068d7e4e6919322bd5bb2e00f
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/os/storage/StorageVolume.java
37051cdd8624c4821bb68169be427061c48ad837 26-May-2011 Gilles Debunne <debunne@google.com> ExternalStorageFormatter takes an optional StorageVolume target.

Change-Id: Ic85689659dbf49a7fcc1b7aaf25e4a94e62848b9
/frameworks/base/core/java/android/os/storage/StorageVolume.java
a5250c93928e256738125b265e10c96c3575597e 23-May-2011 Mike Lockwood <lockwood@android.com> MountService: Add StorageVolume as extra in storage related broadcasts.

Change-Id: I8e1a21ae233ba9812e58b363b59a66b260a01cbf
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/os/storage/StorageVolume.java
fbfe55512596fd00c1fb51caa851e17dae60fd43 17-May-2011 Mike Lockwood <lockwood@android.com> StorageVolume: Add getStorageId() accessor

This ID is used for MTP as well as per volume querying in the media provider.

Change-Id: Ic4fc986d972bd477730643f7e9450c390c0b3a4b
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/os/storage/StorageVolume.java
2f6a3885533a52758c2cd4f81f6123a712be8ae6 10-May-2011 Mike Lockwood <lockwood@android.com> StorageManager: Clean up and generalize storage configuration resources

Replace config_emulateExternalStorage, config_externalStorageRemovable,
config_externalStoragePaths, config_externalStorageDescriptions and
config_mtpReserveSpaceMegabytes resources with an XML resource file
to describe the external storages that are available.

Add android.os.storage.StorageVolume class

StorageManager.getVolumeList() now returns an array of StorageVolume

Change-Id: I06ce1451ebf08b82f0ee825d56d59ebf72eacd3d
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/os/storage/StorageVolume.java