Commit Graph

46 Commits

Author SHA1 Message Date
Bonian Chen
0f68faf996 [Settings] Avoid from crash UI when querying data usage
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
2022-04-29 14:28:19 +08:00
Junyu Lai
25e26ea7af [MS49] Remove NetworkStats hidden Api usages
This includes:
1. Remove unused INetworkStatsService and NetworkStatsHistory.
2. Replace NetworkTemplate usages with builder.
3. Replace TrafficStats references to DataUnit.
4. Reimplement NetworkTemplate#normalize.

Test: make RunSettingsRoboTests
Bug: 204830222
Change-Id: I8efecda5df403e9ed588daecd169cb3498d213a2
2022-01-26 11:05:57 +00:00
Zoey Chen
ad79a1819f [Provider Model] Internal cleanup - remove Provider Model flag and deprecated legacy UI part.4
Test: atest NetworkDashboardFragmentTest
Bug: 197066557
Change-Id: I9781af3a53fe7050b414f0574abb7618f8d71707
2021-12-15 10:19:49 +00:00
Weng Su
890d3e039b [Provider Model] Non-carrier data usage settings UI change
- Change the title from “Wi-Fi data usage” to “Non-carrier data usage”
- Change the warning message from “Carrier data accounting may differ
from device accounting” to “Excludes data that is used by carrier
networks”
- Screenshot:
  https://screenshot.googleplex.com/3bicWHu7g5StH8R
  https://screenshot.googleplex.com/AqceQBtY4AqnuGH

Bug: 172788855
Test: manual test
Change-Id: Ic4d6e5dbb0b7d1d851f6cf033d400a7f780261ac
2020-11-12 08:04:35 +00:00
Arc Wang
aa6b25e137 [A11Y][Wi-Fi] Prevent data usage header spinner speak at onResume
Ignore AccessibilityEvent.TYPE_VIEW_SELECTED for the Spinner.

Bug: 146818854
Test: manual
      Should not speak for header spinner right after entering
      'Wi-Fi data usage'
Change-Id: I289d9a781242f8bfec56c59b7be2ac0688c5e485
2020-04-09 16:51:10 +08:00
Arc Wang
9b69fd17bf [Wi-Fi] Fix data usage screen flash 1~2 times problem
Data loaders should be destroyed at onPause or
the APP list will be updated twice.

Bug: 146841747
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageListTest
Change-Id: Ic1b8ef443dd8e50777f1e3a16977add654748c54
2020-02-27 16:18:04 +08:00
Bonian Chen
90cb45e31c [Settings] Code refactor
1. Fix comments
2. Split test case

Bug: 147338143
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageListTest
Change-Id: I017a3ac8a716e69eb4d9c3e30e20363a215563a2
2020-01-08 14:30:13 +00:00
Bonian Chen
5e65da0c2f [Settings] Apply proxy design to data usage
Enable proxy to subscription manager in data usage UI.

Bug: 141833767
Test: manual
make RunSettingsRoboTests -j ROBOTEST_FILTER=BillingCyclePreferenceTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=CellDataPreferenceTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageListTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageSummaryTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageUtilsTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=MobileDataEnabledListenerTest

Change-Id: Id119738dc16ece8767c088b9a0794997e4b0334f
2019-11-11 13:03:03 +08:00
Lei Yu
22a9f539e9 Use NetworkTemplate to query data
So virtual carrier can get correct data with merged subscriberIds

Bug: 120566366
Test: RunSettingsLibRoboTests
Change-Id: I02abed77dffb55ef49fe0c4142f6f5b4a42ebe52
2019-05-13 13:04:46 -07:00
Yi-Ling Chuang
9a7ead8962 Hide filter spinner when data is loading.
When the filter spinner is initialized, set GONE to its visibility.
Only make it visible after network cycle data finishes loading to
avoid presenting an empty filter spinner.

Fixes: 130397929
Test: robotests
Change-Id: I740fdad35ec82bc0be386c24e53348917bf6bfba
2019-04-16 16:53:32 +08:00
Doris Ling
3d238da4b5 Show app usage data for the correct cycle.
- when launching the app data usage from the data usage list, pass the
info about the current cycle that the user is looking at, and select
the same cycle by default when the page is first launched to match the
data on the previous page.

Change-Id: Ic91bd8ee78db4d76551dff4b132c1b74d4b3c19d
Fixes: 123192721
Test: make RunSettingsRoboTests
2019-02-12 16:53:35 -08:00
Andrew Sapperstein
5efb70ac18 Separate OTA data usage from SYSTEM_UID.
Prior to this CL, Process.OTA_UPDATE_UID was included with SYSTEM_UID
for the purposes of per-app data usage in the DataUsageList. With this
change, it is now separated into its own category.

This change also deletes the duplicate ic_system_update* icons and
moves the one implementation into SettingsLib.

Fixes: 70640191
Test: manually verified locally that there is an item in the list
with the proper title. Required setting up a custom OTA for my
test device.

Change-Id: Iecc45648f68a12c9f8e2370577ab017863e7fcb2
2019-02-08 10:39:46 -08:00
Doris Ling
9c2556da09 Query correct subscription id for mobile data.
- On the Data usage settings page, we check for valid subscription id to
determine if we should show the mobile section. However, we are querying
the default subscription id, which will return the 1st id for any
subscription if there's no data subscription. Since this is for mobile
section, we should query the default data subscription id explicitly.

