Root cause:
Settings listens to four package-related broadcasts in order to refresh
injected items because UI data may change. However, when the system is
updating apps on the first boot, it triggers a burst of broadcasts. For
each broadcast Settings will reload and then redraw all injected items,
which leads to the flickering.
Solution:
1. When Settings recieves a broadcast, check if there are already two
reloading tasks to avoid redundant updates.
2. In the reloading task, check if any injected item is changed, added,
or removed to notify categories changed.
3. Only refresh the UI when any of the changed items belongs to the
current page.
Bug: 166785977
Bug: 168309941
Test: manual, robotest
Change-Id: I77745b60f84510554bff1870a5bb7a8013eab528
Merged-In: I77745b60f84510554bff1870a5bb7a8013eab528
(cherry picked from commit 20df25e6b9)
Root cause:
Settings listens to four package-related broadcasts in order to refresh
injected items because UI data may change. However, when the system is
updating apps on the first boot, it triggers a burst of broadcasts. For
each broadcast Settings will reload and then redraw all injected items,
which leads to the flickering.
Solution:
1. When Settings recieves a broadcast, check if there are already two
reloading tasks to avoid redundant updates.
2. In the reloading task, check if any injected item is changed, added,
or removed to notify categories changed.
3. Only refresh the UI when any of the changed items belongs to the
current page.
Bug: 166785977
Bug: 168309941
Test: manual, robotest
Change-Id: I77745b60f84510554bff1870a5bb7a8013eab528
Provider model is a feature which improves networks
Settings UX.
NetworkProviderSettings is the fragment which allow
users to choose a mobile network or a Wi-Fi network
to connect.
At this change, NetworkProviderSettings is a clone
of WifiSettings, mobile networks will be integrated
at later CLs.
Bug: 167474581
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.network.NetworkProviderSettingsTest
Change-Id: I185639a8f2469e9ec76ad18b6c2bc2e8a4d079e3
Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference
Bug: 161896447
Test: robotest & manual
Change-Id: I94969f6903d047b9bc41b1e8c14096c92c460b38
Replace WiFi related terms which contain Master wording.
Goal: Create a fixit for Android Platform to reduce the use of non-inclusive language for all code.
Bug: 161425297
Test: make RunSettingsRoboTests -j or
make RunSettingsRoboTests ROBOTEST_FILTER=DashboardFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=WirelessDebuggingPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AutomaticStorageManagementSwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AllInOneTetherPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=TopLevelNetworkEntryPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=PrimarySwitchPreferenceTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrimarySwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
Change-Id: I9395c50e092e124016609f88f7c8151554a0d874
Adds a toggle under Settings > Sound > Media to toggle media resumption
Bug: 154039093
Test: manual
Test: atest SettingsProviderTest
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER="MediaControls"
Change-Id: I803c57031bc3252cab35c06ea124d1c22a3c3aeb
Adds a toggle under Settings > Sound > Media to toggle media resumption
Bug: 154039093
Test: manual
Test: atest SettingsProviderTest
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER="MediaControls"
Change-Id: I803c57031bc3252cab35c06ea124d1c22a3c3aeb
In the past, we allowed non system overlays on user-debug rom.
Acoording to the user-debug guildline, we should not have differnt
behavior between the user build and user debug rom.
To maintain the consistency between user and user debug rom,
We're creating a new developer setting for allowing non-system overlay on
Settings. By default, we don't allow any non-system app overlays on
Settings app unless user turns it on explictly.
Test: Run robotest. Turn on setting, see the overlays on Settings.
Turn off setting, do not see the overlays on Settings.
Fix: 144989059
Change-Id: I87f00a2eda91de003c6e542e7ec45a066f46fbf7
The 1 minute send delay of the original log writer makes the dismissed
card list in SI is not up to date, which causes some dismissed card
reappears.
Bug: 157211258
Test: manual
Change-Id: I0780a444e10a60c0cc7006b3bd65d37b33707134
Developers should developer the files of
com.android.settings.wifi.savedaccesspoints2 with WifiTrackerLib objects.
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.savedaccesspoints2
Change-Id: I6c8548fb7b3c9403ad300da0024e93e0e0cb8607
WifiSettings uses WifiTracker in SettingsLib while WifiSettings2
uses WifiPickerTracker in WifiSettingsLib.
1. Remove WifiSettings.
2. Rename WifiSettings2 to WifiSettings.
3. Remove the files only used in the removed WifiSettings.
(Saved networks files are not included)
Bug: 152571756
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
atest WifiSettingsUiTest
Change-Id: I800b434c8049121db115cff87d51e164e4529999
- Add interfaces to set/get metrics category in BasePreferenceController
for descendants having a chance to get it.
- Set metrics category in DashboardFragment
- Automatically log metrics in onPreferenceChange of
TogglePreferenceController
- Add support for TwoStateButtonPreference in TogglePreferenceController
to make the preference generic
Bug: 137559984
Test: robotest
Change-Id: Ia7e0d24a3db1991b18e0286d9894570fa71247a3
This CL adds a new Preference in Gestures (Power Menu), moves Global
Actions to it (now renamed Cards & passes) and adds a new Preference for
Device controls.
Missing:
* Explanation video for Device controls
* Privacy settings
Test: robotests
Test: manual change settings
Bug: 152212779
Bug: 152329723
Change-Id: Ia8f69565307a5961c8435bc1f441abeb389acf8b
Passing null to the function will result in conflict with Bluetooth proto
(int int int byte[] int)
Bug: 122571213
Test: Build
Change-Id: I2d1c3896d5d850a81a987aded14e3f0c05558e8c
When feature flag is enabled for AllInOneTetherSettings, implicit intent
to TetherSettingsActivity or WifiTetherSettingsActivity should launch
AllInOneTetherSettings fragement. The behavior won't change when flag is
disabled.
Bug: 149590956
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest,
built and flashed to device. When flag disabled, long clicking on
Hotspot Tile will go to TetherSettings fragment. When flag enabled,
long clicking on Hotspot Tile will go to AllInOneTetherSettings
fragment.
Change-Id: Iffdaacde000fb58c7e54406522fac0541cabf7fc
This does not have the final UX changes.
Strings are marked as non-translatable since they are not yet finalized.
Bug: 136249261
Bug: 140728653
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesDetailsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesSettingsTest
Change-Id: Ia3ebebc9bb53dcb5097bda71df9cfa5c4442fc59
The flag is mirrored from FeatureFlagUtils in framework/base
Bug: 148182953
Bug: 148220934
Test: Build successfully.
Change-Id: Ifada88cb585b3f618b7e2f59f1ceff007ae8eacd
As part of statsd becoming a Mainline module in R, autogenerated
StatsLog.write() calls are going away and replaced by *StatsLog.java
that is autogenerated for each module.
This CL adds autogenerated SettingsStatsLog and replaces usages
of StatsLog with SettingsStatsLog.
Bug: 145952197
Test: m
Change-Id: I3ffdb51394017e3e48b65734d67595abd69dd70d
This reverts commit 08f2a58459.
Reason for revert: design changed, we decide to take the user to
the entry after clicking on a search result.
It's opposite with what we did, so we revert related CL first.
Test: robotest
Change-Id: Iadb9a94a7ef7838be34a54499e2d934d6396c336
Adds 2 activities with the appropriate intent-filters to handle intents
used to control OP_MANAGE_EXTERNAL_STORAGE:
* Generic activity to handle ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
which control all apps (that request MANAGE_EXTERNAL_STORAGE).
* App specific activity to handle
ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION. The intent filter
expects the name of the package as data in the intent.
Test: manual
Bug: 146425146
Change-Id: Iebc7d153eac6ffe0b9bd75196bc8ecf9cb687939
- remove duplicate index preference
- default set searchable = false when the preference has fragment
- make some fragments indexable
Bug: 143057584
Test: robotest & manual
Change-Id: I4d64f6106d2f92f0a45e8c7e26388677f593f412
- Add WorkPreferenceController to support directly use work profile
related feature in xml
- Get only work/personal infos in RecentLocationRequestPreferenceController
and RecentLocationRequestSeeAllPreferenceController
- Remove ProfileSelectStorageFragment
Bug: 141601408
Fixes: 146080649
Test: manual, robolectric
Change-Id: Ide39c7a3796e16421f3a5690309c3d746a956de8