Commit Graph

577 Commits

Author SHA1 Message Date
Roozbeh Pournader
ad389346c8 Reland "Don't use framework strings for formatting file sizes"
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
2022-05-17 16:06:55 +01:00
Chaohui Wang
5a2f5ecff5 [DO NOT MERGE] 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.

Fix: 187019210
Test: manual visual test
Change-Id: I95e544c46333496f4f30ed77dafa4779b4d66019
2022-05-11 17:02:54 +08:00
Bonian Chen
3a385ef59c Merge "[Settings] Hide some Preference entries when no mobile data support" into tm-dev am: 812de51467 am: 4522fcc0e3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18231805

Change-Id: I8de5f3ced9fabd0c367ed6163b142431d08bc154
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-10 21:21:03 +00:00
Martijn Coenen
00f0947107 Merge "Add SDK sandbox network usage to corresponding apps." into tm-dev am: 63db54c290 am: d27247a86f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17944004

Change-Id: Ibdcad10aaab868f23266d134a7fd7ea298a568d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-10 21:19:21 +00:00
Bonian Chen
812de51467 Merge "[Settings] Hide some Preference entries when no mobile data support" into tm-dev 2022-05-10 12:35:30 +00:00
Martijn Coenen
63db54c290 Merge "Add SDK sandbox network usage to corresponding apps." into tm-dev 2022-05-10 09:18:52 +00:00
Bonian Chen
8b06c96fe9 [Settings] Hide some Preference entries when no mobile data support
Hide some Preference which requires mobile data on device didn't support
it.

Bug: 221999174
Test: local
Change-Id: I7dd6e13aea0ed4467c7c7edeada564e42ea78349
2022-05-10 01:12:23 +00:00
TreeHugger Robot
ebd59fd0c3 Merge "Ensure loading all apps once in ManageApplications" into tm-dev am: 036d6744dd am: e3bd4b4b10
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18160674

