Commit Graph

35 Commits

Author SHA1 Message Date
Chaohui Wang
e2f0a6b2d3 Fix the sorting order for restricted
Set the category for the restricted item to fix.

Fix: 357275199
Flag: EXEMPT bug fix
Test: manual - on DataUsageList
Test: atest AppDataUsageRepositoryTest
Change-Id: I63d3fd2ac85748d67ff6194cd60adeadae2aa984
2024-08-07 02:23:23 +00:00
Chaohui Wang
513ca3a808 Refresh DataUsageSummaryPreferenceController
When re-enter the page contains it.

Fix: 341234382
Test: manual - on Data usage
Test: unit test
Change-Id: Ib6a4624e11b60d703c35cea07232cc24f1516389
2024-05-23 16:50:54 +08:00
Chaohui Wang
7ca1ceb722 Use DataUsageFormatter to format app data usage
Use the new unitsContentDescription from Formatter.formatBytes()

Fix: 318780411
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I55079c83db2e46a48f49f746f2371825ec0bb029
2024-05-13 12:41:27 +08:00
Chaohui Wang
8c507e871b Catch exception in telephonyRepository.isDataEnabledFlow
And migrate BillingCycleRepository to use it.

Fix: 339197552
Test: manual - on data usage
Test: unit test
Change-Id: Ieac295f37fdbf75d184d66ea11f170652af3ec5f
2024-05-09 15:49:26 +00:00
Chaohui Wang
46a70d0369 Merge "Fix data usage when policy has no cycle" into 24D1-dev am: bb90a2c5c8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27209264

Change-Id: Ib349fb3eed75dc0d399d9a07355e170e30d1d985
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-08 08:56:39 +00:00
Chaohui Wang
107cca7a77 Fix data usage when policy has no cycle
Fallback to four weeks, as the same as no policy.

Fix: 336108815
Test: manual - on DataUsageList
Test: unit test
Change-Id: I63140a13ea3f3ee790cc911432fbdfd6247f7318
2024-05-07 14:22:35 +00:00
Chaohui Wang
07335514c4 Create AppDataUsageSummaryController
Content description for usage will be added later.

Bug: 318780411
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I3990218395dfd7553554346ea8ef00368ba57589
2024-04-22 04:58:49 +00:00
Chaohui Wang
00c21da30e Correct the data usage warning
- For MATCH_WIFI, only shown non carrier warning when has SIM
- For others, restore the previous operator warning

Bug: 331184249
Test: manual - on DataUsageList
Change-Id: I5d5c6b36c6874a547cc635c025aa77acadf6e1e3
2024-04-02 17:14:42 +08:00
Chaohui Wang
c24af35654 Filter buckets with zero usage
Avoid app with no data usage shows in DataUsageList.

Fix: 318780411
Test: manual - on DataUsageList
Test: unit test
Change-Id: Ieafd761f4c58ca4558f3f526f092e2be33027e3d
2024-04-01 16:52:13 +08:00
Chaohui Wang
df5c4f69a8 Fix DataUsageSummaryPreferenceController ANR
By off load data loading to background.

Fix: 295260929
Test: manual - on Mobile Settings
Test: unit test
Change-Id: Ib2ef19301b1e97af8a7f3861829779c3b70da4a4
2024-01-05 16:07:28 +08:00
Chaohui Wang
83c46eb1b6 Fix DataUsageListTest
Using androidx.fragment.app.testing.launchFragment to rewrite the test.

Bug: 315449973
Test: manual - on DataUsageList
Test: unit test
Change-Id: Ief373becb4ac8ab1ba93b8ff3c594b5682c4821e
2023-12-19 12:54:31 +08:00
Chaohui Wang
51fc4bef49 Use single queryDetailsForDevice if possible
To improve performance.

Since queryDetailsForDevice() also aggregated the uids into one,
the apps list in DataUsageList still needs another separated api call.

