Commit Graph

466 Commits

Author SHA1 Message Date
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +00:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Yi-Ling Chuang
2a9b9cfd4c Update BatterySettingsFeatureProvider interface
Added context to each method for more flexibility.

Bug: 276399056
Test: robotests
Change-Id: I0bbf8841775bc2f584d66c59c2c78ed4e5c951c2
2023-06-17 12:49:46 +08:00
Yi-Ling Chuang
f148baa372 Remove redundant methods and refactor
Remove the summary method and write the code in AOSP directly instead to
force string consistency. Also refactor a bit after the modification.

Fixes: 276399056
Test: robotests
Change-Id: I76ad740b694363a3cdfb3748e41c840fb678b93d
2023-06-12 16:11:49 +08:00
Yi-Ling Chuang
ee97eaf2d9 Refactor battery related feature provider
Merge BatteryInfoFeatureProvider to BatterySettingsFeatureProvider. Also
add a new string to indicate the unavailability when there's error
fetching the cycle count value.

Bug: 276399056
Test: robotests
Change-Id: Ic6a641d72d5bb295f2a0766dcebdcbe855d91125
2023-05-24 11:26:07 +08:00
Yi-Ling Chuang
da0702a136 Add Battery Information page
Add this page to show battery hardware information, including
manufacture date, first use date and cycle counts.

Bug: 276399056
Test: robotests
Change-Id: Iabad3625c88b703abdab4b30998f385de9749478
2023-05-19 21:45:44 +08:00
Yi-Ling Chuang
7a32e871dc Add a new feature provider for Battery info page
This feature provider contains the APIs to query certain battery info.

Bug: 276399056
Test: robotests
Change-Id: I8f8503f42a6ad1460b4601e44e8b720b91dd13d1
2023-05-19 21:21:46 +08:00
Vincent Wang
5801e98d7f Merge "Test Fix SettingRobolectricTest Fail" into udc-dev 2023-05-09 09:50:50 +00:00
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +00:00
Sunny Shao
b723c4f96a Fix the updateDialogForCdmaPhone test case failed
- This is a side effect of the CL(ag/16379105) which removed the getTextAsDigits API.
- Update the return value as empty string of the TelephonyManager.getImei().

Fixes: 215071948
Test: atest ImeiInfoDialogControllerTest
Change-Id: I790b5dc505ad1a91a951a4c46b241baddea392a1
2023-05-08 14:01:23 +08:00
Chaohui Wang
8470122ad1 Fix ImeiInfoPreferenceControllerTest
For test case updatePreference_simSlotWithoutSim_notSetEnabled,
mSecondSimPreference is a mock, instead of check the default value of
isEnabled(), verify it's setEnabled() not called.

Fix: 279880808
Test: RobolectricTest
Change-Id: I72064820754e053def46bdbf10317189c7ac608f
2023-04-28 15:53:44 +08:00
Bonian Chen
535b518ac9 [Settings] IMEI should be enabled regardless existance of SIM
Force IMEI fields always enabled.

Bug: 266877869
Test: auto

Change-Id: Ic164b3c171fd673cfb02d9973d4c210585198707
2023-02-15 10:16:36 +00:00
Bonian Chen
7a714456fd [Settings] Support of Primary IMEI feature
Present primary IMEI information when there're multiple.

Bug: 260188417
Test: local

Change-Id: I7817fed506f8fc4fabd94f004c9a74b2fab25e10
2023-01-06 13:22:18 +00:00
Bonian Chen
af8f04c3d1 [Settings] Code Refactor for performance
Reduce number of SubscriptionManager API queries.

Bug: 260540995
Test: local and auto
Change-Id: Ib05660d9ade7f352a7cc82d4065974aec396714a
2022-12-21 01:45:40 +00:00
Bonian Chen
8138e44fde [Settings] Support search of each Sim slot status within about phone
Support searching of each SIM slot status within about phone page.

Bug: 260540995
Test: auto and local
Change-Id: If905fc595af566665fb1077a5ce11a967f7487aa
2022-12-09 09:26:11 +00:00
Bonian Chen
09bd704c45 [Settings] Code refactor - SIM slot UI preference key
Avoid from controlling Preference key separately in different places.

Bug: 261374879
Test: local & auto
Change-Id: I0a777c3f2511a25e8f619deba964bc343183c3cc
2022-12-06 05:12:19 +00:00
Bonian Chen
967bc7b044 [Settings] Code refactor - apply BasePreferenceController
Apply BasePreferenceController for better compatible with existing
softawre architecture.

