Commit Graph

673 Commits

Author SHA1 Message Date
Chaohui Wang
af56a3ea21 Not use SubscriptionInfoEntity in DataUsageList
Carrier id will be get in DataUsageListAppsController async.

Bug: 348118234
Flag: EXEMPT clean up
Test: manual - on DataUsageList
Change-Id: I06b361f38d04c5020431cd8c6e359aa3a69942e5
2024-06-26 11:58:07 +08:00
Chaohui Wang
ec59cd0c8b Move mobile data logic into MobileDataRepository
Bug: 347224962
Flag: EXEMPT refactor
Test: manual on Mobile Settings
Test: unit
Change-Id: I2b54f9e6c4addafd31d7d96f2a44870cd54fe185
2024-06-20 11:49:06 +08:00
Chaohui Wang
168456c46a Reduce flaky of DataUsageSummaryPreference
- Set SnapshotTimeMs initial value to unknown
- Reserve height for DataUsageSummaryPreference

Bug: 341234382
Test: manual - on Mobile Settings
Change-Id: I9145f666c5f8fd9595bcc047160fd6da17b3091d
2024-05-24 12:14:01 +08: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
Manish Singh
01d17b02f5 Merge "Use the filter to filter out the private apps" into main 2024-04-10 17:06:25 +00:00
Chaohui Wang
950091d4a4 Improve content description of data usage chart
Use full month description, and add comma between date and percent.

Fix: 318771241
Test: manual - on DataUsageList
Change-Id: Ice18f162ab7cb908a3582308495bfddbd3dff488
2024-04-07 03:45:51 +00:00
Manish Singh
3c5938bf45 Use the filter to filter out the private apps
in the private profile when the private profile is in quiet mode.

Bug: 323327330
Test: manual
Change-Id: I30b14a843f388a9c83d0439b004f761328b74d64
2024-04-02 16:10:01 +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
songferngwang
be3008e09d Add log for setDataEnabledForReason
To know who change the mobile data

Bug: 331843727
Test: NA Adding log only
Change-Id: I3ef5662102761541cd3e0e4662e0acab07c71937
2024-03-29 09:06:34 +00:00
Olivier Nshimiye
baa7a8c2c8 Add enable_private_space_features flag check for Private Space implementation
Bug: 326060689
Test: Manual
Change-Id: I82105714e74789394a3d46b852aaa3e7b93e5877
2024-03-08 15:36:29 +00:00
josephpv
f668b38489 Handle listing of private space apps in data usage settings
Settings->Network & Internet->Internet->Non-carrier data usage
Settings->Newtork & Internet->SIMs->App datat usage

Screen recording link:
https://drive.google.com/file/d/1vQPunoza_eB0hiqJ-Mu_ylDOz2IbKjYQ/view?usp=drive_link

Bug: 324844478
Test: Manual
Change-Id: I020e6bd2a62a342570f2d33765c75b882be3569d
2024-02-28 10:35:36 +00:00
Hani Kazmi
206300962f Replace ECM AppOps call with service
A new ECM service was introcuded in changeId
I831391e4437b51b3312b5273a2360bd029a3d8ee.

We begin calling it, and update/cleanup method signatures to match.

Note: There are two feature flags:

1. enhancedConfirmationModeApisEnabled - read only, protects the
   mainline API.

2. extendEcmToAllSettings - runtime - gates calls to the above APIs.

We use both so we can ramp up in teamfood as needed.

Bug: 297372999
Test: Tested on device
Test: atest SpaPrivilegedLibTests
Test: atest com.android.settings.applications.specialaccess.notificationaccess
Test: atest com.android.settings.datausage
Test: atest PremiumSmsAccessTest
Test: atest RestrictedPreferenceHelperTest
Change-Id: I945ec51df5cd63de548a8ffdd1acc4f09f2301e5
2024-02-21 14:43:02 +00:00
Hani Kazmi
96ab2b9e25 Wired remaining SpecialAppAccess for ECM.
This change enables the remaining settings for ECM, and adds tests for
both this and previous ECM changes.

Bug: 297372999
Test: Tested on device
Test: atest SpaPrivilegedLibTests
Test: atest com.android.settings.applications.specialaccess.notificationaccess
Test: atest com.android.settings.datausage
Test: atest PremiumSmsAccessTest
Test: atest RestrictedPreferenceHelperTest
Change-Id: I73d39d765dba0c1a75111c37b29ccf1c85d2cdd8
2024-02-15 15:15:23 +00:00
Zhen Zhang
306df3beaa Merge "Rename method name" into main 2024-01-10 13:16:22 +00:00
Sunny Shao
bee65b4109 Merge "Revert^2 "Nullability Annotations replacement"" into main 2024-01-10 08:35:06 +00:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00: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
Zhen Zhang
22632be393 Rename method name
Renamed checkIfMeteredDataRestricted() to
checkIfMeteredDataUsageUserControllerDisabled() to relect its actual
usage.