Change-Id: Icdb3bfa32e8aeb4c27dae17b68f79b34ce1b0f7b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09 17:05:47 +00:00
Bonian Chen
2c6d8d536e [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
Merged-In: Id055fbd441936a9842b4acc978a894a855165bb7
Change-Id: Ia57f831d78b12754d60f920a9dbe057400dc4ce2
2022-05-09 16:28:14 +08:00
Mill Chen
fdbf748dc0 Ensure loading all apps once in ManageApplications
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
2022-05-06 15:55:36 +08:00
Bonian Chen
389874e996 Merge "[Settings] Avoid from crash UI when querying data usage" into tm-dev am: 5ef52de6b2 am: 3444d7a8c2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17950069

Change-Id: Icdde7b07efbdbeeb80c917c03ac0dc073d2fce8c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-02 08:32:32 +00:00
Chaohui Wang
15d292b0a8 Merge "Fix flicker for Mobile data & Wi-Fi page" into tm-dev am: 71e03076cd am: c39fe57d8c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18013070

Change-Id: I407d1e799714a09217f30798c8b9c538f4b7213e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-02 08:31:49 +00:00
Bonian Chen
5ef52de6b2 Merge "[Settings] Avoid from crash UI when querying data usage" into tm-dev 2022-04-29 16:00:31 +00:00
Martijn Coenen
bc9856104d Add SDK sandbox network usage to corresponding apps.
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
2022-04-29 13:35:17 +00:00
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
Chaohui Wang
ddedb31f6e Fix flicker for Mobile data & Wi-Fi page
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
2022-04-28 23:00:57 +08:00
Bonian Chen
6b379cd7cf [Settings] Adjusting the control of display sequence (part 2)
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
2022-03-29 11:16:45 +08:00
Bonian Chen
b8491032d7 [DataUsage] Adjusting the control of display sequence
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
2022-03-16 20:29:53 +08:00
Edgar Wang
74096fa66a Merge "Replace SettingsSpinner with Spinner" 2022-02-17 14:10:40 +00:00
Edgar Wang
fa5ab2e268 Replace SettingsSpinner with Spinner
Bug: 219610512
Test: manual
Change-Id: Ib8562a64299a6cb36f8225199f9432cb81e8e9f2
2022-02-17 02:16:27 +08:00
TreeHugger Robot
1503c4ea31 Merge "Remove restricted icon" 2022-02-15 07:26:27 +00:00
Weng Su
05e713bcc5 Merge "wifi data usage: Query wifi usage per configuration" 2022-02-11 07:34:21 +00:00
Xin Li
b9e9ca119c Merge sc-v2-dev-plus-aosp-without-vendor@8084891
Bug: 214455710
Merged-In: I962c318f41adcf180b885f2052ce0ec4952edfb6
Change-Id: I77764eaf895ac3c13c7440adb5b3f597a516d690
2022-02-11 07:29:32 +00:00
Weng Su
0b82d67a04 wifi data usage: Query wifi usage per configuration
- 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
2022-02-11 06:32:04 +08:00
Yanting Yang
49f2385cde Fix NPE of UnrestrictedDataAccessPreference
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
2022-02-10 18:04:48 +08:00
Edgar Wang
b1a48df4f7 Remove restricted icon
Bug: 195401182
Test: robotest
Change-Id: I6b22b3b9b62812eb08f10492bd2d7908cce89d39
2022-02-08 03:09:50 +00:00
TreeHugger Robot
b22a383cf3 Merge "Apply a new icon cache mechanism for memory improvement" 2022-01-28 15:45:15 +00:00
Junyu Lai
e539db77c4 [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

  (cherry-picked from ag/16724040)

Change-Id: I8efecda5df403e9ed588daecd169cb3498d213a2
Merged-In: I8efecda5df403e9ed588daecd169cb3498d213a2
2022-01-28 13:08:52 +00:00
Yanting Yang
19bdc6ce67 Apply a new icon cache mechanism for memory improvement
- Avoid loading all app icons at once to decrease memory usage.
- Only load visible icons when entering the apps page.
- Reserve icon placeholder to alleviate icon loading flicker.
- Release icon cache when low memory or leaving apps page.

Bug: 187118427
Bug: 209898662
Test: manual check the smoothness and memory usage of apps pages.
Change-Id: Ifc3c2a73cc88d6e42739df4e8208445afa12e0ea
2022-01-27 17:20:58 +08:00
Junyu Lai
d7451d16ff [MS48.2] Remove NetworkStatsHistory from CycleAdaptor
While the ChartData changes the types of stored data.
Modify CycleAdaptor accordlingly for the compatibility.

Test: atest clockwork-settings-robotests
      make RunSettingsRoboTests -j40
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=DataUsageControllerTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=NetworkCycleChartDataLoaderTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=NetworkCycleDataForUidLoaderTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=NetworkCycleDataLoaderTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=DataUsageUtilsTest
Bug: 204830222
Ignore-AOSP-First: Related API conflict, need master first.

  (cherry-picked from ag/16686514)

Change-Id: Ia778d680d5354fb67476db0763dfab017284dc4a
Merged-In: Ia778d680d5354fb67476db0763dfab017284dc4a
2022-01-27 08:46:05 +00: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
Junyu Lai
3a15d6cab1 [MS48.2] Remove NetworkStatsHistory from CycleAdaptor
While the ChartData changes the types of stored data.
Modify CycleAdaptor accordlingly for the compatibility.

Test: atest clockwork-settings-robotests
      make RunSettingsRoboTests -j40
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=DataUsageControllerTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=NetworkCycleChartDataLoaderTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=NetworkCycleDataForUidLoaderTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=NetworkCycleDataLoaderTest
      make RunSettingsLibRoboTests
           ROBOTEST_FILTER=DataUsageUtilsTest
Bug: 204830222
Ignore-AOSP-First: Related API conflict, need master first.
Change-Id: Ia778d680d5354fb67476db0763dfab017284dc4a
2022-01-24 01:07:53 +08:00
Treehugger Robot
b21993b793 Merge "[MS50] Remove NetworkTemplate#buildTemplate* usages" am: 0ccb8750b9 am: 039cdfd764 am: 5ea82e5955
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1943134

Change-Id: I21f0e516ec82f875638eabcd700fdead02048d7c
2022-01-11 10:03:53 +00:00
Junyu Lai
123f2e1581 [MS50] Remove NetworkTemplate#buildTemplate* usages
This is a no-op refactoring.
These functions are deprecated and replaced by
NetworkTemplate#Builder, use public API instead.

Test: make RunSettingsLibRoboTests
Bug: 204830222
Change-Id: Idc2a09d8e3789ca2c7a97691cfad4b2e2b417f0d
2022-01-11 02:53:03 +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
Bonian Chen
7dff8c7210 [Settings] Avoid from dialog disappear when click outside
Avoid dialog from unexpected close when click out of dialog area.
This create better user experience since user might not click to the
correct area all the time.

Bug: 204020202
Test: local
Change-Id: Ice5cde73eb849f3e5722ab778be41615746210c0
(cherry picked from commit 3cb6a7a705)
2021-11-17 02:01:42 +00:00
Bonian Chen
16b298ef92 Revert "[Settings] Code refactor DataSaverSummary"
This reverts commit 0ea486d1e5.

Reason for revert: build breakage

Change-Id: Id4c7689ae6f82ab05987365551a06debc1676aa5
2021-10-12 06:14:17 +00:00
Bonian Chen
0ea486d1e5 [Settings] Code refactor DataSaverSummary
Remove unused Callbacks.

Bug: 202792574
Test: local and presubmit
Change-Id: I185c083fd1621b0256e55339e9688d6b190dee32
2021-10-12 11:53:32 +08:00
TreeHugger Robot
d6b3885ef5 Merge "Revert "Disable RecyclerView animation to fix the broken UI"" into sc-dev 2021-06-18 10:45:20 +00:00
Yi-Ling Chuang
357b08a63e Revert "Disable RecyclerView animation to fix the broken UI"
This reverts commit 5b219a34ab.

Reason for revert: <b/191335572>

Bug: 191335572
Change-Id: I47ceb8d043e3b02a59e43a1ae021c3c7855cbe57
2021-06-18 10:45:13 +00:00
Giuliano Procida
ef0e09f7a3 Merge "Revert "Apply SettingsLib SeekBarPreference to Settings"" into sc-dev 2021-06-08 09:55:58 +00:00
Edgar Wang
cdff5c6ceb Revert "Apply SettingsLib SeekBarPreference to Settings"
Revert submission 13422386-seekbar-sc-dev

Reason for revert: build broken in SettingsGoogle
Reverted Changes:
I0c2d0d5fb:Apply SettingsLib SeekBarPreference to SettingsGoo...
I1844bb3b0:Apply SettingsLib SeekBarPreference to a11y vibrat...
Ia3e4adec8:Apply SettingsLib SeekBarPreference to a11y vibrat...
Iadee57e9d:Apply SettingsLib SeekBarPreference to a11y vibrat...
I219878716:Apply SettingsLib SeekBarPreference to Settings
I959f5672c:Create SettingsLibSeekBarPreference
I92545a69c:Apply SettingsLib SeekBarPreference to a11y vibrat...

Change-Id: Ie6c3b0dc072e044796abdb33fca305f9f9d47c4d
Bug: 176818438
2021-06-08 09:47:51 +00:00
Edgar Wang
4aad4a88a7 Merge "Apply SettingsLib SeekBarPreference to Settings" into sc-dev 2021-06-08 07:23:54 +00:00
Edgar Wang
d6b5bbb5cb Apply SettingsLib SeekBarPreference to Settings
Bug: 176818438
Test: robotest

Change-Id: I219878716457ce4bb7cad251bccf5d50d93030a5
2021-06-07 18:09:19 +00:00
Les Lee
204f0215da Usage Settings: Fix NPE when subscriberId is Null.
For mobile, a old API: buildTemplateMobileAll doesn't includes the
merged wifi network, call the new API: buildTemplateCarrierMetered
to replace the old one.

But new API: buildTemplateCarrierMetered requires non-null subscriberId.
Call old API: buildTemplateMobileAll when subscriberId is NULL since
the matched result is always empty when subscriberId is NULL. No any different
between buildTemplateCarrierMetered and buildTemplateMobileAll.

Bug: 190233044
Bug: 190135429
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsDumpServiceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageLibTest

Change-Id: Ic6dada8260029e47e044d016ebc701c25dbf9b2a
2021-06-05 03:14:18 +00:00
Yi-Ling Chuang
5b219a34ab Disable RecyclerView animation to fix the broken UI
RecyclerView has item animation by default. In this bug, RV animation
seems to be interrupted by the page transitions(Shared Axis), and so
items could not finish sliding to its position.

Hence, disable RV animation to fix it.

Fixes: 189720797
Test: Navigate to Mobile & Wifi usage page and see the normal UI.
Change-Id: I52920715ae4b63ef78a73fcb9c76c6d20f80e012
2021-06-03 18:12:07 +08:00
lesl
5012cef58f wifi: Use new API for data usage function
For mobile, a old API: buildTemplateMobileAll doesn't includes the
merged wifi network, call the new API: buildTemplateCarrierMetered
to replace the old one.

PS: Not only usage functionality but also apply to network policy
control since the default policy is changing to use
new API: buildTemplateCarrier now.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsDumpServiceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageLibTest
Test: Manual Test, modify the mobile usage warming and limit bytes and
      check the data via adb shell dumpsys netpolicy

Bug: 176396812
Merged-In: I6fbec14e7be4dc4b5c2fd3659a801521c81b233c
Change-Id: I6fbec14e7be4dc4b5c2fd3659a801521c81b233c
2021-06-01 10:34:10 +00:00
TreeHugger Robot
bbb6562684 Merge "Fix inconsist color filling on collapsing toolbar" into sc-dev 2021-05-06 11:04:31 +00:00
Mill Chen
efbcc69cc4 Fix inconsist color filling on collapsing toolbar
Some pages are updating the background color for action bar after action
bar is created, which will break the animation of collapsing toolbar. It
also causes the different color filled in the status bar and collapsing
toolbar area separately. Removing the styleActionbar method from
EntityHeaderController can fix this issue.

Fix: 187019164
Test: robotests && visual verified
1) Settings -> Apps -> See all apps -> pick up either app -> Mobile data
& Wi-Fi
2) Scrolling the content and see if the toolbar has the different color
between status bar and toolbar

Change-Id: Ic0842b9e6c48662872694534a3696c4b8900481f
2021-05-06 14:46:30 +08:00
lesl
26128e8722 wifi: Use new API for wifi data usage function
For wifi, a old API: buildTemplateWifiWildcard will includes the merged
wifi which is included to mobile usage. It should not double count
again. Call new API: buildTemplateWifi with
NetworkId: NetworkTemplate.WIFI_NETWORKID_ALL
and null subscriberId to get non-merged wifi usage.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=AppDataUsageTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AppDataUsagePreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryPreferenceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageUtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsDumpServiceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettingsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageInfoControllerTest
Test: Manual Test, wifi data usage count correctly.
Bug: 176396812
Change-Id: Ia4d8fa67ea3cb75c2d35be9ab60e5c5ffa391ffb
2021-05-05 10:33:34 +08:00