Commit Graph

673 Commits

Author SHA1 Message Date
Chaohui Wang
08e24272e4 Create AppDataUsageAppSettingsController
For better organization and testings.

Bug: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: Ie3d35f5d112cf06cca585c9859624d705fbe2655
2023-10-08 17:03:48 +08:00
Chaohui Wang
b19eb9a4c2 Create AppDataUsageListController
For better organization and testings.

Bug: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I77ceeccc7055fcd948fe40d5dfb9cc4a9b9ad2ee
2023-10-07 15:03:27 +08:00
Chaohui Wang
2205762482 Improve the latency of DataUsageList
Up to 30x faster.

Currently it load the usage detail for every day at the beginning, so
it's quite slow.

To fix,
- Not load the usage detail for every day at the beginning
- Load only the cycles first
- And only load the daily detail for the selected month

Fix: 290856342
Test: manual - on DataUsageList (cell & wifi)
Test: unit tests
Change-Id: Ie18fa68f801743389bd6b6a28e236dcf1fea00e4
2023-09-27 08:05:02 +00:00
Chaohui Wang
de83cdcdd3 Clean up unused EXTRA_NETWORK_TYPE
Bug: 290856342
Test: manual - on DataUsageList
Change-Id: Ibb0a50a18a581e5cd89246ed581b69e06f588f66
2023-09-25 09:42:16 +08:00
Chaohui Wang
5ed30f4672 New DataUsageListHeaderController
Move spinner and config button to DataUsageListHeaderController.

Bug: 290856342
Test: manual - on DataUsageList and AppDataUsage
Test: unit test
Change-Id: I655bd3441b2305708c0052f1203538bb07eef2af
2023-09-25 00:28:31 +08:00
Peter Kalauskas
1bb84f9854 Merge "Enable use_resource_processor for all sysui deps" into main 2023-09-22 18:41:27 +00:00
Peter Kalauskas
80e914a263 Enable use_resource_processor for all sysui deps
This will make the build faster

Test: m checkbuild
Bug: 295208392
Change-Id: If75acb6b1c3f204e3686c20cef609f7cfabe15cf
2023-09-21 23:09:39 +00:00
Chaohui Wang
8c5bd75560 Use BillingCycleRepository in DataUsageList
Unify the enable logic for the "Data warning & limit" page.

Bug: 290856342
Test: manual - on DataUsageList
Test: m RunSettingsRoboTests
Change-Id: I3014461ef21768b5d0eb6d91873a4ba52d20f6bf
2023-09-21 18:27:52 +08:00
Chaohui Wang
c39acee194 Clean up NetworkServices from setTemplate
Not used any more.

Bug: 290856342
Test: manual - on mobile settings
Test: m RunSettingsRoboTests
Test: unit test
Change-Id: I9c8dde2a8812e83e535d15713ccbf25b42f1f303
2023-09-21 12:57:51 +08:00
Chaohui Wang
ba1ec910ac New BillingCycleRepository
Migrate BillingCyclePreference to BillingCycleRepository first, will
also migrate DataUsageList in future cl.

Also fix an issue that the BillingCyclePreference initial enable state
not set.

Bug: 290856342
Test: manual - on mobile settings
Test: unit test
Change-Id: Idd171fefbc30763010afb7bfb68543612f7b9b1a
2023-09-21 12:57:51 +08:00
Chaohui Wang
79f0f6e368 Clean up ChartDataUsagePreference.setColors()
This method is no-op.

Bug: 290856342
Test: manual - on DataUsageList
Change-Id: Ice64630bc43afe7116b797425a5ea81b2d0ad5af
2023-09-18 23:45:54 +08:00
Chaohui Wang
0cb8d91e4e Create DataUsageListAppsController
Move apps group logic from DataUsageList.

Also add key to AppDataUsagePreference, which reduce flaky and keep
scroll position when back from app detail page.

Bug: 290856342
Test: manual - on DataUsageList
Test: unit test
Change-Id: I61e2b6bd9b192b7230e3553dbc6038f5d59bd303
2023-09-17 13:51:11 +08:00
Chaohui Wang
c31474c02c Extract app data usage to AppDataUsageRepository
From DataUsageList for better organization and testing.

