"One" and "1" are not same, such as "1st place" vs "a
place". Also in many languages, plurals expression is different with English, for more detail please check: go/android-i18n-plurals.
So in string res file, replace "one" with excat value "1" is a more
proper way.
Test: Existing unit tests still pass.
Bug: 199230342
Change-Id: I832abc38afc5d8816fa803865c25e6017cffa2c6
Enhancing the control of R.bool.config_show_data_saver when false, which including:
1. Initial presentation is invisible
2. Leaving UI when triggered
3. Avoid from getting searched
4. Robolectric test case support
Bug: 243877672
Test: test cases and local testing
Change-Id: I909522c0244ebb012a27d6aff34120a4f90128c6
mDataUsageState is nullable in UnrestrictedDataAccessPreference.java, so we'd better
add a annotation to getDataUsageState(), and add a null-check before calling it.
Bug: 246828843
Test: manual and Robotest.
Change-Id: If7fea53ec7efd004391a09becdba5709ae686f40
- Declare the service callback as static class and use WeakReference to avoid the callback link being occupied
- Use application context instead of fragment context to avoid context being occupied by external modules
Bug: 237273138
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
Change-Id: Icca145b8ef08b9949feafbbd4e761f8d50c99181
- The Unrestricted data need to take a long time to load from ApplicationsState.loader (more then 256ms)
- Load Unrestricted data after Settings launched
Bug: 227863469
Test: manual test, analyze results with perfetto UI.
Change-Id: I5e49a2b0f2b563b426354f4d2e6e650dcc02c98b
"Yes" and "no" were redefined many times with no clear benefit, so this
consolidates them into one definition.
Bug: 243843096
Test: Build, install, and open the Settings app
Test: atest SettingsRoboTests
Change-Id: I5f84d09f223efd478461ded93aeac82bf7b128d8
Should access API which is irrelated to status of data limit.
Changing from API isDataEnabledForApn(ApnSetting.TYPE_DEFAULT)
into isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER).
Bug: 223361190
Change-Id: Iada89de38e9db3706a944c7a5b5f8a3e87d415e5
Test: Manual
(cherry picked from commit 7e530dda39)
Should access API which is irrelated to status of data limit.
Changing from API isDataEnabledForApn(ApnSetting.TYPE_DEFAULT)
into isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER).
Bug: 223361190
Change-Id: Iada89de38e9db3706a944c7a5b5f8a3e87d415e5
Test: Manual
When the page is entered from the AppInfoDashboardFragment, there is no
way to know whether the cycle data is available before finished the
async loading. If it's zero usage, the cycle spinner will be removed,
which cause a flicker.
Temporarily disable the preference list's animator before initial
page updates can solve this issue.
This also fix another flicker on this page when the background data is
off.
Fix: 233963355
Test: manual visual test
Change-Id: I795ed95e15bb3216fa17adfd4f57faf5fd92fa00
AppDataUsagePreference's title is sometime async loading, which cause
preference height change, which lead to page flicker.
Set a title placeholder before async loading to reduce flicker.
Fix: 187019210
Test: manual visual test
Change-Id: I26df832ab03a04641fd3d6eb678903ff3fe8820a
Reland http://ag/2529020 because the over-translation issue should be
resolved now.
Modify various formatters to avoid using framework strings for
formatting file sizes.
Also update README instructions for running unit tests.
Bug: 36994779
Bug: 71580745
Bug: 217592956
Test: no new test failures from RunSettingsRoboTests
Test: manual opening the settings page.
Change-Id: Ic4689ab1b76622028004d05e69858228bdc441cf
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.
Fix: 187019210
Test: manual visual test
Change-Id: I95e544c46333496f4f30ed77dafa4779b4d66019
Hide some Preference which requires mobile data on device didn't support
it.
Bug: 221999174
Test: local
Change-Id: I7dd6e13aea0ed4467c7c7edeada564e42ea78349
Screen update been requested while querying data usage and response not
yet available.
This change tried to avoid from updating the UI in this case.
Bug: 210664126
Test: local
Merged-In: Id055fbd441936a9842b4acc978a894a855165bb7
Change-Id: Ia57f831d78b12754d60f920a9dbe057400dc4ce2
Some pages that extend ManageApplications always display a loading
spinner when entering them. This is caused by that it takes over
100 ms to load all apps and to sort the apps. In addition, the task of
loading all apps might be invoked twice, which caused loading time
increasing.
This CL is to make sure the task of loading all apps execute only once
in those pages that extend ManageApplications.
Bug: 222985623
Test: manual test
Change-Id: I3b15bf2eee2a4c220f42da39a29f0014cc620898
SDK sandboxes run in a separate UID range. Their network usage should be
attributed to the corresponding app.
Make sure we collapse the usage collection of sandboxes to the
corresponding app UID in DataUsageList.
For AppDataUsage, make sure we add in the sandbox UID when being asked
to calculate data usage for a regular app UID. Invoke
DataUsageCycleLoader with all UIDs in AppItem, because there can now be
multiple UIDs associated with a regular app, too. Also make sure that
all new instances of AppItem for regular applications have their own
application UID.
Bug: 225319220
Test: manual
Change-Id: Id101a96ee4e3ba02376fa2ac64a9f9c2581acb61
Screen update been requested while querying data usage and response not
yet available.
This change tried to avoid from updating the UI in this case.
Bug: 210664126
Test: local
Change-Id: Id055fbd441936a9842b4acc978a894a855165bb7
Both "Mobile data usage" & "Non-carrier data usage".
By,
1. Add header in onCreate() instead of onViewCreated()
2. Keep the space for Spinner, and preload initial cycles
3. Keep the space for 3 usage summaries
Bug: 191730864
Test: manual
Change-Id: I8c309c5f51ce6290383a2d10f75e41d0f207d61a
1. Add missing lines within file DataUsageList. (Which might lead to
crash in some cases)
2. Change the naming based on comments within ag/17226775
Bug: 227266811
Test: robotest ChartDataUsagePreferenceTest DataUsageListTest
Change-Id: I4cde5a04befd058c2a1a3aa30826caa5b479b69f
Showing a usage graph before end of statistic would lead to incorrect
height of usage graph, and another update would lead to layout moved a
little bit.
This change tries to improve it through:
1. Start the loading animation earlier, and stop animation when
statistics loaded.
(Only effective when UI re-create.)
2. Update the UI only when statistics are ready.
Bug: 187019210
Test: robotest ChartDataUsagePreferenceTest DataUsageListTest
Change-Id: Ic83f2422b6c6d55948110d652ee24234f43b6445
- Updated to use the AllNetworkKeys set instead of NetworkId.
- Fix crash issue when mDataUsageController is not created.
- See b/126299427#comment37 for a screenshot.
Bug: 126299427
Test: manual test
make RunSettingsRoboTests
ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiDetailPreferenceController2Test
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiDataUsageSummaryPreferenceControllerTest
Change-Id: I26289fde1f18d97631448edc71e034d33b865cc4
Add null check for the DataUsageState to avoid NPE since it comes from
the extraInfo of AppEntry that possibly be null.
Fixes: 217250071
Test: manual
Change-Id: I1a41a49ed74bc6addc6b5dd0564973c210a6af74