Commit Graph

1230 Commits

Author SHA1 Message Date
Arc Wang
e9c5a06eff Set storage volume spinner invsible when only 1 volume am: 1beae1bf91 am: 10e549ac37 am: e6f4c37dca
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14831304

Change-Id: Iff52b0bf9c89821b190bed8f01f7281bd34ab947
2021-06-04 09:49:16 +00:00
Arc Wang
1beae1bf91 Set storage volume spinner invsible when only 1 volume
Bug: 189390166
Test: atest StorageSelectionPreferenceControllerTest
Change-Id: I93e5fbf50153580ec60c146959d21e61f556c18c
2021-06-04 07:25:30 +00:00
TreeHugger Robot
ed6c25eefe Merge "Reduce flickers when launching Storage Settings" into sc-dev am: 0462ffaffc am: c73a8cff20 am: 29671a86d7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14716098

Change-Id: Id4df6e798f2192d49e77aa80cffa9ccb51e74eb0
2021-05-31 15:09:49 +00:00
Arc Wang
96b6106f2f Reduce flickers when launching Storage Settings
This change remove unnecessary UI dpdate of
StorageItemPreferenceController.

- For StorageItemPreferenceController:
  Remove UI update at #displayPreference since onLoadFinished will update.
  Don't update order at #setVolume since onLoadFinished will update.

- StorageDashboardFragment & StorageCategoryFragment update
  StorageItemPreferenceController only when both StorageInfo
  and StorageResult are loaded.

Bug: 185547228
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
      manual visual
      Click each file category to count files size is the same as
      displayed in Storage Settings.
      manual visual
Change-Id: Id449003827a3e340e7a90f706152100b5568f834
2021-05-31 12:48:02 +00:00
TreeHugger Robot
cbd7b46de8 Merge "Fix NPE at Storage Settings configuration change" into sc-dev am: aab74b24c0 am: faf84a3cd2 am: 033421f680
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14733201

Change-Id: I2b34b5ad4f5f092d853121f73826504d239a620c
2021-05-28 04:08:51 +00:00
TreeHugger Robot
af258e57e1 Merge "Shows trash category in Storage Settings" into sc-dev am: 90c29cf014 am: 28544e66b2 am: 704b9458c0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14702754

Change-Id: I5965168f0d9554c69fe52b19f088a89364af11cc
2021-05-28 04:08:45 +00:00
TreeHugger Robot
aab74b24c0 Merge "Fix NPE at Storage Settings configuration change" into sc-dev 2021-05-28 02:01:54 +00:00
Arc Wang
8fde6ca821 Shows trash category in Storage Settings
If there is APP which supports VIEW_TRASH intent,
use it to show trash files. Otherwise popup a dialog
to guide users to empty trash files.

Bug: 189109564
Test: manual visual
      Observe size information are the same as files in Files APP.
      Observe if empty trash button empty trash files.
      Observe if Trash category update summary and order after emptying
      trash files.
Change-Id: Ia3c46dcb1b4fadcdfb865f7dd315c27f8f98cb2c
2021-05-27 17:50:11 +08:00
Arc Wang
07f2086ecd Fix NPE at Storage Settings configuration change
At configuration change, both StorageCategoryFragment and
ProfileSelectStorageFragment are re-created and there is
a different callback sequence than normal case.

This change save/restore mSelectedStorageEntry in instance
state bundle to fix the NPE.

Bug: 189108700
Test: manual
      Install work profile and rotate Storage Settings.
Change-Id: I39d7ef7ced22188ee66216d57518198d63671e0e
2021-05-27 10:27:24 +08:00
TreeHugger Robot
a84f439bea Merge "Query storage size instead of calculate size of installed APP" into sc-dev am: 0eaf329a43 am: ebf9d33fb9 am: caa0805121
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14554355

Change-Id: I8387c7f9f18d3aaed0f745eee7616b533f5234b5
2021-05-26 00:59:25 +00:00
Arc Wang
044c91cc70 Query storage size instead of calculate size of installed APP
From android S, Storage Settings show files of images/videos/audios
category instead of installed APP of each category. So it's
necessary to change the way to calculate size information.

This change also
- StorageItemPreference shows changing storage size units instead
  of fixed GB. It helps UX for categories of only small size files.
- Query media provider for size of Documents and others.
- Query media provider for size of Trash.

Bug: 170918505
Bug: 177892478
Bug: 179871408
Bug: 184379946
Bug: 186077224
Bug: 187128447
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
      manual visual
      Click each file category to count files size is the same as
      displayed in Storage Settings.
