Commit Graph

577 Commits

Author SHA1 Message Date
Antony Sargent
625787b391 Add data usage header to mobile network details page
As a part of the work for subscriptions UI improvements, we want to show
data usage information at the top of the mobile network details page,
and those details need to be specific to the particular subscription
we're showing details for, even if that SIM isn't the current default
one. This is useful for seeing data usage across your SIMs in dual-SIM
devices.

This CL adapts our already existing DataUsageSummaryPreferenceController
class so that if can be used on any fragment instead of just the
DataUsageSummary one, and changes it to take an explicit subscription
id instead of assuming it should use the default one.

Bug: 122670283
Test: make RunSettingsRoboTests
Change-Id: I41e307b0f32580c73b08adec7cabf01c96d7e835
2019-01-17 21:50:27 -08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Malcolm Chen
14dde50c3a Don't show hidden Cellular subscription in Settings.
Replace getActiveSubscriptionInfoList() with
getActiveSubscriptionInfoList(true) so that settings will not show
hidden subscriptions to the user in various pages.

Bug: 121396526
Test: manual
Change-Id: I717999fed7d3a5a037914239694bef52df7c6207
2019-01-16 00:21:30 -08:00
Edgar Wang
0fc557bbc9 Fix App data usage screen header title changing after device orientation
- Chageed the title "App data usage" to "Mobile data & Wi-Fi"

Change-Id: I0fa00180eedda6be6189f871f9984ac164f9fb67
Fixes: 118770561
Test: visual & robotests
2018-12-27 20:07:31 +08:00
Doris Ling
8727a40893 Don't plot usage data beyond current date.
- the new data usage api returns buckets for future date with 0 usage.
When we plot the data usage chart, need to check the bucket date to make
sure we only plot points up to the current date.

Change-Id: I50e161ca9cdbb30c8fda8f6cdd24c993b546ad0d
Fixes: 120490567
Test: make RunSettingsRoboTests
2018-12-06 17:12:05 -08:00
Doris Ling
282a0d9222 Remove "v2" from the data usage version 2 code.
Change-Id: I8ede82029194d1a9a43d00a3de7ec1a8dd77d978
Fixes: 117420679
Test: make RunSettingsRoboTests
2018-12-04 18:24:37 +00:00
Doris Ling
c11666cc00 Remove data usage v1 code.
- remove all v1 code and the corresponding feature flag switch.

Bug: 117420679
Test: make RunSettingsRoboTests
Change-Id: Ib062c03c671b0f860698f5e5e153ab46d963175a
2018-12-03 11:12:50 -08:00
Doris Ling
d13b50b39e Remove the 2 seconds wait time to sync app data usage list.
- in v2, completely remove the asyn task to force update the network
stats since the network stats apis is actually not used.
- in v1, remove the 2s delay and only update the list when the asyn task
is done.

Change-Id: I10e887022d07fe38504036cbf3f12362eec939b3
Fixes: 119562454
Test: manual
2018-11-29 13:18:21 -08:00
Raff Tsai
1d88f4c61b Fix Settings crash on changing device orientation
- AppDataUsage assign preferences to Applist in loaderCallback.
When device rotate we will assign preference to Applist second
time which throw IllegalStateException Exception. We will use
restartLoader which create new loader rather than use existed
loader.

Change-Id: I540d645e930a29f989c4fe374e2103ca201da198
Fixes: 118195540
Test: manual
2018-10-30 09:57:53 +08:00
tmfang
6e16b69887 Sync style of filter component in data usage
Settings have new filter component with settings style.
This CL replaced Spinner to SettingsSpinner in data usage page.

Change-Id: I212b6b6ed203f8bffd094c0180873060b93c39cb
Fixes: 117568930
Test: robotests, visual
2018-10-17 05:14:46 +08:00
Doris Ling
c4b40b0669 Use default network template in billing cycle settings.
- if the network template is not set in the bundle arguments, use the
default network template for getting the billing data.
- change to use ConnectivityManager.from(context) in DataUsageUtils to
be consistent with the usage in other methods.

Change-Id: I25eb27f8f26d9ecafc66aa2c69806e94c6b63499
Fixes: 117452991
Test: make RunSettingsRoboTests
2018-10-10 12:50:34 -07:00
Doris Ling
8e208c6516 Remove obsolete chart view widgets.
ChartDataUsageView and ChartNetworkSeriesView are no longer being used.
Remove them to avoid the need to maintain obsolete codes.

