Commit Graph

254 Commits

Author SHA1 Message Date
David Liu
d7dec0bf7f Migrate Data Saver
Add the skeleton of the Data Saver

Bug: 368359883
Test: atest DataSaverScreenTest
Flag: com.android.settings.flags.catalyst_restrict_background_parent_entry
Change-Id: I008c1ff7a1ad4ff1eeb95be730680abe5666f26c
2024-10-24 22:27:56 +00:00
Edgar Wang
4dc5a005c8 Update the layout of AppDataUsagePreference
The layout of AppDataUsagePreference including a progressbar, that's not common pattern in SettingsLib.

Bug: 365506467
Bug: 370456736
Change-Id: I28d25724067d85f8d37c3b5273d38055ba7021a6
Test: atest
Flag: EXEMPT bugfix
2024-09-30 16:42:33 +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
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
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
FanWu
48f50222f1 Ignore failing tests in ChartDataUsagePreferenceTest
Bug: 313568482

Test: atest
Change-Id: I5812203a9442ba8a7116ffeb6b3cedf39c9ef2dd
2023-11-28 16:08:29 +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
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
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
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
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
Eric Rahm
802b922593 Revert "Test Fix SettingRobolectricTest Fail"
This reverts commit 818f77cd1f.

Reason for revert: Underlying issue fixed in ag/23454315.

Bug: b/275023433
Test: atest SettingsGlobalRoboTests

Change-Id: I1af272efd00b3c5bd35310512f5712d5d1c7d834
2023-09-11 13:38:36 +00: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
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
Kevin Liu
dad495d745 Merge "Setup external/robolectric for SettingsRoboTests" into main 2023-08-18 21:56:24 +00: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
Rex Hoffman
3c961e1c0e Setup external/robolectric for SettingsRoboTests
Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately

Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g

Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
2023-08-17 22:33:20 +00:00
Chaohui Wang
f5335790bb Use resource processor for SettingsRoboTestStub
Bug: 293810334
Test: m RunSettingsRoboTests
Change-Id: Ie063a19695e54619ef511b86e0bbed2c2db45a3e
2023-08-16 13:28:02 +08:00
Chaohui Wang
0062308347 Merge "Fix references to resources for Settings" into main 2023-08-08 08:40:42 +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
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
Treehugger Robot
7a7193c865 Merge "Hide carrier service package in Wi-Fi data usage settings" into udc-dev 2023-05-10 10:59:27 +00: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
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +00: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
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
Weng Su
6e79778d3c Restrict DataUsageList for guest user
- Don't show DataUsageList if the user is a guest

Bug: 262741858
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageListTest

Change-Id: Id877c2235c6a65683f2d0a0ba381dffba4dd95b8
2023-03-29 21:44:55 +08:00
Weng Su
3abf4d9d5f Restrict DataUsageSummary for guest user
- Don't show DataUsageSummary if the user is a guest

Bug: 262243574
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryTest

Change-Id: I94d0fd18a81dc0f0adba544340e648d58c5d3358
2023-03-29 18:12:44 +08:00
Junyu Lai
3eb30fb31c Merge "Do not crash when duplication found in merged imsi list" am: ae267bae74 am: 0da4abe1db am: 4beef2e82e
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2479336

Change-Id: I7323a6fbd1e8f7595fdb7c29e7520cff5ac12a00
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-10 10:48:49 +00:00
Junyu Lai
0da4abe1db Merge "Do not crash when duplication found in merged imsi list" am: ae267bae74
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2479336

Change-Id: I3e55fc5496918d8e2d0c230df74b62e1e6847fb6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-10 09:37:20 +00:00