Bug: 290856342
Test: manual - on DataUsageList
Test: unit test
Change-Id: I97e327a220d40942b9345ec7f1f8c466ac1fc9da
2023-09-14 16:48:29 +08:00
Chaohui Wang
4b686147b6 Clean up WifiDataUsageSummaryPreferenceController
Which is legacy and not finished implemented.

Bug: 295260929
Test: unit test
Test: robo test
Test: manual - on Mobile Settings page
Test: manual - on Network details page
Change-Id: I30ac639c1ba285a74038d5413b63e2c31c6cc8ba
2023-09-06 17:37:02 +08:00
Chaohui Wang
6ef678f19d Add some null annotation for data usage code
Also do some clean up.

Bug: 296357959
Test: manual - on DataUsageList page
Change-Id: Id7548e1d58d946810c844b9559bb00d65306f441
2023-08-28 17:47:06 +08:00
Chaohui Wang
6c2d713226 Fix NullPointerException of DataUsageList
Fix: 296357959
Test: manual - on DataUsageList page
Change-Id: I303aa8ae1ba5db8f23dbc3b68b9ff4e05a0936a0
2023-08-28 17:29:26 +08:00
Chaohui Wang
0aca2ffbdb Clean up used EntityHeaderController
From DataUsageSummaryPreferenceController and
BatteryHeaderPreferenceController.

There are no entity header UI for these 2 controllers, so no need to
create EntityHeaderController instance.

Bug: 295260929
Test: manual - on mobile settings page
Test: manual - on data usage page
Test: manual - on battery settings page
Change-Id: Ib96c9ae93de31f86434e5203ef4acac3af50e0ef
2023-08-24 14:08:17 +08:00
Chaohui Wang
cdbe5f350d Clean up unused Lifecycle
From DataUsageSummaryPreferenceController.

Bug: 295260929
Test: m RunSettingsRoboTests
Change-Id: I4f1d33d7878a80e10aae908df32cff052762fd62
2023-08-22 14:21:03 +08:00
Chaohui Wang
cc2133ba8e Clean up unused fields from EntityHeaderController
Bug: 295260929
Test: manual - on pages with header
Test: robo test
Change-Id: Icebd63dbb5d3d44b4b46d3bececb8b65b30b4883
2023-08-21 13:58:07 +08:00
Chaohui Wang
abe2710dc0 Clean up unused NetworkPolicyEditor
From DataUsageSummaryPreferenceController.

NetworkPolicyEditor.read() is not called, so
NetworkPolicyEditor.getPolicy() will always returns null.

Data limit info is already set in getDataUsageInfo().

Bug: 295260929
Test: robo test
Change-Id: I56a40cc906aa95207785886e704b1a59ea344e9c
2023-08-18 17:18:23 +08:00
Chaohui Wang
83e402a412 Remove DataUsageSummaryPreference unused fields
Bug: 295260929
Test: robo test
Change-Id: Ie44bc3e3b8b2e123bd51e2f9ee93ca9614ba54d3
2023-08-18 16:39:17 +08:00
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
0062308347 Merge "Fix references to resources for Settings" into main 2023-08-08 08:40:42 +00:00
Chaohui Wang
e9cf4bf65c Merge "Convert DataUsageLib to Kotlin" into main 2023-08-08 05:05:01 +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
Chaohui Wang
3cd47c1448 Clean up unused operator_warning
Usage is removed in Change I9781af3a53fe7050b414f0574abb7618f8d71707.

Bug: 285231003
Test: m Settings
Change-Id: I89fb8630cc6bea4828b14936d5e2234de9f232ea
2023-08-07 10:46:01 +08:00
Chaohui Wang
d01245e75b Convert DataUsageLib to Kotlin
For better null safe.

Also add unit tests.

Fix: 290698845
Fix: 290684887
Test: unit test
Test: manual - on Mobile Settings page
Change-Id: I9c9edb9b7cbf7d688a885e5c36b61bd6dc526add
2023-07-31 01:22:58 +00:00
Chaohui Wang
77fd6aa117 Use DataUsageLib in DataUsagePreferenceController
DataUsagePreferenceController use DataUsageLib before, and DataUsageLib
and com.android.settingslib.net.DataUsageUtils has same functionality.

