update() is an expensive operation and should only be called
once under normal circumstances (it still needs to be called due to external changes). In particular, it should not be called again on orientation changes.
The first approach to solve the orientation change caused the volume title to not be shown when the screen changed on multi window environments; the fix for title issue caused the update to be called again on configuration changes.
This change properly fixes both issues by removing the onAttach() / onDetach() methods and using a clearer variable (mNeedsUpdate) to avoid future regressions.
BUG: 24508289
BUG: 27989238
Change-Id: I140f5a541cda293f1c476d3b80a5bc8918e18b08
This view provides an interface which allows users to clear out
apps and other data which they may no longer need to alleviate
storage pressure. This implementation gives the bits to uninstall
apps which have not been used within the last 60 days from the
system.
A future patch will add in the ability to extend the deletion helper
view to have additional clearing types.
Change-Id: I65cba54ca247d52227e67e2fa9b84fe63fb8ab34
(cherry picked from commit a671272bf6)
Added code to loop over all the child profiles and delete application
cache files for them, when clearing cache from Settings->Storage
Bug: b/25338468
Change-Id: I87dba56218402be44b71a009e93b2e93f48a574c
Without this change, there is a confusing option to migrate a public
SD card volume to internal storage, which will always fail if the
user picks it, since it's not supported under the hood.
Bug: 22966671
Change-Id: Id7cad07eea6583aace398a6d64383bf7d884ae9e
Refresh UI after clearing cache. Hide user header on single-user
devices to match UX spec. Refine adopted storage warning threshold
based on experiments with various devices.
For example, a typical internal storage device runs the benchmark
in about 600ms. Very fast SD cards take about 1700ms, moderate speed
SD cards take about 3800ms, and slow SD cards take about 6800ms.
Bug: 22345902, 22487370
Change-Id: I6066f3b78dbb32277ae94b79e325500724f83c7e
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