Bug: 117433810
Test: rebuild and make RunSettingsRoboTests
Change-Id: I0c99725500926083bee693c102a323d563647c3a
2018-10-08 14:18:50 -07:00
Doris Ling
77f7bf675c Merge "Fix typo in getHistoriclUsageLevel()" 2018-10-08 17:24:37 +00:00
Doris Ling
d9663b7822 Fix typo in getHistoriclUsageLevel()
Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I523e43f60948e49e78d518a4eeb3ed2bf885f7bd
2018-10-05 14:22:07 -07:00
Doris Ling
ab9c9e4df9 Get ethernet data usage from NetworkStatsManager.
- change to use NetworkStatsManager.querySummaryForUser() to check for
ethernet usage data instead of getting it from INetworkStatsSession.

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I60364b4a5f7879906beba194c50955154d56803a
2018-10-04 10:15:44 -07:00
Doris Ling
3c5850ee62 Use the new loader to show app data usage details.
- this is for showing the detail usage (total, background, and
foreground) for a specific app for each billing cycle.

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I8e02872a4204b682089ea117811b50966e785c55
2018-10-03 19:49:22 +00:00
Doris Ling
b758e2b473 Use the new loader to show app data usage summary.
- this is for getting the summary text for Apps & notifications ->
(select an app) -> Mobile data & Wi-Fi

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: Ib4d8e7308ea8a782b9af3bbb99db2b1235e0aca2
2018-10-02 16:21:14 -07:00
Doris Ling
4a99c36572 Rename NetworkCycleData to NetworkCycleChartData.
Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I47c1bbe09f11f4d0bd0d41c1f9d4c3e5a3773f05
2018-09-28 16:40:38 -07:00
Doris Ling
5d397194ec Merge "Add version 2 of AppDataUsage." 2018-09-28 17:33:07 +00:00
Doris Ling
0d218d0798 Add version 2 of AppDataUsage.
- a simple copy of AppDataUsage to AppDataUsageV2, so that future
modification can be compared more easily.

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I4deb8fcd93ae1ea391fc5fca0ff28c6dc57bfef9
2018-09-27 16:53:31 -07:00
Doris Ling
2581c09679 Merge "Use the loader to get usage data for each billing cycle." 2018-09-27 17:15:58 +00:00
Doris Ling
654adf9c9e Use the loader to get usage data for each billing cycle.
Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I4242687b404a290e81d43c505b9afbd2a07aafdb
2018-09-26 13:33:10 -07:00
Fan Zhang
754f737c2c Move AppPreference to settingslib, and change imports.
Bug: 116364655
Test: robotests
Change-Id: I313272737dc7c068c47abf8ea021de7d2bea0a25
2018-09-25 09:51:19 -07:00
Doris Ling
f7b8505948 Move hasReadyMobileRadio() to DataUsageUtils.
- move the method from DataUsageList to DataUsageUtils where other
utility methods are.

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: If7176cb4278d568f890a0c94437c4483bbd472f9
2018-09-18 11:21:59 -07:00
Doris Ling
27ee2f0865 Use the new network stats loader to get usage data for all apps.
- change to use the new NetworkStats.Bucket instead of
NetworkStats.Entry when iterating through the detail data.

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I305cc384320e4a72531d80dd9a00a3034ab12837
2018-09-17 15:02:06 -07:00
Doris Ling
6127d9de4c Add DataUsageListV2 for showing network stats detail.
Initial step: simply duplicate the existing DataUsageList class.

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: I4d48405cd127cccb041ba0457638337f6918ce2e
2018-09-17 10:19:39 -07:00
Philip P. Moltmann
8a33bd5947 Merge "RestrictedLockUtils was split into ...Internal" 2018-08-31 04:47:28 +00:00
Doris Ling
22c078c8de Remove the deprecated class DataUsageBase.
- and update all its subclass to extend DataUsageBaseFragment instead.

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: Ic5720af43082d8b39642b6a539515f3f20d32694
2018-08-30 14:16:13 -07:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
a2adcc57c8 Fix special access summary text
Use ApplicationState to count number of apps using unrestricted_data.

Change-Id: I083ff50e3e516536c87afa71d786b22e83d9a498
Fixes: 69313992
Test: robotests
2018-08-22 17:48:03 -07:00
Stanley Wang
6fe0330bf7 Icon color of spinner updated
Change-Id: Iea7f5d5ec43360cf6114caf368fa8c93ce4cf95c
Fixes: 109843982
Test: manual
2018-08-02 15:20:51 +08:00
tmfang
41ab6b4bf8 Migrate all AlertDialogs to AndroidX version
This CL only changed AlertDialog imports.
So, reviewer can review it easily.

