- This CL before, output switcher panel will show default
icon if there are no media session or album art.
This CL will hide the icon if there are no media session
or album art.
- Add test case
Bug: 161495909
Test: make -j42 RunSettingsRoboTests
Change-Id: I5f80158b12f89c8499fb97d0b203ebeffefbc18b
Monitor Bluetooth Tethering state and update preference when there is
Bluetooth tethering state change.
Add test case to verify when recieve
BluetoothPan.TETHERING_STATE_CHANGED will update bluetooth state
Bug: 138688805
Test: make RunSettingsRoboTests
Merged-Id: I8f468d1d99ed6d87f6cd8305ef56b0d7a5dec95b
Change-Id: I8f468d1d99ed6d87f6cd8305ef56b0d7a5dec95b
This CL before, DevicePickerFragment didn't check the
whether 3rd-party app have Bluetooth permission before
sending broadcast. It's will cause the 3rd-party app can
get Bluetooth device information without request permission.
This CL will send broadcast with Bluetooth permission that
make sure the receiver who have Bluetooth permission can get
this Bluetooth device infomation.
Bug: 161716630
Test: verify on test apk to confirm that not showing mac address.
Change-Id: I6662dc38b3491e5ee467058dd74863ecac27cdd7
This CL before, DevicePickerFragment didn't check the
whether 3rd-party app have Bluetooth permission before
sending broadcast. It's will cause the 3rd-party app can
get Bluetooth device information without request permission.
This CL will send broadcast with Bluetooth permission that
make sure the receiver who have Bluetooth permission can get
this Bluetooth device infomation.
Bug: 161716630
Test: verify on test apk to confirm that not showing mac address.
Change-Id: I6662dc38b3491e5ee467058dd74863ecac27cdd7
Assigning current call state to mCallState right before registering
PhoneStateListener so that the preferences have correct state before
first onCallStateChanged() by initial registration even.
Bug: 166307650
Test: Check the preferences state when onStop() -> onStart()
Change-Id: I861a687497ba4da7a845540fd92ae2b865392d60
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
When SIM is removed, subscription UI should actively be closed (instead of
waiting for user to leave UI).
Bug: 160197149
Test: manual
Merged-In: I2854147c956faa633a9682eee0028db6cd2d3912
Change-Id: I920b88879a225f1d6ce696c7784d1f6f279c16d9
Monitor Bluetooth Tethering state and update preference when there is
Bluetooth tethering state change.
Add test case to verify when recieve
BluetoothPan.TETHERING_STATE_CHANGED will update bluetooth state
Bug: 138688805
Test: make RunSettingsRoboTests
Change-Id: I8f468d1d99ed6d87f6cd8305ef56b0d7a5dec95b
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
Test: fingerprint and face enroll via
adb shell am start -a android.settings.BIOMETRIC_ENROLL
Test: credential enroll via
adb shell am start -a android.settings.BIOMETRIC_ENROLL --ei android.provider.extra.BIOMETRIC_AUTHENTICATORS_ALLOWED 32768
Bug: 162341940
Bug: 152242790
Change-Id: Idfdf96891ba9a2394f61eedb0adde2adf9fd85e6
Symptom:
Once the work profile component of the tile is disabled after Settings
preloaded tiles, Settings will crash when the user clicks the work
option from the profile selection dialog.
Root cause:
Settings just checks the users from the preloaded tiles to prompt
profile selection dialog. It doesn’t check the activity for the work
profile user before launching.
Solution:
Resolve the activity by intent as users before launching if the work
profile is enabled. Directly start activity if only one user is
resolvable, otherwise prompt a dialog for profile selection.
Fixes: 162227425
Test: make RunSettingsRoboTests
Change-Id: Idcc4e5a266ab2a2252db30bb97d4be002212c677
-A new SystemUI dialog requires to launch Bluetooth pairing page
-Add receiver in manifest
Bug: 155822415
Test: build pass
Change-Id: I16767af3afb05eab7246be133011bc9148909d11
- This CL before, "Previously connected device" didn't
handle dock device. If user have disconnected dock
device will cause Settings crash.
This CL add condition to handle dock device to avoid crash.
- Update test case.
Bug: 157653997
Bug: 167054620
Test: make -j42 RunSettingsRoboTests
Change-Id: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
Merged-In: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
- This CL before, previously connected devices will show most
recently connected devices and the maximum is 3.
In this time, if next most recently connected device is disconnected.
It's will not show on "previously connected devices", user needs go to
"see all" page to found that device.
This CL add rule to compare the priority of most recently connected
device. If priority of next disconnected device is higher than
currnect devices that on "previously connected devices".
Let next disconnected device show on "previously connected devices".
- Update test case.
Bug: 157653997
Test: make -j42 RunSettingsRoboTests
Change-Id: I684501a20a67755b2196ba9d4b5565add01a5d01
Merged-In: I684501a20a67755b2196ba9d4b5565add01a5d01
- This CL before, Bluetooth settings will hide the "see all"
option when bluetooth is off. For the UX improvement, this
CL will show the "see all" button when bluetooth is off. And
turn on the BT when user press "see all" button to let user to
quick pair their disconnected devices.
- Update and add test case
Bug: 147150367
Test: make -j42 RunSettingsRoboTests
Change-Id: I7a1451a36a31253b6be2203341bea4e59fed7c2b
Merged-In: I7a1451a36a31253b6be2203341bea4e59fed7c2b
(cherry picked from commit bde100849e)
Re-launching volume panel continuously will trigger an endless panel
loading, show a transparent unfinished UI, and then block the user's
screen.
Root cause:
When the activity receives a new intent from user's clicking, it will
call PanelFragment#createPanelContent to update the current fragment.
The method triggers an animation and then loads the panel content. If
multiple invocations run concurrently before the animation or the
loading finish, the loader's countdown latch will be increased
abnormally and lead to the endless loading.
Solution:
1. Since the invocations are in UI thread, simply add a flag to avoid
reentrance when the panel is animating or loading.
2. Filter out the same panel's creation request when the panel is still
visible.
3. Do not force a panel's recreation when it's under construction.
Bug: 143889510
Bug: 160491854
Test: robotest, manual
Change-Id: I821faedeb62354929f3af9804cbbe44ee5bb8a53
When users open volume panel and keep on changing the volume slider for
a while, the panel starts to defer the slider updating, and finally gets
stuck and causes an ANR.
Root cause:
Volume panel has four volume adjusting slices. Each of them registers
a broadcast receiver to listen to the volume changed and muted events.
However, when the media volume changes, AudioManager will send four
broadcasts (music, assistant, accessibility, tts) to every receiver, and
each of them will reload slice four times. Thus, one media volume
changed event will lead to 16 (4*4) UI updates. Consequently, keeping on
sliding the volume bar will trigger hundreds of broadcasts and UI
updates, which makes the system busy and getting stuck.
Solution:
Introduce a VolumeSliceHelper to integrate the broadcasts of the volume
slices specifically.
1. Only register one broadcast receiver to reduce the broadcast loading
since the four slices are listening to the same signal.
2. Filter the only one eligible broadcast among the multiple concurrent
ones, and then relay it to the registered slice.
3. Listen to one more action STREAM_DEVICES_CHANGED_ACTION to update the
volume panel when audio output device changes.
Test: robotest, visual
Bug: 144134209
Bug: 160489394
Change-Id: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
- This CL before, "Previously connected device" didn't
handle dock device. If user have disconnected dock
device will cause Settings crash.
This CL add condition to handle dock device to avoid crash.
- Update test case.
Bug: 167054620
Test: make -j42 RunSettingsRoboTests
Change-Id: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
-Add connected devices in "Previously connected" page
-Set active when clicking a connected device
Bug: 147150246
Test: make -j50 RunSettingsRoboTests
Change-Id: I4422cd63c360a4387cedc4f80f34474b42f82a1f
(cherry picked from commit 9743fed57d)
-If media app does not support cast->phone transferring, local output
audio device is unavailable. "pair new" is for Bluetooth which should be
also unavilable.
-These types are local output audio devices:
TYPE_BUILTIN_SPEAKER
TYPE_WIRED_HEADSET
TYPE_WIRED_HEADPHONES
TYPE_USB_DEVICE
TYPE_USB_HEADSET
TYPE_USB_ACCESSORY
TYPE_DOCK
TYPE_HDMI
Bug: 163095048
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib844c7546e1946cb87fac04cb8b2b8f4acf06451
(cherry picked from commit 113ac8102a)
-To set highest priority when codec modification comes from development setting
Bug: 165442632
Test: make -j42 RunSettingsRoboTests
Change-Id: I8cfbaa276f3b3e269f4a80e8aae987fbb90f646e
Use hashcode as a requestCode id, since the
same requestCode will cause the intent be cached.
Bug: 163095633
Test: make -j42 RunSettingsRoboTests
Change-Id: I2c120f18e24a66aeff5565e952fa4064149ec540