Change-Id: I37c7b3a4b5860323cb55581b23a90f583f4af216
2021-05-25 23:44:21 +08:00
Arc Wang
c60e8c41a4 Merge "Shows "This device" for default internal storage" into sc-dev am: 8b5913ba18 am: e7e25f12f1 am: 766ddfce34
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14609996

Change-Id: Ie925d28907b45da43cb43391ddd39c65ef342d00
2021-05-21 07:12:35 +00:00
Arc Wang
0052f7f46a Rename audios to audio am: 6062b6491d am: 9c191a1018
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14518465

Change-Id: I274afecba4917ab6cc52274943f7132b7fa44e5c
2021-05-20 01:50:08 +00:00
Arc Wang
f11ab2eed1 Storage Settings shift profile selection tab position am: c0b5ba5225 am: 44bc515588
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14441414

Change-Id: I757e81ee5eff34596b850fe8d2d6a73168d823db
2021-05-20 01:50:03 +00:00
Arc Wang
07dc4fe79a Shows "This device" for default internal storage
Bug: 188492974
Test: atest StorageEntryTest
Change-Id: I7278ff604f22acafd47cef2f5d613a2bf9f0e371
2021-05-18 16:23:25 +08:00
Arc Wang
6062b6491d Rename audios to audio
Bug: 186635176
Test: build pass
Change-Id: I0d909f639fe36edf2e5088c7ec219cceee4e963a
2021-05-17 14:11:17 +08:00
Arc Wang
c0b5ba5225 Storage Settings shift profile selection tab position
In this change, Storage Settings main UI is composed by 3 fragments.

StorageDashboardFragment only shows when there is only personal profile for
current user.

ProfileSelectStorageFragment (controls preferences above profile tab) and
StorageDashboardNoHeaderFragment (controls preferences below profile tab)
only show when current user has installed work profile.

Bug: 174964885
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I50dea2fbcae39a1488e648f3ca615f54840e19d5
2021-05-17 14:07:24 +08:00
Arc Wang
ba14503b99 Merge "Fix Storage Settings progress bar summary jank problem" into sc-dev am: 3a77c9c9e4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14514140

Change-Id: Ic700afae3c43260fa38f7bff0bf62cb331ab34c5
2021-05-13 05:54:05 +00:00
Arc Wang
76cf622e9b Fix Storage Settings progress bar summary jank problem
Only updates progress bar summary for a selected StorageEntry.
(Ignore updateState callback from DashboardFragment)

Bug: 187145219
Test: manual visual
Change-Id: I4a760ae6a0921c99348c0fce54251b2667bf29ae
2021-05-12 23:57:01 +08:00
TreeHugger Robot
0b43270035 Merge "Implements profile selection tab in Storage Settings" into sc-dev 2021-05-12 07:48:43 +00:00
TreeHugger Robot
0bd88cc1bb Merge "Set storage volume spinner not clickable when only 1 volume" into sc-dev am: 2853e766f5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14495884

Change-Id: Id2d5db1fbf87e87be4c5239eaea3da7ef9b4c594
2021-05-12 03:33:37 +00:00
TreeHugger Robot
0d3bfddd5b Merge "Implements profile selection tab in Storage Settings" 2021-05-12 03:11:00 +00:00
TreeHugger Robot
2853e766f5 Merge "Set storage volume spinner not clickable when only 1 volume" into sc-dev 2021-05-12 03:10:53 +00:00
Hai Zhang
1a50cec60a Merge "Don't add SettingsLib to static_libs in Settings unit test." into sc-dev am: 8a7f55246f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14491512

Change-Id: I3f4472878de17742fe6c5f2fb697cc5693b1af60
2021-05-11 22:55:07 +00:00
Arc Wang
543068210f Implements profile selection tab in Storage Settings
- StorageDashboardFragment and StorageItemPreferenceController works only
  for one profile per instance.
- StorageAsyncLoader loads for all users(profiles) and regards each user independent.
- SecondaryUserController will not load personal profile user in work profile tab.
- Cleanup some unused profile related files.

Bug: 174964885
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I8361c29bc240c519c7261b19522c41439479c1c2
Merged-In: I8361c29bc240c519c7261b19522c41439479c1c2
2021-05-11 20:00:08 +08:00
Hai Zhang
6bf47f6274 Don't add SettingsLib to static_libs in Settings unit test.
Adding them results in duplicate classes and causes conflict for the R
classes and resource loading.

