Commit Graph

607 Commits

Author SHA1 Message Date
Jeff Sharkey
77fe8c1e9e Consistent "low storage" behavior.
Fix several bugs related to storage accounting.  Since getDataBytes()
already includes cached data, we need to subtract it to avoid blaming
apps for it.

We also need to blame app code on someone, so we blame it on the
current user.  StorageStatsManager was fixed awhile back to only
return the app code size on the requested storage volume, so we can
remove the system app checks.

Subtract "appBytes" from external storage accounting, since it's
already been blamed elsewhere against specific apps.

Pass along storage results from all users on the device, and subtract
them all when estimating size of "system" data.  To avoid embarrassing
estimation bugs, make sure that "system" data is at least 1GB.

Bug: 38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Ide1e6d0690e5ad4e751c87891f63ba1036434619
2017-05-30 23:51:06 -06:00
Daniel Nishi
0d03b88e91 Make Storage settings title be "Storage".
This more closely reflects the idea that the top level setting title
should match the actual screen title.

Change-Id: Ie7ab1756d799c182cad74041995768037bba710f
Fixes: 37923462
Test: Manual
2017-05-18 11:02:10 -07:00
Daniel Nishi
7bb541b6ff Fix a bug where storage settings flickers.
The bug resulted from the fact that turning off loading while loading is
turned off causes the loading finishing animation to flicker. By only
turning it off when it is on, we ensure it works.

Change-Id: Ia31bf3e9aa90726e39b6bc7189d175c38fb51e5a
Fixes: 38045492
Test: Manual
2017-05-12 09:43:00 -07:00
Daniel Nishi
24077d899f Add the badged icon for Movies & TV.
The work profile was missing the icon.

Change-Id: I005cc2baecfe86479156e19e0c4ec4b586336cff
Fixes: 38132211
Test: Settings robotest
2017-05-08 14:13:13 -07:00
Daniel Nishi
8381755263 Fix Settings crash in Storage settings.
If you tap aggressively before the fragment has fully initialized, it
was possible to NPE. This null-checks to avoid this.

Change-Id: I3488245d230cf1e16b23e34614c8e6b43ea14ff1
Fixes: 37945253
Test: Robotest
2017-05-04 14:12:45 -07:00
Daniel Nishi
833927929e Merge "Always use GB as the unit in Storage Settings." into oc-dev 2017-05-03 18:00:19 +00:00
Daniel Nishi
0c58fbd345 Merge "Don't overly hide the Files preference." into oc-dev 2017-05-03 17:59:08 +00:00
Daniel Nishi
f7fa542eb6 Don't overly hide the Files preference.
This occurred this because the files preference was initialized during
displayPreference(), but the volume used to initialize it was not being
set until after the displayPreference() call. In this case, the files
preference would hide itself and never come back.

This fixes this by double-checking the Files visibility status whenever
we set the volume.

