For better organization and testings.
Bug: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: Ie3d35f5d112cf06cca585c9859624d705fbe2655
For better organization and testings.
Bug: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I77ceeccc7055fcd948fe40d5dfb9cc4a9b9ad2ee
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
Move spinner and config button to DataUsageListHeaderController.
Bug: 290856342
Test: manual - on DataUsageList and AppDataUsage
Test: unit test
Change-Id: I655bd3441b2305708c0052f1203538bb07eef2af
Unify the enable logic for the "Data warning & limit" page.
Bug: 290856342
Test: manual - on DataUsageList
Test: m RunSettingsRoboTests
Change-Id: I3014461ef21768b5d0eb6d91873a4ba52d20f6bf
Not used any more.
Bug: 290856342
Test: manual - on mobile settings
Test: m RunSettingsRoboTests
Test: unit test
Change-Id: I9c8dde2a8812e83e535d15713ccbf25b42f1f303
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
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
From DataUsageList for better organization and testing.
Bug: 290856342
Test: manual - on DataUsageList
Test: unit test
Change-Id: I97e327a220d40942b9345ec7f1f8c466ac1fc9da
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
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
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
Usage is removed in Change I9781af3a53fe7050b414f0574abb7618f8d71707.
Bug: 285231003
Test: m Settings
Change-Id: I89fb8630cc6bea4828b14936d5e2234de9f232ea
For better null safe.
Also add unit tests.
Fix: 290698845
Fix: 290684887
Test: unit test
Test: manual - on Mobile Settings page
Change-Id: I9c9edb9b7cbf7d688a885e5c36b61bd6dc526add
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
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
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
Use AppListRepository instead of ApplicationsState can achieve better
performance.
Fix: 280280596
Test: Manually on Data Saver page
Test: Unit test
Change-Id: I98cbae50500b90e7e7f6101fb064003339b082c1
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
- 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
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
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