com.android.settingslib.net.DataUsageUtils will be clean up, so use
DataUsageLib again.

Bug: 286082055
Test: m Settings
Change-Id: I6227f973ec38e5b0520f54a41ac2ede2929a1bcc
2023-07-04 19:08:46 +08:00
Chaohui Wang
5d847e0207 Merge "Call onViewCreated in DashboardFragment" into udc-qpr-dev am: 8617f63823
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23659924

Change-Id: I71e428a2a332e4ed6f3d4719c28cb5408aeaeb51
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 03:59:56 +00:00
SongFerng Wang
143d1f50ee Merge "Remove the owner" am: 286344d539 am: 448c8b61a8 am: 61ef9024c8 am: 7f29649aa9 am: 2a6553b122
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23688861

Change-Id: Ib77854f005228a2193682cc3e55406e0ef60e651
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 19:10:07 +00:00
SongFerng Wang
7f29649aa9 Merge "Remove the owner" am: 286344d539 am: 448c8b61a8 am: 61ef9024c8
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2623772

Change-Id: I278260f1a36ed24fd1ca2d53ffc7ff2431fd1005
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 07:54:48 +00:00
SongFerng Wang
448c8b61a8 Merge "Remove the owner" am: 286344d539
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2623772

Change-Id: Iad21da9fbcd8d9279c27beb7a7c0761644d8f2b4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 05:36:47 +00:00
Chaohui Wang
eb4fea1a36 Call onViewCreated in DashboardFragment
To let fragment's view lifecycle owner passed in to controllers.

For UI usage, view lifecycle owner is the best choice, controller could
use this lifecycle owner to observe events and do UI related works.

Usage DataSaverController as first example.

Bug: 287005021
Test: Manually for DataSaverController
Change-Id: Id965ea3a24d61f4d0ec6735632944f41f72ba06a
2023-06-14 12:22:12 +08:00
SongFerngWang
f405dadcf2 Remove the owner
Bug: 286964921
Test: build pass
Change-Id: I4daf629e8cb994753dca36a811f0d25685df6928
2023-06-13 15:10:46 +08:00
Chaohui Wang
3e35cff7ba Move unrestricted data summary to DataSaverController
DataSaverController currently used in 2 pages,
- Network & internet > Data Saver
- Apps > Special app access

This helps unify the logic, and instead of showing on "Special app
access", this summary shows on "Unrestricted data" is make more sense.

Bug: 280280596
Test: Manually on above pages
Test: Unit test
Change-Id: Ia151ed8179a250f8f20cc5041f9383fffebdab10
2023-05-26 13:05:48 +08:00
Chaohui Wang
b04b977cac Merge "Improve the loading time of DataSaverSummary" into udc-qpr-dev 2023-05-25 09:38:35 +00:00
Chaohui Wang
cb9374e294 Improve the loading time of DataSaverSummary
Use AppListRepository instead of ApplicationsState can achieve better
performance.

Fix: 280280596
Test: Manually on Data Saver page
Test: Unit test
Change-Id: I98cbae50500b90e7e7f6101fb064003339b082c1
2023-05-24 17:23:24 +08:00
Chaohui Wang
a95d62a4a8 Fix the bytes displayed unit
This used to by MByte and GByte, not used in other places in Settings,
and not align with the data summary on the same page.

Unify to MB and GB to align with other places in Settings and the data
summary on the same page.

Fix: 277900792
Test: Visual
Test: Unit test
Change-Id: I9f8ceac470aede135b7921c391c063ba87da661e
2023-05-23 14:21:03 +08:00
Weng Su
f65c4530e4 Hide carrier service package in Wi-Fi data usage settings
- When there is no specified SubscriptionInfo, Wi-Fi data usage will be displayed. In this case, the carrier service package also needs to be hidden.

- Fix failing test cases in DataUsageListTest

Bug: 273167633
Bug: 280021214
Test: manual test

