It is legitimate for StorageMeasurement.measureExactStorage to return without any user keys
added to the returned MeasurementDetails, when the following is true:
mVolume == null || !mVolume.isMountedReadable()
Bug: 22394495
Change-Id: Ie40bd468a487208d98dc56aae41fdad7098f41a5
This is achieved by iterating through the pool of StorageItemPreferences up
to the index of the last shown one, instead of iterating through the
preferences of the screen which may miss preferences inside other top-level
preference groups.
Bug: 22353561
Change-Id: I2293a7949a5becfb506d6b7965f8db2f11845756
Otherwise we start measuring without shared storage in place, meaning
we always find sizes of 0.
Bug: 22231501
Change-Id: I760064684e76e5ef5cce351aee1d81a971f4d4ea
When adding preferences to public/private details screens, always
add in-order when rebuilding. Hacky fix for broken summary text and
eject image color tints.
Fix crash when device rotated during partitioning. Set correct
accessibility titles in all wizard steps.
Bug: 22098044, 21376962
Change-Id: I68aff96cba497a91919cad8865722bc9cef7eaa7
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
Show a helpful dialog when a volume is unmounted or unmountable, or
when disk is unsupported. Add both missing private volumes and
unsupported disks in the storage list. Dialog to confirm when
forgetting private volume.
Finish volume detail activities when the volume becomes unmounted.
Show used space instead of free space to match string. When init'ing
a volume on non-adoptable disk, just format as public.
Bug: 21737573, 21666225, 21737666, 21471429
Change-Id: Id60d5a398e2b7923ebebdc5cfaef33248d8d77bb
Create a new UI for managing USB access control. This UI is implemented
as a transparent popup triggered by a persistent notification.
Delete the old UI for controlling this. It is no longer used.
Bug: 18905620
Change-Id: I54186961414447a9d37f68e946e1c167506170ae
Bring primary storage migration back into the adoption flow, and
provide a path for long-lived notifications to re-launch into the
Settings app. Also provide option to initiate migration if skipped
during wizard. For now, estmiate migration size and time based on
a Class 10 card.
Follow other callback refactoring.
Bug: 19993667
Change-Id: Ia0c28eb114bc6c8066c17b3142ed74f962140c91
Makes it clearer if we're checking for readable/writable state,
and puts emulated/private conversion logic in single place.
Bug: 19993667
Change-Id: I953f5c184ca62afc631d855e64cd8a4972320148
Move to using new public accessors on DiskInfo and VolumeInfo.
Persist nickname changes, and remember when user has initialized a
public volume. Also skip the migration part of storage wizard until
it's implemented.
Bug: 19993667
Change-Id: I642fb43afb95380fddd48a1dad438e87b06454da
Also add entry point for SystemUI unmounting, and require permissions
when launching into those flows.
Bug: 19993667
Change-Id: I703d2e5f118848a2e2e96ce1d7f970e5705a288a
Use frameworks/opt/setupwizard/library/ for consistent behavior and
styling on phones and tablets. Implement every step of wizard flow
and connect them together, even though some steps are currently
non-functional. All strings to match UX spec, with some adjustment.
Wizards inherit from helper base class.
New interstitials before unmounting or formatting private storage
to confirm user knows consequences.
Bug: 19993667
Change-Id: I2c774e1718d513805ee8aecfc96d066d4730450c
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