Fix: 315449973
Test: manual - on DataUsageList page
Test: unit tests
Change-Id: I96c23dd7d0d40ecd183e0fb0f61329db42dae1ab
2023-12-16 02:01:22 +08:00
Chaohui Wang
015a98ac38 Use IconDrawableFactory in AppPreferenceRepository
Bug: 314757827
Test: manual - on AppDataUsage
Test: unit test
Change-Id: Ica559ce044ebddfa8bc3ce994f9266ea1aabbe84
2023-12-05 14:56:47 +08:00
Chaohui Wang
0739b5edd1 Use MobileDataEnabledFlow in BillingCyclePreference
To easily collect the mobile data enabled setting changes.

Bug: 308903704
Test: manual - on Mobile Settings
Test: unit test
Change-Id: Ic449ce14fad38513b1e13facc6a192d30318c7b0
2023-11-10 10:33:46 +08:00
Chaohui Wang
fead9257b3 Fix AppDataUsageCycleController.setInitialCycles
This is actually called after displayPreference(), so should update
cycleAdapter in setInitialCycles() instead of displayPreference().

Also update test.

Bug: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I00287c21e307199b26c336f15b9a623737a5d130
2023-11-05 21:27:19 +08:00
Chaohui Wang
342256475d Improve AppDataUsageDetailsRepository
Reduce latency by reduce the number of system calls.

Bug: 295260929
Test: manual - on AppDataUsage page
Test: unit test
Change-Id: If233e223db744cd15d3a769416fd4c5957085417
2023-10-17 16:52:51 +08:00
Chaohui Wang
d9a372204b Refresh the DataUsageList when resume
Like when back from AppDataUsage page.

Bug: 295260929
Test: manual - on DataUsageList
Change-Id: I0b1698e47f06cbe731794a2a6b04e9c9ac9450d8
2023-10-14 19:34:09 +08:00
Chaohui Wang
8603782bc5 Optimize DataUsagePreferenceController
Bug: 295260929
Test: manual - on mobile settings
Change-Id: I89a36981771ef21f3c8213ad2039c3577196b493
2023-10-11 20:48:18 +08:00
Chaohui Wang
252450b5fc Improve the performance of AppDataUsagePreference
We only need aggregated summary, but NetworkCycleDataForUidLoader loads
usage for all cycles.

Create AppDataUsageSummaryRepository to reduce the system api call to
only once.

Fix: 304421722
Test: manual - on AppInfoSettings
Test: unit test
Change-Id: I115dfb51dbf77ed3fdde985aa1a968ff7462bebc
2023-10-10 15:51:40 +08:00
Chaohui Wang
741979bc02 Create AppDataUsageCycleController
To improve performance and better organization and testings.

Fix: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I277133b55378a3445aceb826d771b14c0fc91e4a
2023-10-09 16:19:08 +08:00
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
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
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
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
88343a3d7c Remove getMobileTemplate_mergedImsisFromGroupNull_returnRequestedSub
Because,
 - telephonyManager.mergedImsisFromGroup is @NonNull
 - telephonyManager.mergedImsisFromGroup is fixed, will not return null
 - This test no longer feasible, since return null will crash now

Bug: 297923588
Test: atest SettingsSpaUnitTests
Change-Id: Ic09cd9b5a36a4743a65e05105ce2e814c020491f
2023-08-29 13:02:53 +08:00
Colin Cross
4700dd261f Skip test broken by @NonNull annotation fix
b/294110802 fixed the @NonNull annotation so that it was visible to
kotlin when applied to methods outside the current build module.  This
caused kotlin to insert more null checks, which broke a test that was
mocking a method annoated with @NonNull and forcing it to return null.
Add @Ignore to the test for now.

Bug: 294110802
Bug: 297923588
Test: atest SettingsSpaUnitTests
Change-Id: I86a677c5ac01bcfaeebe8c339791cca5b2b97fc7
2023-08-28 15:36:09 -07: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
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