Change-Id: I66ff8a28d9e7f7db77c8a210cb36676a07fc2c7d
2023-05-10 17:30:01 +08:00
Chaohui Wang
68d638707b Fix Data Saver page crashed when rotate
This is because before fix mLoadAppRunnable is async run. And the
getContext() within it will return null when the Fragment in some not
ready lifecycle.

Use viewLifecycleOwner.lifecycleScope.launch to ensure the async
function will only be run when the view is ready, and automatically
canceled when out of scope.

Since this requires Kotlin Coroutine so migrate DataSaverSummary to
Kotlin, other functionality are keep no change.

Fix: 279863347
Test: Manual
Change-Id: I2e97a071c103e63b3306b801fc38f4704e3be0d2
2023-04-27 20:08:19 +08:00
Chaohui Wang
8397287f87 Fix flicker for Data Usage page
Both "Mobile data usage" & "Non-carrier data usage".

By,
1. Use summary placeholder for usage amount to avoid shift
2. Before fix CycleListener's onItemSelected() is called multiple times,
   cause the app list to flash, let DataUsageList to handle the dedup
   logic to better handling.
3. Before fix if return from App Usage page, no loading view is
   displayed (only first enter has it), move this to onResume() to fix.
4. Before fix the cycles passed to App Usage page is cached (even when
   the cycles are changed), clear the cache when onResume() to fix.
5. Listener in SpinnerPreference could be null, add safety guard to it.

Cherry-pick from Change-Id: I95e544c46333496f4f30ed77dafa4779b4d66019

Fix: 277162513
Test: manual visual test
Test: Unit test
Change-Id: I50fb79aa3c888651a79fd1d030da554bebb6a660
2023-04-22 08:47:22 +08:00
Chaohui Wang
f46b33bbc4 Revert "[DataUsage] Adjusting the control of display sequence"
This reverts commit b8491032d7.

Bug: 277162513
Test: Manual
Test: Unit test
Change-Id: I5a84a9b1a99b1da4c18d786a6dff062b53cd46c6
2023-04-22 08:47:21 +08:00
Chaohui Wang
52b723beef Revert "[Settings] Adjusting the control of display sequence (part 2)"
This reverts commit 6b379cd7cf.

Bug: 277162513
Test: Manual
Change-Id: Iea61c06d328626a96c13c4c9f8a11f8329401b35
2023-04-22 08:47:20 +08:00
TreeHugger Robot
3771564adc Merge "[Settings] User with restriction should avoid from having entries through Settings search" into tm-qpr-dev am: 0362083f3a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21367719

Change-Id: I54ad21af66956d5711a72f587d9af4c8389a185f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-31 01:23:13 +00:00
TreeHugger Robot
0362083f3a Merge "[Settings] User with restriction should avoid from having entries through Settings search" into tm-qpr-dev 2023-03-31 00:20:15 +00:00
TreeHugger Robot
17e504f6a8 Merge "Restrict DataUsageList for guest user" into tm-qpr-dev am: 5bde972e4e am: f02d69dd4f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22323478

Change-Id: Ibfe01c87ea15467a736ccaf7d812c8eaffaefa76
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 20:39:38 +00:00
TreeHugger Robot
f02d69dd4f Merge "Restrict DataUsageList for guest user" into tm-qpr-dev am: 5bde972e4e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22323478

Change-Id: I6fcc26d5db647b9c36b743592a8b58dda52b1847
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 20:04:20 +00:00
TreeHugger Robot
5bde972e4e Merge "Restrict DataUsageList for guest user" into tm-qpr-dev 2023-03-30 19:08:44 +00:00
TreeHugger Robot
5d0b8031fd Merge "Restrict DataUsageSummary for guest user" into tm-qpr-dev am: b6399c95b3 am: 64aa2889d1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22323468

Change-Id: I7a12612e6aef131353d1dfbe2c8f4dd86d7b5b1c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 17:28:36 +00:00
TreeHugger Robot
64aa2889d1 Merge "Restrict DataUsageSummary for guest user" into tm-qpr-dev am: b6399c95b3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22323468

Change-Id: I5565f72a9d96e5212b2db3b57d9978648596fba3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 16:30:30 +00:00