Two benefits:
- "0 B" might be a little confusing for sighted users
- "zero bee" is definitely confusing for TalkBack users
Nonzero storage items will still read as "640 KB" which
should be enough for anyone.
Change-Id: I5c89f7c6382ca14fb91d7d1dd145977f855618ae
Fixes: 27973778
Storage volumes now have headers with larger fonts and progress bars
to show used versus free space. Updated Memory to use new formatting
template, and Data Usage to use consistent display logic.
Allocate a unique color for each private volume, and yell when a
volume is running low on space. Update private volume details to
launch into MediaStore-backed storage backends in a management mode,
and only show detailed items when hosting emulated storage. Show
details dialog about "Other" and user storage items.
Shortcut into single private volume when it's the only device. Add
real eject icon.
Bug: 21756698, 20275574, 21326612
Change-Id: If3ecd1d912d3e709c09d3e4da24f368e04dd3f9d
Top-level storage UI now shows list of all devices, both internal
and adopted/private volumes, and public/shared volumes.
When viewing a private volume, show traditional clustering of data
types, including summary of other users. For adopted volumes, any
actions are tucked away in a menu, since they're not primary. Misc
files browsing is now provided by DocumentsUI.
Teach StorageMeasurement about new private volumes, including
handling emulated volumes stacked above them. When measuring, only
consider apps actually hosted on the current volume UUID.
When viewing a public volume, we default to launching into file
management mode, and offer a simple eject button at the top-level
view. File management mode is offered by new DocumentsUI browse
intent, and a Settings link there redirects back to us for actual
operations like ejecting/formatting. When unmounted, we launch
into our action view.
Actions like ejecting/formatting just show simple toasts for now.
Bug: 19993667
Change-Id: Ie990ef3c01fb3717aaf8c79bfc53aac7edefdcf7
Now that DefaultContainerService has visibility of external storage
for all users, we can measure internal storage in a single pass.
Internal storage measurement now iterates across all known users,
counting both apps and emulated storage usage.
Create MeasurementDetails object with documentation about what is
counted under various device configurations. Generalize to measure
each Environment.DIRECTORY separately, so it can be combined as
needed. General cleanup of how measurements are passed to UI.
Bug: 7003520
Change-Id: Ib89c185296a0c9debdc20beeaa98584d803a84e8
Bring up separate StorageMeasurement sessions bound to other users
on device, and surface their total usage as teal colors. Exclude
app code size when measuring secondary users. Shift preferences to
using keys instead of fragile index ordering.
Bug: 7003520
Change-Id: I214d0b223e53955df71104502596743f049f2027