Add a custom Wifi Slice to the Settings Slice Provider.
It needs a custom Slice because of the complicated listener logic
in the MasterSwitchPreferenceController, which makes it hard to
work-in synchronous set/get logic.
The one-off Slice requires extra changes, including:
- Including it in getDescendants
- Handling changes to wifi by the framework
This is the first change that uses SettingsLib's broadcast relay,
which allows settings to (un)register IntentFilters to a Uri,
allowing Settings Slices affected by the framework (quicksettings,
connectivity related, volume, etc) to be updated without action
on the Slice.
Fixes: 70622039
Fixes: 67997332
Test: robotests
Change-Id: Ia76738dd6baacd5522d52df2c61ebad86a600282
Merged-In: Ibfe4736beecb833e3f6bb871b2eb5228a5fd3a34
* Add AudioSwitchCallback() in AudioSwitchPreferenceController.
This callback is used to notify SoudSettings to update the dialogFragment UI.
* Add UpdatableListPreferenceDialogFragment that updates the available
options when dialog is shown
* Add test to verify the adapter count when
onListPreferenceUpdated() is called.
Bug: 77783217
Test: make -j50 RunSettingsRoboTests
Change-Id: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb
Merged-In: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb
* Using getAliasName() instead of getName()
* Add BluetoothDevice isConnected check, when BluetoothDevice is
disconnected. Do not add to the show list.
Bug: 77783217
Test: make -j50 RunSettingsRoboTests
Change-Id: I183fc693eaefd690568ba2f1ec740258b2bb62c8
Usecase:
1.) Make sure BT is turned off.
2.) Go to Settings -> Network & Internet
3.) Press back from Network & Internet.
4.) Repeat above step 2000 times
Expected Result:
No ANR/Crashed should be seen.
Observed Result:
ServiceConnection leak is happening & android setting app get crashed.
Root cause: TetherPreferenceController tries to get
pan Proxy object, when BT is oFF, which is leaking one
service connection each time
Fix: getProfileProxy for Pan must only be called, when BT is
turned on.
Test: lifeCycle_onCreate_shouldNotInitBluetoothPanWhenBluetoothOff
Bug: 79561076
Change-Id: I85208f48ce4dded94020cb156fcdb98b2cc873f9
(cherry picked from commit 31bcf6225cdabee4f810d4fe55ea32d0d43a9c5c)
(cherry picked from commit 31c799305b480e56bd083a48c6acca11572ebe16)
Convert below to TogglePreferenceController:
MagnificationNavbarPreferenceController
(Magnify with Button)
MagnificationGesturesPreferenceController
(Magnify with triple-tap)
The two controllers share the same fragment,
Add static method for set/get state in fragment,
And use them in controllers and fragment.
Change-Id: I2bdbdb36be71e1a3ffb557abc5a6115d48de53cf
Merged-In: I2bdbdb36be71e1a3ffb557abc5a6115d48de53cf
Fixes: 67997698
Fixes: 67997726
Test: make RunSettingsRoboTests
To improve context on search surfaces where the
setting may be ambiguous, we set the screentitle
as the summary text as the top priority. If there is
no screentitle or the it matches the title, then we
try to use the controller summary. If the controller
summary is not valid, then we show nothing.
Bug: 79780762
Test: robotests
Change-Id: If4f7f8d4a072125604ede14e3df2afd667fa24b7
Use TogglePreferenceController instead of AbstractPreferenceController
for VibrateWhenRingPreferenceControllr
Bug:74915140
Test: make RunSettingsRoboTests
Change-Id: Ib06126324516826411a7d50a2bd8a790bfd477c7
Merged-In: I501a1470da7dc1ff582c2a90b5235b25036caefc
NewDeviceIntroSuggestionActivity should not show if Tips application exists.
Bug: 77652536
Test: atest SettingsRoboTests
Change-Id: I0aa19a5bc79c8b1497f42372d293299509d897b2
Merged-In: I85575e8eb92a8a620f0af9e5ad3ebd5b8dd05323
* In "previously connected devices", to connect device
* In "Available media devices", to activate device
Bug: 77607104
Test: make -j50 RunSettingsRoboTests
Change-Id: If5005031bd3f5dc4950abf2c77575785cd6f67b1
Merged-In: If5005031bd3f5dc4950abf2c77575785cd6f67b1
Add Slices for WifiCalling
WifiCalling Slice Provider:
1. If there is no activation needed or if the Wifi calling
is currently turned on - provide the slice to toggle the
value
2. Else display appropriate message with further instructions
WifiCalling Slice Broadcast Receiver:
1. If the action is turning off wifi or if there is no
activation needed. Change the setting with ImsManager.
2. And Ask to requery the slice in one second to display
updated settings if 1 is valid or display appropriate message
Bug: 63731862
Bug: 78192106
Test: Use support-slices-demos-debug.apk to test on device
Test: Robotests
Change-Id: I29e1822fd24ebcff575fa48ad93f84ed91bf4d87
Add a type for battery receiver, then in callback client know for
which reason it been invoked:
1. battery level change
2. battery saver state change
3. battery plug state change
So in this CL, we won't update battery tip for battery level change,
then battery tip won't be dismissed by itself.
Also note in onResume() we will manually update battery tip. So if
user stay in battery settings page and close the screen, once he opens
it we will still force update everything.
Fixes: 79171742
Test: RunSettingsRoboTests
Change-Id: I997844216fd8267e545d74e0d434de9e338f76a1
Merged-In: I997844216fd8267e545d74e0d434de9e338f76a1
Bluetooth AVDTP delay reports and inband ringing are used by default.
Developer option menu no longer used.
Bug: 79610154
Test: robolectric
Change-Id: I67fe10808151f101fc7e891f75953f8539255026
Merged-In: I67fe10808151f101fc7e891f75953f8539255026
Power whitelisting and background restrictions are opposing rules, so to
keep apps out of confusing states, unrestricting an app whenever it is
put on the power whitelist.
Test: atest RunSettingsRoboTests:HighPowerDetailTest
Bug: 77924141
Change-Id: I4952ac6c893bc7e98aa1b6ad3a86906fc299dea5
Add getProfileId() method in LocalBluetoothProfile interface,
implement this method in subclass.
Bug: 76447449
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsProfilesControllerTest -j28
Change-Id: I8082716b7cdaf7394ee2f8a4b636058716af7bb1
* Add BluetoothDeviceRenamePreferenceController in bluetooth_screen.xml
* Refactor BluetoothDeviceRenamePreferenceController and BluetoothDeviceNamePreferenceController.
Let these controllers can be init in xml.
Bug: 78247352
Test: make -j50 RunSettingsRoboTests
Change-Id: Iddd0cac1e973bbd82cb30fe4c18e8b359ba4ba2b