From Android S, Storage Settings queries file sizes
from MediaProvider, it's not necessary to count size
data from getExternalStorageStats when calculating
size data.
Bug: 185542752
Test: make RunSettingsRoboTests ROBOTEST_FILTER=testMeasurementCompletedUpdatesPreferences
manual
1. Connect device to PC via USB File transfer.
2. Copy large files from PC to device.
3. Observe size information in Storage Settings.
Change-Id: I43cbec764e97f5003a4ec981717c9f213a21b614
Java integer max is 2,147,483,647, it's about 2GB.
Use getLong to get size from provider instead of getInt.
Bug: 190721008
Test: manual visual
Copy video files more than 2,147,483,647 bytes
and observe Videos size information.
Change-Id: Ic804db43554fdd580627faebecfe30d9ad2a9120
To hide sorting animation.
- Storage Settings always loads cache and updates UI, then
loads storage size and updates UI.
Remove the chche design because storage category preferences
will hide during loading, it no meaning to load from cache
and update UI.
- Hides loading circle before storage category preferences
become visible, it prevents flickers.
- Remove Calculating... summary of StorageItemPreference.
- Private storage category preferences and secondary user
preference become visible at
StorageItemPreferenceController#onLoadFinished.
Bug: 188731179
Bug: 185547228
Bug: 188615591
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
Change-Id: I3ebef5829ef4f806add07f58fa02520804768be5
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
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
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
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
Only updates progress bar summary for a selected StorageEntry.
(Ignore updateState callback from DashboardFragment)
Bug: 187145219
Test: manual visual
Change-Id: I4a760ae6a0921c99348c0fce54251b2667bf29ae
- 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
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
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
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
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
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
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
Users can click this preference to see public storage files
in external file browsers.
Bug: 170918505
Test: make RunSettingsRoboTests ROBOTEST_FILTER=StorageItemPreferenceControllerTest
manual
Select private storage and public storage and observe UI
Change-Id: If3f0d59b2ebf941d70e81e60c4c2015b80e7cf33
- Change category types.
- Use Intent.ACTION_VIEW to show content of each category.
- Sort order of each category by storage size.
Bug: 170918505
Test: make RunSettingsRoboTests ROBOTEST_FILTER=StorageItemPreferenceTest
make RunSettingsRoboTests ROBOTEST_FILTER=StorageItemPreferenceControllerTest
manual
Click each category in Storage Settings.
Change-Id: Ib7beb1779a0fcbfd7b8ec52446707b105fcebff5
Hide it because there is no framework API to get storage
category stats of public volumes.
Bug: 174964885
Test: manual
Observe storage settings UI of a USB flash drive.
Change-Id: I7272cd18c186793f86548a87b5cb88bb957ff8d5
1. Add new object StorageEntry to encapsulate VolumeInfo and
unsupported DiskInfo and missing VolumeRecord.
2. Replaces StorageSummaryDonutPreference with UsageProgressBarPreference.
3. Add storage select spinner.
4. Add a "Free up storage" preference to replace "Manage storage" button.
Bug: 174964885
Test: atest com.android.settings.deviceinfo.storage
atest com.android.settings.deviceinfo
manual
Insert an USB drive, select the drive in StorageDashboardFragment
and observe UI.
Change-Id: I83877f76869414de4fb2788b6b18fe507aa5cfcf
Merged-In: I83877f76869414de4fb2788b6b18fe507aa5cfcf
- The generic class can be used for multiple controllers
Bug: 174022082
Test:
- atest -c AirplaneSafeNetworksPreferenceControllerTest
- make RunSettingsRoboTests
ROBOTEST_FILTER=AllInOneTetherPreferenceControllerTest
- make RunSettingsRoboTests
ROBOTEST_FILTER=AutomaticStorageManagementSwitchPreferenceControllerTest
- make RunSettingsRoboTests
ROBOTEST_FILTER=WifiPrimarySwitchPreferenceControllerTest
Change-Id: I7d50ae3e6228005eb6dfb0a6c1a2f870c41330f2
Replace WiFi related terms which contain Master wording.
Goal: Create a fixit for Android Platform to reduce the use of non-inclusive language for all code.
Bug: 161425297
Test: make RunSettingsRoboTests -j or
make RunSettingsRoboTests ROBOTEST_FILTER=DashboardFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=WirelessDebuggingPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AutomaticStorageManagementSwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AllInOneTetherPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=TopLevelNetworkEntryPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=PrimarySwitchPreferenceTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrimarySwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
Change-Id: I9395c50e092e124016609f88f7c8151554a0d874
- Pass wrong user id in view holder
Fixes: 149028747
Test: 1. Add new user, and change th new user
2. Take a camera shot under the new user
3. go to Settings -> Storage -> photo & video -> Image
4. Should open file brower
Change-Id: I0af532748ec19f62897911b1bb6ece9b21b844c3
- Pass user.getIndentifier() to intent
Fixes: 147357696
Test: 1. go to Settings -> Storage -> Music&Audio
2. switch to work tab
3. tab "Audio files"
4. should display work profile files
Change-Id: I0d2883c45eb7b883adbaf034c0a49c5e52ba82f6
- Storage UI used to have a work profile item. Now the item is
removed, all its size should merge to other item.
Fixes: 147127503
Test: Add work profile user, in Settings -> Storage page. Sum of
each item size should be similar to used size in the top of the page.
Change-Id: I9d4e2c8c53839da22fd0cdd5d2591a3245514191
Bug: 141601408
Test: Settings->Storage, click work tab, click Other apps. It should
navigate to Apps storage page and focus on WORK tab.
Change-Id: Ida91b279e771a2c7c960ce83b8e13310c87112e8
- Modify ProfileSelectFragment to support add preference xml in the
top, and tabLayout below the preferences. Base preference layout is
dummy_preference_screen.xml which contains no preference.
ProfileSelectStorageFragment contains StorageSummaryDonutPreference
above the tabLayout.
- Make StorageSummaryDonutPreferenceController self workable without
StorageDashboardFragment dependence.
- Rename inactive_apps.xml to dummy_preference_screen.xml
- Move ShadowPrivateStorageInfo from LowStorageSliceTest
Bug: 141601408
Test: manual
Change-Id: Ide12840dc81bb104f328e230ecda5d35bba01d7a
- Add ProfileSelectManageApplications containing tabLayout
- Modify StorageItemPreferenceController to display only personal
or work profile data
- Add getTargetFragment in Utils to handle fragment selection
Bug: 141601408
Test: manual
Change-Id: Ie4db1ce2e77f60a82018e5a3e1f2fccb812502dc
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
This patch focused on fixing compile errors and some runtime errors.
Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b