Meanwhile, correctly removing the SettingsLibSettingsSpinner resulted
in the test failing to find the getSelectedItem() method which is
unused inside Settings app. This is an inherent issue when unit
testing an optimized (and shrunk) app, and since there's no other way
for the test to get the current selected item, this change simply
changes the Settings code to invoke getSelectedItem() as well. This
has exactly the same effect because SettingsSpinnerPreference updates
its mPosition right before calling the OnItemSelectedListener in its
implementation.

Bug: 183340630
Bug: 177638625
Bug: 183342958
Test: atest SettingsSliderPreferenceControllerTest
Test: atest PrivateVolumeForgetTest
Change-Id: Ia26ca923369b41291614fb9bd50dfbd2aac2f0fa
2021-05-11 03:33:08 -07:00
Arc Wang
65d3f45606 Set storage volume spinner not clickable when only 1 volume
Bug: 187801712
Test: manual
      Click the spinner when there is only default volume.
      Click the spinner when there is USB drive connected.
Change-Id: Ifbd26c96f467757ffcfef750bd80533834123f82
2021-05-11 18:06:47 +08:00
Arc Wang
fa6e82b879 Implements profile selection tab in Storage Settings
- StorageDashboardFragment and StorageItemPreferenceController works only
  for one profile per instance.
- StorageAsyncLoader loads for all users(profiles) and regards each user independent.
- SecondaryUserController will not load personal profile user in work profile tab.
- Cleanup some unused profile related files.

Bug: 174964885
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I8361c29bc240c519c7261b19522c41439479c1c2
2021-05-10 15:21:33 +08:00
Yanting Yang
eecd27406c Merge "Add summary back to the homepage" into sc-dev am: c37abc9edb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14442216

Change-Id: Ida5e3fec18839e4ba2ce266aa5b4d2424b65ef3a
2021-05-07 09:14:08 +00:00
Yanting Yang
d1312e8e6e Add summary back to the homepage
Also update some summaries with new strings.

Bug: 183586663
Test: robotests & atest & visual

Change-Id: I692be9b34e8867501aaa8c8e40428870b99644f8
2021-05-06 00:27:37 +08:00
Yanting Yang
cd60664cc3 Merge "TopLevelStoragePreferenceControllerTest converted to JUnit" into sc-dev 2021-05-05 07:32:45 +00:00
Jeremy Goldman
8e712c1501 TopLevelStoragePreferenceControllerTest converted to JUnit
Helper function composed to return thread future, to guarantee
concurrent function finishes before test condition is checked.
Additionally a @VisibleForTesting helper function is used rather than
robolectric reflection helpers to set a class variable.

Fixes: 187249674
Test: atest -c TopLevelStoragePreferenceControllerTest
Change-Id: Ia22ebac4baec60f72b8516e9e79998cd788266ab
Merged-In: Ia22ebac4baec60f72b8516e9e79998cd788266ab
(cherry picked from commit 899eb7282d)
2021-05-05 07:31:35 +00:00
Arc Wang
ddc9e22f72 Merge "Cleanup Storage Settings" into sc-dev am: 3576b10330
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14408668

Change-Id: I23fae74a9cf6b2e0ceeefdf91707b0f5c250271e
2021-05-05 03:38:04 +00:00
Arc Wang
e64f01ccfc Cleanup Storage Settings
There is AOSP built in file browser for image/video/audio
file category, this change cleanup APP based category
for image/video/audio.

Bug: 183078080
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I925fc9296b8c2df5bd793668f66a12beb7744469
2021-05-04 22:21:53 +08:00
TreeHugger Robot
33baa05d95 Merge "Storage Settings Apps category shows image/video/audio APPs" into sc-dev am: 8d1fd73e89
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14186629

Change-Id: I4cf006558fda517dd7db111ee09e84cf17f7454d
2021-05-03 18:33:47 +00:00
Arc Wang
4cd89bb082 Storage Settings Apps category shows image/video/audio APPs
There is AOSP built in file browser for image/video/audio
file category, all APPs except games should be included in
Apps category.

- Shows image/video/audio APPs in APPs category.
- Count Image/Video/Audio APPs storage size to Apps storage size.
- Remove APP size & cache size for Images/Videos/Audios category.

