Commit Graph

582 Commits

Author SHA1 Message Date
Chaohui Wang
4eaa0027e7 Merge "Fix flicker for AppDataUsagePreference" into tm-dev am: 05f6617b64
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18603832

Change-Id: Iec9150fcc43cac98b72e523be28f2dac79d90c3e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 10:17:40 +00:00
Chaohui Wang
c2dacf1b75 Fix flicker for AppDataUsage when zero usage
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
2022-05-27 10:21:17 +08:00
Chaohui Wang
3a99f7c370 Fix flicker for AppDataUsagePreference
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
2022-05-26 17:36:45 +08:00
Victor Chang
0933addd0e Merge "Reland "Don't use framework strings for formatting file sizes"" am: ba69fd0d3f am: d5ab7dc729 am: 5aada33242 am: 330934cfb5 am: 200c45a9fe
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2096605

Change-Id: Ic945ada7d520a4ec53dccef4e30918f140cb63cd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-24 11:43:19 +00:00
Victor Chang
5aada33242 Merge "Reland "Don't use framework strings for formatting file sizes"" am: ba69fd0d3f am: d5ab7dc729
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2096605

Change-Id: I8b616af8d02a6d984d7dbec2b50087242958dd40
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-24 11:20:54 +00:00
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