Bug: 260540995
Test: local
Change-Id: I6d69ff878a062299b4d8478f6c0341b37a28532d
2022-12-02 17:23:38 +00:00
Bonian Chen
bfacd938f6 [Settings] Code refactor
Create PreferenceController for each of the Preference presented on
screen, which allows SettingsFragment better control the behavior of
Preference.

Bug: 260540995
Test: auto and local test
Change-Id: Iadd9c10fb353d6304d61e65687a505c71a53179a
2022-11-30 23:42:35 +00:00
Tetiana Meronyk
db6b029287 Remove system user from displaying in Storage Settings in HSUM
Bug: 259525664
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.deviceinfo.storage.NonCurrentUserControllerTest"
Change-Id: I9425a9becdb89588da4a917c0ba9401d6b354238
2022-11-25 00:24:30 +00:00
Bonian Chen
a4aca19f8f Merge "[Settings] configuration for hidding SIM related UI" 2022-10-21 13:29:18 +00:00
Bonian Chen
5dae24208b [Settings] configuration for hidding SIM related UI
Add overriable configuration for hidding SIM related UI.

Bug: 240515161
Test: test cases and local testing
Change-Id: I8d7ddd18861a696830da39f040dfb14b9ed46726
2022-10-21 09:21:59 +00:00
Tetiana Meronyk
5c0bb75de8 Show other users in storage settings
Bug: 232969364
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.deviceinfo.storage.NonCurrentUserControllerTest"
Change-Id: I8d933bec8f12faa971684939b722cfae957f4953
2022-10-19 10:44:06 +00:00
Wei Wang
fcd3c608bf Ignore all failing tests in Settings for now in order to unblock ATP V2
migration

Test: m RunSettingsRoboTests passed on desktop
Change-Id: I2450aaa083aabdf224e070f588441bb01206972b
Bug: 252671269
2022-10-13 17:29:36 +08:00
Daniel Sandler
ba81fe61cf Merge "Launch the platform easter egg in a new task." into tm-qpr-dev am: e43bf3cd9d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20003711

Change-Id: I794c118911d6d2fa47ff9190a6108fc1e3d0f11c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-21 23:22:53 +00:00
Dan Sandler
5eeb6c3792 Launch the platform easter egg in a new task.
This ensures that when PlatLogoActivity is launched on a
large-screen device, it properly takes over the full screen
(and doesn't hide the status bar for Settings!).

Bug: 243407943
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FirmwareVersionDetailPreferenceControllerTest
Change-Id: Icf10aa43e5b4a27a2fa98ea41b5a9e9cf659e895
2022-09-20 20:10:17 -04:00
Sorin Basca
61e0bcd194 Use Mockito 4.6.1 API
Bug: 236636175
Test: m RunSettingsRoboTests
Change-Id: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
(cherry picked from commit c1c3a84fdc)
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-07-15 20:05:37 +00:00
Jonathan Scott
b7f4f56cad Add missing settings strings.
Also re-enable and fix tests.

Test: manual
Fixes: 226183482
Fixes: 218799125
Fixes: 219375624

Change-Id: I9605f1f4e2e834baf63e015e96639567c5481b5f
2022-05-05 09:12:59 +00:00
Mill Chen
34eecaad79 Merge "Add cache mechanism for secondary users in Storage" into tm-dev 2022-04-08 05:48:45 +00:00
Chaohui Wang
6c9da58f4b Clean up unused Sliceable.copy()
Sliceable.isCopyableSlice() is not set to true for any controller, so this function is not used.

Usage is removed in Change: I81474aed994678c42d73cc59e169573880de1378

Bug: 227722942
Test: robotest & manual
Change-Id: I86e23aa8ad43f60b5017ff0a278e20e3f727706c
2022-04-02 19:16:22 +08:00
Mill Chen
ee41ad89a9 Add cache mechanism for secondary users in Storage
To prevent from the flicker happening, the size info for secondary users
will be cached.

Bug: 220259287
Test: manual test
1) Create secondary user
2) Finish setup flow
3) Install any types of apps and try to change the storage size
4) Navigate to Settings > Storage
5) Observe the storage size and progress bar, they should have animation
   when storage size info updated.