Bug: 170918505
Test: atest StorageAsyncLoaderTest.java
Change-Id: I07e0a3a66a13f36b9e0cbde289d8ba90df4ae295
2021-05-03 20:17:58 +08:00
TreeHugger Robot
dd44ac2630 Merge "Apply the correct style to Battery and Storage page" into sc-dev am: d0ca25a062
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14199748

Change-Id: I712923c5e6374d1f274399a1d2bc2695c87553ba
2021-04-19 08:06:47 +00:00
TreeHugger Robot
d0ca25a062 Merge "Apply the correct style to Battery and Storage page" into sc-dev 2021-04-19 08:02:14 +00:00
TreeHugger Robot
eeb6301479 Merge "Update storage usage progress bar summary text" into sc-dev am: 8b58ae9d4f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14230402

Change-Id: I4e28ec560435932c4eaeb2e76eee6d56e95d093a
2021-04-19 07:56:26 +00:00
Arc Wang
2e04e81da8 Update storage usage progress bar summary text
Shows a simplified version, e.g., 24GB used / 64 GB total

Bug: 174964885
Test: manual visual
Change-Id: Ia7a12d0cf7444ebb172ef2c23209196e01eadac0
2021-04-19 12:08:16 +08:00
Arc Wang
f240e1fb0e Merge "Update storage usage progress bar summary text" into sc-dev am: 1073196af9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14209650

Change-Id: Ib3f2b5a1a067d7584bfda5bb3297f5d6993e9847
2021-04-19 02:33:19 +00:00
Arc Wang
7a43ffde90 Update storage usage progress bar summary text
Shows a simplified version, e.g., 24GB / 32% used of 64 GB

Bug: 174964885
Test: manual visual
Change-Id: I39cdc5efa1d562c339525fa23456c71b726b9e1a
2021-04-16 21:46:19 +08:00
Mill Chen
e545bff7da Apply the correct style to Battery and Storage page
Since some pages were styling the action bar programmatically before, the
color of collapsing toolbar will be overridden. Removing them will fix
the problem with inconsist color. This change also fixed some pages with
inconsist theme.

Bug: 185444608
Test: visual verified
1) Settings -> Battery / Storage
2) Scrolling the collapsing toolbar and make it collapsed
3) Observe and see if the color of toolbar is different from the one of
status bar

Change-Id: I5e792747ea3f4deb05428ea5afe6a64f29f9da89
2021-04-16 00:25:50 +08:00
TreeHugger Robot
fdfe60d87e Merge "Cleanup Storage Settings" into sc-dev am: fce594ad7f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14182146

Change-Id: I2871f2febd498e3f71e264327bbe6d911b8d4dd5
2021-04-15 02:44:40 +00:00
Arc Wang
192fd24f26 Cleanup Storage Settings
Bug: 183078080
Test: make
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests
      ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
      atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
Change-Id: I901f5f7999ea94dafb72a2517a11e2ff1fd51b42
2021-04-14 21:37:46 +08:00
Arc Wang
f1dbe7a242 Merge "Pop up soft keyboard when rename dialog shows" into sc-dev am: 1f7c6f03b9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14111143

Change-Id: I56bd581e207a610362c629ddb02c7b066731da92
2021-04-08 02:39:18 +00:00
Arc Wang
741c1e4298 Pop up soft keyboard when rename dialog shows
Request focus for the EditText.

Bug: 184710864
Test: manual
      At Storage Settings, select USB drive -> option menu
      -> Rename. Observe if soft keyboard pops up.
Change-Id: Ia73829ee505c94a255306bd817d01b6bc1b80e26
2021-04-07 20:34:12 +08:00
Arc Wang
9d5b4688e2 Merge "Fix com.android.settings.deviceinfo.storage.StorageEntryTest" into sc-dev am: aed1bba60a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14029456

Change-Id: I3a382089a60bc5c036d7e5d2fee85ddff03de68f
2021-03-31 12:53:38 +00:00
Arc Wang
a1fb47beb8 Fix com.android.settings.deviceinfo.storage.StorageEntryTest
StorageEntry#isStub() is unused and not built in apk.
Remove the method to fix test fail.

Bug: 184045592
Test: atest com.android.settings.deviceinfo.storage
Change-Id: I89d73c45111918c2ff01174d6fbb47f8c59f6968
2021-03-31 10:05:09 +08:00
Arc Wang
5db8f5ae05 Merge "Check config to decide if Smart Storage toggle should exist" into sc-dev am: 21cf6c04db
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13994999

Change-Id: Ib25fad04992539fb95bc32870a0ea28ab562a8c0
2021-03-30 11:18:35 +00:00