Change-Id: I08c80639d07477e486a2d9a10761e11df4c73b28
Fixes: 119881046
Test: make RunSettingsRoboTests
2019-01-24 14:21:18 -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
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
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
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
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
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
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
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
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
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
Stanley Wang
6fe0330bf7 Icon color of spinner updated
Change-Id: Iea7f5d5ec43360cf6114caf368fa8c93ce4cf95c
Fixes: 109843982
Test: manual
2018-08-02 15:20:51 +08: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
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -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
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Fan Zhang
289677f97f Switch from SI to IEC unit when formatting data usage bytes
- Created a new helper method DataUsageUtils.formatDataUsage() to
  format data usage bytes using IEC formatting.
- Switch from Formatter.formatFileSize() to DataUsageUtils.formatDataUsage()
  everywhere in datausage package.

Change-Id: I9323beed8bf5126b153fc9a3cdd9591c97ca6fd2
Bug: 76159924
Test: robotests
2018-04-12 09:52:35 -07:00
Fan Zhang
681c073fdb Fix crash when launching mobile data usage page via intent.
Need to parse parameters from Intent if argument is empty or has no
parameter.

Change-Id: I23af434e1be794036dc711b72e0d9afa8bd65aa6
Fixes: 74235734
Test: robotests
2018-03-21 16:58:23 -07:00
Fan Zhang
b1d6c76b53 Migrate more settings to SubSettingLauncher
Bug: 73250851
Test: robotest
Change-Id: Ifc27b90d68bf4a907f169e19338e9b52ea5f9922
2018-02-18 21:10:03 -08:00
Rajeev Kumar
9664c1a55e Refactor few public static methods.
Move public static methods from DataUsageSummary to DataUsageBase.

Bug: 62349208
Test: make RunSettingsRoboTests -j40
Change-Id: I632f75f4c4f370fb225a9787267043fec20994e5
2017-07-14 14:01:02 -07:00
Fan Zhang
896f1b363c Reduce jank around loading view when opening data usage UI
Change-Id: I3d23d8160b046de8fe125ba0697b7b3d7786453c
Fix: 28181319
Test: robotests
2017-06-26 15:15:30 -07:00
Sanket Padawe
e96db834fb Update SubscriptionManager API by replacing 'id' & 'idx' with 'index'.
Bug: 35767068
Test: No build failure on update.
Change-Id: Ib7211a9d0c10a717bfd5a7b22b8bea2b3973d12f
2017-03-21 11:24:53 -07:00
Fan Zhang
917721c8d6 Listen to mobile data enabled flag change.
The listener is necessary to show/hide the gear icon on top of billing
cycle settings screen as user turn on/off mobile data from QS.

code cleanup: remove dividedCategory

Fix: 28066849
Test: make RunSettinsgRoboTests

Change-Id: I3b7075512042127fd711a8a70a572adfed069502
2017-03-16 15:08:49 -07:00
Lei Yu
59f36994ba Merge "Remove hardcode for textcolor in spinner item." 2016-11-14 19:07:49 +00:00
jackqdyulei
0a209093d1 Remove hardcode for textcolor in spinner item.
Remove the "android:textcolor" because "Android:textAppearance"
will set the textcolor to "?attr/textColorPrimary".
Set adapter has same theme as spinner, so view inside adapter
can be inflatered correctly.

Bug: 32592245
Test: screenshot
Change-Id: If7a78ede0a029aa9fcd8f9b324a423d477c65ad7
2016-11-09 17:57:00 -08:00
Tamas Berghammer
265d3c2a0c Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
2016-11-08 14:06:17 +00:00
Fan Zhang
6507613ebc Log visibility change for all fragments.
Bug: 30681771
Test: SettingsUnitTests

Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.

Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622
2016-08-18 14:04:13 -07:00
Jason Monk
9dc9a0ebb3 Update data usage graph to use new graph ui
Bug: 27278313
Change-Id: Ia9e8598dcb970540877f7dac7061cfc55ed99d4d
2016-03-09 10:39:57 -05:00
Jason Monk
3e19fc5600 Move temporary metrics constants to proto
Change-Id: I8fb3ac22df7bdc52039dd640f7696ebd32281f0b
2016-03-08 14:18:30 -05:00
Jason Monk
764f45db91 Add data saver to settings
Bug: 22817899

Change-Id: Ic3055aa6a5baae1653db350313366f180c049cc7
2016-01-25 15:24:29 -05:00
Jason Monk
b37e2887d3 Update data usage UX
Update the UX and dig the data usage screen out of a huge whole of
technical debt.  Switch every to use Preferences rather than standard
layouts and ListViews.

Split data usage into several fragments, all separated.

DataUsageSummary:
 - Shows a summary of the 'default' usage at the top, this will be
   the default sim on phones, or wifi if it has it, or ethernet
   as last attempt to show something.
 - Also has individual categories for each network type that has
   data, cell, wifi, and ethernet. Maybe should look into bt though?

DataUsageList:
- Takes a NetworkTemplate as an input, and can only be reached from
  the network specific categories in DataUsageSummary
- Shows a graph of current usage for that network and links to
  app detail page for any app.
- Has gear link to quick get to billing cycle screen if available

BillingCycleSettings:
 - Just a screen with the cycle day and warning/limits separated
   out from the data usage.

AppDataUsage:
 - App specific data usage details
 - May need some UX iteration given lack of clarity in the spec

Bug: 22459566
Change-Id: I0222d8d7ea7b75a9775207a6026ebbdcce8f5e46
2016-01-19 13:55:26 -05:00