Change-Id: Iff706b20446603f08334a0b782dd505ca78bdab2
2022-04-01 15:42:31 +08:00
Colin Cross
54a9fd4e17 Merge "Use Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY for user visible versions" am: 9c59242102 am: e23884eed9 am: f21625fe80
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2003011

Change-Id: I6e850608c5454ce80562a956074bc9ebe5c1597d
2022-03-02 00:55:39 +00:00
Colin Cross
3f67f87efe Use Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY for user visible versions
Use Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY which will show a user
friendly version name for preview releases, and the release version
for final releases.

Bug: 221950960
Test: manual
Change-Id: I3a7e6a3c996d52614b89888afd35da8cff458b43
2022-02-28 18:03:23 -08:00
Mill Chen
c23be3fa16 Cache mechanism for Storage page
- Use SharedPreference to cache the size info
- Improve the flicker problem on Documents & other preference
- The jobs are destroied on onPause to prevent the jobs being
  restarting when back to Storage page
- Enable progress bar animation for each storage item

Bug: 191117970
Test: manual test
1) The loading spinner will be shown when entering Storage page
   at first time.
2) Back to Settings homepage and switch back to Storage page, the
   loading spinner shouldn't be shown.
3) Click each preference in the Storage page and switch between these
   pages, the size info should be updated if something removed and the
   order of preference shouldn't be changed.

Change-Id: I75533742a025dc61116207285a894ee728d0af68
Merged-In: I75533742a025dc61116207285a894ee728d0af68
(cherry picked from commit 77775a66f2)
2022-02-23 08:15:14 +00:00
Tsung-Mao Fang
aa19771a37 Ignore/Fix broken tests
Fix: 214943221
Fix: 215070875
Bug: 215071960
Bug: 215071948
Bug: 215072120
Test: run robo test
Change-Id: Id11c8461a2cb11cba96feebbfb0337b096eb3a17
2022-01-18 17:39:24 +08:00
Wilson Wu
9edf79741d Update settings PrimarySwitchPreference reference
To make InputMethodPreference support 2 target
reference, CL[1] move the PrimarySwitchPreference
into SettingsLib.

Change all PrimarySwitchPreference reference to
Settingslib one and remove the original one.

[1]: Idea3935d95b8d22b00ca89313e9eb3e979e4aa74

Bug: 197705032
Test: Presubmit
Change-Id: I95d111522344bb7cbdd380382e48fe60a5ebc9a2
2021-09-02 13:10:19 +08:00
Stanley Wang
1fcdafbcda Fix the problem that the SIM status and IMEI after the "Build number".
- Adding the SIM status and IMEI items of SIM2 to the PreferenceScreen
  can not put these items in the correct categories. We have to put
  these items directly into the correct categories.

Fix: 193384705
Test: robotest and see the UI

Merged-In: I2de7ee72fc1315eeef01288b386f8756ca366e33
Change-Id: I9472ecd604afe2f2e2eaf08c92ec11e439e8fc1d
2021-07-16 22:03:54 +08:00
Stanley Wang
9c63c415ea Fix the problem that the SIM status and IMEI after the "Build number".
- Adding the SIM status and IMEI items of SIM2 to the PreferenceScreen
  can not put these items in the correct categories. We have to put
  these items directly into the correct categories.

Bug: 193384705
Test: robotest and see the UI
Change-Id: I2de7ee72fc1315eeef01288b386f8756ca366e33
2021-07-16 19:44:25 +08:00
Arc Wang
496b898bac Merge "Fix incorrect storage size in Storage Settings" into sc-dev am: 68caefba32 am: 1e7e8d8104
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15175229

Change-Id: I86e6806cf37736696aef427f1c8c59a3e5aad6f0
2021-07-02 10:35:27 +00:00
Arc Wang
25880d0d0e Fix incorrect storage size in Storage Settings
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
2021-07-02 10:57:57 +08:00
TreeHugger Robot
549dac0dc3 Merge "Storage Settings hides categories when loading" into sc-dev am: 03d4644673 am: 1a181a3239 am: e6c6db1f61
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14772155

Change-Id: I321a39dc2d76d16a8f4551f7e5157a0d1a1fc7b3
2021-06-04 12:04:29 +00:00
Arc Wang
51b3e7a093 Storage Settings hides categories when loading
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
2021-06-04 11:50:12 +08: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
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
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
6062b6491d Rename audios to audio
Bug: 186635176
Test: build pass
Change-Id: I0d909f639fe36edf2e5088c7ec219cceee4e963a
2021-05-17 14:11:17 +08: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
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