Change-Id: I0b1a7a9566e9caece39ec58706fbca034ef4c1c2
Fixes: 37790776
Test: Settings robotest
2017-05-02 15:42:55 -07:00
Daniel Nishi
b22c11ae28 Merge "Make the storage free/total sizes consistent." into oc-dev 2017-05-01 21:40:23 +00:00
Daniel Nishi
a16837769c Make the storage free/total sizes consistent.
We were using a different calculation in the top level view compared to
within the Storage settings. Technically, both are correct (one of them
is aware that we're considering cache as free, one does not). This patch
aligns us on the cache as free strategy.

Change-Id: I9ac26683a4d2a30b77a1da534aa2ddd3d4da6657
Fixes: 37175551
Test: Settings robotest
2017-04-26 09:58:58 -07:00
Daniel Nishi
980155fb30 Merge "Don't shows Files when storage is adopted." into oc-dev 2017-04-25 22:30:29 +00:00
Daniel Nishi
32f95292bf Merge "Don't crash on opening ejecting USB." into oc-dev 2017-04-25 22:30:14 +00:00
Daniel Nishi
63a11c56de Always use GB as the unit in Storage Settings.
Bug: 36901322
Test: Settings unit tests

Change-Id: I08c711db6a271522942a01d1adf3e8e5223010f7
2017-04-25 15:23:49 -07:00
Daniel Nishi
1f079fbae4 Don't shows Files when storage is adopted.
One regression from the previous storage view is that the
Files category should not show at all when the storage is adopted.

Fixes: 36786953
Test: Settings robotest

Change-Id: Ice365fabc3bfa66f4c5526ac78bbbfc5e15b7b35
2017-04-24 17:24:51 -07:00
Daniel Nishi
9e107c5682 Add EXTRA_FROM_STORAGE to photos gallery intent.
Change-Id: I050149f558df0de83e7139354ac54176d7ced162
Fixes: 36991234
Test: Settings robotest
2017-04-20 14:46:28 -07:00
Daniel Nishi
d6d6185167 Merge "Gracefully handle null volumes after forgetting." into oc-dev 2017-04-20 17:05:29 +00:00
Daniel Nishi
0cd1f73b21 Change how we calculate system size.
As per storage discussions, the best way to calculate storage for the
System is to just take all known data and subtract it from the used
bytes. There is more to the system than just the /system partition and,
even if we ignore the partitions and use the underlying block device
method of calculating it, we run into the problem of it not adding up to
the actual device size.

Change-Id: I6e1f775ea3f3b8b2cc78d734623934651e2fb7b4
Fixes: 37166310
Test: Robotests
2017-04-19 11:42:34 -07:00
Daniel Nishi
6b37d6341f Gracefully handle null volumes after forgetting.
If a user tells a device to forget a storage volume and then
goes back to the PrivateVolumeForget activity from their Recents, it
attempts to re-initialize itself with a volume that it forgot.

And this makes Settings crash.

By gracefully killing the activity when we try to open
PrivateVolumeForget for a forgotten volume, we avoid this crash.

Change-Id: Ib4e881c10f0c872ce6b268b16a573960230ef99b
Fixes: 34856304
Test: Settings unit test
2017-04-18 14:59:20 -07:00
Daniel Nishi
edafa44c7e Don't crash on opening ejecting USB.
This crash occurs because, even if you finish an Activity during
onCreate, the other lifecycle methods occur. In this case,
onActivityCreated assumes that onCreate ran properly.

By exiting early from onActivityCreated, we can ensure the activity
is finished properly.

Change-Id: Ia354341bf82d295c7dd042668fb11d588ddfebc0
Fixes: 37334861
Test: Instrumentation test
2017-04-18 12:19:36 -07:00
Jeff Sharkey
e398a84199 Merge "Follow storage API polishing." into oc-dev 2017-04-17 22:26:44 +00:00
Daniel Nishi
427f976ff4 Merge "Update the old Storage view to look better." into oc-dev 2017-04-17 22:26:11 +00:00
Daniel Nishi
4f2f6bcad9 Merge "Fix a bug where options menu was not showing." into oc-dev 2017-04-17 22:25:53 +00:00
Jeff Sharkey
b80f1ddaf0 Follow storage API polishing.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37325923, 35812899, 35806020
Change-Id: I4965b7391018354157f0683a643a14c5e9cd338d
2017-04-17 14:29:15 -06:00
Daniel Nishi
e6740f740e Fix a bug where options menu was not showing.
There were two issues that stopped the options menu from
showing properly. First, the SettingsPreferenceFragment did
not call its super class, causing the Lifecycle methods to
never be called. Second, the options menu was not being
invalidated which also stopped the Lifecycle methods from
being called.

Change-Id: I29f2fc105c7ecae7adaccb2e4643e48646398d8d
Fixes: 37255835
Test: Robotest
2017-04-14 14:25:37 -07:00
Daniel Nishi
5b627f9ae5 Update the old Storage view to look better.
This removes the Manage Storage button and moves the titles of
the preferences to match the new progress bar location.

Bug: 2108251
Test: Manual
Change-Id: I1dce610050e44abd4665537e42a752bf34e94384
2017-04-13 16:49:15 -07:00
Daniel Nishi
95261b9239 Fix storage settings crash.
It may crash if opened during the uninstall of an app. By catching
the exception which may occur, we can just skip the uninstalled app
and avoid crashing.

Change-Id: I1b96b0697f4041be356260d6c675593affc1cb69
Merged-In: If556db7b5a299ba53a29baefbbe9709ba6d12190
Fixes: 36793223
Fixes: 36793372
Test: Settings unit test
2017-04-13 13:21:26 -07:00
Daniel Nishi
c365a8735c Merge "Add a movies & tv apps category to storage settings." into oc-dev 2017-04-13 18:39:58 +00:00
Daniel Nishi
06470b68e0 Don't crash in SecondaryUserController.
If icons were fetched before displayPreference() is called, it can
cause a NPE. This adds a null check to ensure that it never
attempts to set an icon without both the icon and preference being
non-null.

Change-Id: Ib4269428e64545c9e255f7e3292fb6c046c1f307
Fixes: 37248158
Test: Settings Robotest
2017-04-12 09:33:32 -07:00
Garfield Tan
66871d8531 Merge "Fix the intent to launch storage details." into oc-dev 2017-04-10 20:24:20 +00:00
Garfield Tan
973cddcb1b Fix the intent to launch storage details.
Test: Manual tests & robo tests.
Bug: 37164357
Change-Id: Ia73a6286edadb9c9e1691dcc0c9e391ce2981dee
2017-04-07 19:08:29 -07:00
Daniel Nishi
fe33c58a18 Add user icon to the other user preferences.
This icon is loaded in the background to avoid doing IO on
the main thread. Once we know there are more users and also
have the icon loaded, we add the category to the view.

Fixes: 36252572
Test: Robotest

Change-Id: Ib50287bb7ed323f22fbe407b56be1bf2fe98f121
2017-04-07 14:57:07 -07:00
TreeHugger Robot
e94ba3b55f Merge "Update USb preference controller to use the new summary texts." into oc-dev 2017-04-07 02:27:55 +00:00
Daniel Nishi
f6b12274f1 Re-add the option to migrate data back.
Currently, users can use an SD card or USB drive and adopt it as
internal storage using existing flows. They can manage this drive
perfectly fine using the old storage screen, which is still around.

One functionality that was lost was the ability to migrate data from
the adopted drive back to the private internal storage. This appeared
in a dropdown in the old storage settings.

By duplicating the code to create just that specific menu item and its
click behavior, we can restore this functionality to the new storage
view.

Change-Id: Id0e01c560e7249acccfe86c5da44466dd58fe5d4
Merged-In: I4b8c06912d2c0b2c5be5bce8b217d45accf34d4b
Fixes: 35926028
Test: Settings Robotest
2017-04-06 13:57:00 -07:00
Daniel Nishi
f588f7678d Add a movies & tv apps category to storage settings.
Change-Id: I055e93d2a151195b90a5fd64f4fddebbbcffef59
Merged-In: Idfabe83739272b19cbef4b13a82339170f8f97b3
Fixes: 36223441
Test: Settings Robotest
2017-04-06 13:36:12 -07:00
Doris Ling
3ff3b81827 Update USb preference controller to use the new summary texts.
- since the choose usb mode dialog and the preference summary use
separate strings now, the two classes can have their own handling
for getting the title/summary text and hence revert the earlier
change that move the setTitle() and setSummary() from the activity
to controller
- only show summary for the option for "supply power", and don't set
summary for all other options
- update the controller to use the new summary text.
- update test correspondingly.

Change-Id: Ie56eb33ba24262e6f3a2259e4ee5ad6f3bfb8061
Fix: 36234108
Test: make RunSettingsRoboTests
2017-04-03 13:53:11 -07:00
Matthew Fritze
8a42b074a7 Reserve full indexing for SearchFragment
Full Index should only be accessible from Search Fragment,
and when only full index should declare a locale to be
indexed.

Test: make RunSettingsRoboTests
Fixes: 36656637
Change-Id: Ie673067118ac6b184570e116ea24a169be027053
2017-03-29 23:55:48 +00:00
Daniel Nishi
16e9247d21 Merge "Badge the icons for profile storage screen." 2017-03-27 22:20:09 +00:00
TreeHugger Robot
849d38b576 Merge "Set about phone subtext to device model string." 2017-03-24 18:50:51 +00:00
Fan Zhang
d53859df7d Set about phone subtext to device model string.
Also remove useless custom preference

Fix: 36395109
Test: robotests
Change-Id: I07297e6ade6991a8262473c9f59c21d914300244
2017-03-23 17:33:33 -07:00
Daniel Nishi
aaebe26678 Merge "Add icons to the main static storage setting prefs." 2017-03-23 22:16:19 +00:00
Daniel Nishi
3414a6904b Badge the icons for profile storage screen.
Fixes: 36224168
Test: Settings Robotest
Change-Id: I27f0540aaa639b1248347ad41c8f1b711fe65fe7
2017-03-23 13:36:20 -07:00
Daniel Nishi
49118e7e01 Add icons to the main static storage setting prefs.
The dynamic user icons require more than just XML changes to
successfully fetch the badged user icons and are coming in a future
patch.

Bug: 35801039
Test: Manual -- this is purely XML and comment changes.
Change-Id: Id493c0335037a5c6e4f8b4734700611bfc0da7f1
2017-03-23 10:34:06 -07:00
Daniel Nishi
fda5d5a6a8 Update the system info dialog.
The string is updated as well as where the dialog shows up.

Change-Id: If1a3b17dca04fe81f52dbdc2353db34ce7adc49a
Fixes: 34857117
Test: Robotest
2017-03-22 16:12:55 -07:00
Fan Zhang
3720e0c4f1 Update system setting page subtext
- Move android version from about phone subtext to system update
- Updates strings for autofill, keyboard & input, factory reset, swipe
  for notification
- Add a new pref category for spell checker and personal dictionary
- Display "None" if any default app is not selected
- Display current keyboard type as language subtext

Bug: 36395109
Test: make RunSettingsRoboTests
Change-Id: Id6ca94ea31e55f1c1ec04e47dcf657a25c35c7fe
2017-03-21 17:40:11 -07:00
TreeHugger Robot
6922f4cd63 Merge "Disable development settings when the switch bar turns off." 2017-03-21 00:16:38 +00:00
Fan Zhang
748649b006 Disable development settings when the switch bar turns off.
Change-Id: Icc9953c95ed4d131231bb6ba95d60b43092a3833
Fix: 29274149
Test: make RunSettingsRoboTests
2017-03-20 15:29:59 -07:00
Daniel Nishi
cf0e659a6c Re-add the progress bar for storage preferences.
This re-adds the progress bar and unifies the
StorageItemPreference and its alternate.

Change-Id: Iefc12b4b554306c706c83be232175dd2b84227b7
Fixes: 36223433
Test: Settings robotest
2017-03-20 11:42:46 -07:00
Fan Zhang
11d2d68e23 Move developer options related class to development package
Bug: 34203528
Test: none, purely moving classes around
Change-Id: I3cd1d257f948729fda5c04632e7ce9114c40bd0c
2017-03-17 16:51:21 -07:00
TreeHugger Robot
c9be7e6ba7 Merge "Remove Index.java from old Search and its dependents" 2017-03-17 23:23:50 +00:00
Daniel Nishi
47b07cc9c1 Merge changes from topic 'storage-o-strings'
* changes:
  Use total size and not free in Storage summary.
  Add new strings.
2017-03-17 22:03:48 +00:00