Change-Id: I097bc44394195b14287f4f920c570ac8653f356a
Fixes: 111413092
Test: This CL can't pass Robo test.
2018-07-20 11:32:13 +08:00
Fan Zhang
176ccd0c35 Clean up: fix incorrect @VisibleForTesting imports
Test: rebuild and robotests
Change-Id: I33d7ee1c0622c01f592920baaf01d44ad19d9a13
2018-07-13 13:08:53 -07:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
This patch focused on fixing compile errors and some runtime errors.

Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Fan Zhang
af1552251f Add some pages to search index.
* Notification access page
* VR Listener page
* Feature flags in dev options
* QS Tile developer options
* User dictionary
* Billing cycle
* Some accessibilty pages

Bug: 70720645
Test: robotests
Change-Id: I4f7d3d65b2803cebf178ac345a79721232df707c
2018-07-11 16:39:29 -07:00
Fan Zhang
4560ab7a35 Add a few pages to search index.
- Data saver
- A few special permission access pages
   - Picture-in-picture
   - Premium sms
   - do not disturb access
- And a unrelated cleanup: move EmptyTextFragment from
  notification/ to widget/

Bug: 70720645
Test: robotests
Change-Id: I6a87f712bf81f9fd32fa9a3826fba851ca748409
2018-07-10 17:02:09 -07:00
Doris Ling
73b6e19968 Disable the usage summary when there's no usage data.
- when the preference is initialized, check for the network's overall
total usage. If there is no data available, disable launching the detail
page.

Change-Id: Ie81a5471de134bac63dedd3c39f4afe44201efe5
Fixes: 74451774
Fixes: 35855928
Test: make RunSettingsRoboTests
2018-06-20 15:26:43 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
TreeHugger Robot
f817b1e3a5 Merge "Misc clean up. move widgets from graph to widget package." 2018-06-12 01:01:32 +00:00
Fan Zhang
670ce333ae Misc clean up. move widgets from graph to widget package.
Bug: n/a
Test: robotests, rebuild
Change-Id: I910f355312d52e81a0bf57b46a3f267e1eb9882a
2018-06-11 16:05:12 -07:00
Fan Zhang
cd21cb8def Remove DataSummaryUsageLegacy.
Change-Id: I8da039530cafe547008b434b6016add5f9383e94
Fixes: 109943959
Test: robotest/atest
2018-06-11 11:05:54 -07:00
Fan Zhang
7f5692bdea Misc search clean up
- Make color mode page searchable and suppress its parent page.
- Suppress entire DataUsageSummaryLegacy page in search. This page will
  be deleted soon

Change-Id: I0f98c9073358934b98e986d034c89a9bf87e58ad
Fixes: 70720645
Test: robotests
2018-06-08 14:51:19 -07:00
Yanting_Yang
db435e256d Migrate UnrestrictedDataAccess to DashboardFragment
- UnrestrictedDataAccessPreferenceController

Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.datausage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=CodeInspectionTest
      atest UniquePreferenceTest

Change-Id: I71abd837ef51e4e9e0a2ee46791d704245c9b3ab
2018-05-14 21:18:38 -07:00
android-build-team Robot
02ec86a17b Merge "Establish permanently unavailable settings" 2018-05-09 18:14:32 +00:00
Matthew Fritze
f87a1f3f41 Establish permanently unavailable settings
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.

The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.

Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.

Bug: 78910582
Bug: 79245656
Test: robotests
Change-Id: I58821a6cfd6134b3b351657b6edf5f74ead00643
2018-05-09 08:36:59 -07:00
hjchangliao
e86eec0c07 Rename SubSettingLauncher.setTitle, add java doc
For make this method usage more clear,
setTitle(charSequence) rename as setTitleText,
add java doc: it is only for user generated string
setTitle(int) rename as setTitleRes.

Change-Id: I972cb6a8ff90873dfdc25c23f6dc3d68103c8e4e
Fixes: 78347436
Test: make RunSettingsRoboTests
2018-05-09 10:00:05 +08:00
TreeHugger Robot
e394f908d5 Merge "Replace PackageManagerWrapper with PackageManager" 2018-04-26 02:40:34 +00:00
Jan Nordqvist
b0802bdcb6 Hiding data remaining text when available space is too small.
Bug: 77799887

Test: manual
Test: make RunSettingsRoboTests
Change-Id: I53390a36e74f9832bdc7757cd67d51064e8a77f3
2018-04-25 15:45:08 -07:00