Test: built successfully
Bug: 317265503
Change-Id: I76189da1da510067d5a715c5a34b6a18e53544fc
2024-01-04 10:33:52 -06:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +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
Wesley Wang
2dec2b2785 Merge "Apply dynamic deny list into data usage state" into main 2023-11-15 12:53:25 +00:00
Wesley Wang
f0b67ef0f9 Apply dynamic deny list into data usage state
- Initiate and sync existing network policy when creating the instance
 - Imple a method to suggest list of packages to set as POLICY_REJECT
 - Reset/clear the policy settings once clear storage or reset
   preference

Bug: 306329984
Test: make SettingsRoboTests
Change-Id: I10ba28fee08c29bc2092820fbc8d8ac0e61d30e7
2023-11-15 18:25:19 +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
08a1c9876e Revert^2 "Migrate to CompoundButton.OnCheckedChangeListener"
8979681a8d

Change-Id: I60edd3aabf49afbe4aa016af780baa68d928bddf
2023-11-07 14:17:15 +00:00
Sebastian Pickl
8979681a8d Revert "Migrate to CompoundButton.OnCheckedChangeListener"
Revert submission 25147565-onSwitchChanged-CompoundButton

Reason for revert: breaking builds 

Bug:309601476

Reverted changes: /q/submissionid:25147565-onSwitchChanged-CompoundButton

Change-Id: Ie746db87d9c642599593aa3d5e5baf6b7ba89c0e
2023-11-07 13:26:36 +00:00
Chaohui Wang
71d1f021af Migrate to CompoundButton.OnCheckedChangeListener
Switch and SwitchCompat are both CompoundButton.

Using CompoundButton in Java will helps migration in the future.

Bug: 306658427
Test: manual - check Settings pages
Change-Id: If2e08a9a9557ec66a3b31ef18cd2e15943098a59
2023-11-07 20:22:27 +08:00
Chaohui Wang
89a3f9b194 Merge "New MobileDataEnabledFlow" into main 2023-11-06 02:56:31 +00: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
9e72afdca4 New MobileDataEnabledFlow
To easily collect the mobile data enabled setting changes.

Bug: 308903704
Test: manual - on DataUsageList
Test: unit tests
Change-Id: I31327f59ac32c1a621e2853e64bd30d7d17e079c
2023-11-03 07:19:26 +08:00
Chaohui Wang
872cb0b209 Merge "Migrate CellDataPreference to switchPreferenceCompatStyle" into main 2023-11-02 03:41:21 +00:00
Chaohui Wang
e97bffd63f Fix mobile data usage chart on first day of cycle
Bug: 295260929
Test: manual - on Mobile data usage
Change-Id: Ib3345ee8541b9312fd26c7320fcf7193dc986236
2023-11-01 19:58:50 +08:00
Chaohui Wang
17d3c1d8d7 Migrate CellDataPreference to switchPreferenceCompatStyle
UI keep unchanged in this cl.

Bug: 306658427
Test: manual - on "Data usage" page
Change-Id: Ic8a7263fa220e9ce5ffb9f8a0d181f5c9ede9db7
2023-10-26 11:59:33 +00:00
Chaohui Wang
15ca95a31b Migrate to TwoStatePreference
SwitchPreference and SwitchPreferenceCompat are both TwoStatePreference.

Using TwoStatePreference in Java will helps migration in the future.

Bug: 306771414
Test: manual - check Settings pages
Change-Id: I84e1d7b09451106797c2b23d127855c6976678ca
2023-10-23 09:28:57 +00: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
6395cf8d30 Unify the default template and title
On AppDataUsage page, using single source of truth to calculate the
default template, and set title base on the current template.

Fix: 213266028
Fix: 234104784
Test: visual - on AppDataUsage
Test: unit test
Change-Id: I80facca0b000964e901905af51a344a4bc9f498b
2023-10-09 18:40:03 +08:00
Chaohui Wang
b7f8c15ff0 Merge "Status header not clickable in DataUsageSummary" into main 2023-10-09 10:37:37 +00:00
Chaohui Wang
51e1576c34 Status header not clickable in DataUsageSummary
Status header (DataUsageSummaryPreference) is not clickable in the
DataUsageSummary.

So remove the legacy logics, to unblock unified default template.

Bug: 234104784
Test: m RunSettingsRoboTests
Change-Id: I3dddf4ec3f84d53fd07afbb62d171942a6acce5d
2023-10-09 16:51:18 +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