Zen mode change will call displayPreference() and create a new SettingsObserver, then the old Observer object will have no opportunity to be unregistered. After too much new SettingsObserver creatd in Monkey test, memory might leak.
Bug 176206489
Change-Id: I3bccec281da492299bbf755f86df7844a31223c5
Use ENABLE_NAS_FEEDBACK flag to decide if showing feedback UI setting
Bug: 175363481
Test: make RunSettingsRoboTests7
Change-Id: I969f9ca0b5d681345c022816e104926953f855dc
Haptic once the swiping on the notification item is going to snap in either directions. The snap-in scenario is about the notification item when there is a "snap back point" i.e. if swiping the item back till a certain point it just snaps back to initial state but once it goes past a certain location it snaps into the new location.
- screenshot, https://screenshot.googleplex.com/6A8Gxs7yRwqAVk2
Bug: 175364588
Test: manual
Change-Id: I7e2ed19bfb7f863502e10233e3e23ee5d434b3b4
-Do not hide Media Output Dialog in Settings, and let dialog handles
-Hide Media output slice panel when launching dialog
Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Merged-In: I16732f625f100b259d6e53c85db40af0ec1652c5
Change-Id: I16732f625f100b259d6e53c85db40af0ec1652c5
-Update entry point at media indicator in volume panel
-Update entry point at remote media slice in volume panel
-Update entry point at remote volume group in Sound Settings
-Update entry point at media output preference in Sound Settings
-Hide Media output dialog when the caller is not active
Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Merged-In: Ib6c86067522925c439f336644e4d027dbae3379c
Change-Id: Ib6c86067522925c439f336644e4d027dbae3379c
-Caused by removing and adding preference at the same time
-Make preference operation method synchronized
-Not to update preference by removing and adding. To check session status and update its content to preference
-Post to UI thread to handle the onDeviceListUpdate() callback from framework
Bug: 170049403
Test: make -j50 RunSettingsRoboTests
Merged-In: Ibfc11e1bd99ba2e578b5d9e7dcc9132e372b68dd
Change-Id: Ibfc11e1bd99ba2e578b5d9e7dcc9132e372b68dd
(cherry picked from commit 1268629fda)
Notifications don't have fixed background anymore, their colors
are themed based on a dynamic system palette.
Test: manual
Bug: 173561906
Bug: 173561901
Change-Id: Id0a41e04fe3e27d2ae59ab5c61a174211278c4a7
Prevent non-system overlays from showing over notification listener consent dialog
Bug: 170731783
Test: use a visible overlay, ensure it's gone when notification consent is open
Change-Id: I58e017982f385ffc0d0ba2174512490b1d83dd36
Add a button in development option to unlock user previously changed
notification importance and allow NAS to change the importance
Test: make RunSettingsRoboTests
Change-Id: I55b5349d6a17a383888c59b9126832c2fb8c58a0
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
FLAG_MUTABLE while errors occur.
Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
-Do not hide Media Output Dialog in Settings, and let dialog handles
-Hide Media output slice panel when launching dialog
Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Change-Id: I16732f625f100b259d6e53c85db40af0ec1652c5
-Update entry point at media indicator in volume panel
-Update entry point at remote media slice in volume panel
-Update entry point at remote volume group in Sound Settings
-Update entry point at media output preference in Sound Settings
-Hide Media output dialog when the caller is not active
Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib6c86067522925c439f336644e4d027dbae3379c
-Caused by removing and adding preference at the same time
-Make preference operation method synchronized
-Not to update preference by removing and adding. To check session status and update its content to preference
-Post to UI thread to handle the onDeviceListUpdate() callback from framework
Bug: 170049403
Test: make -j50 RunSettingsRoboTests
Change-Id: Ibfc11e1bd99ba2e578b5d9e7dcc9132e372b68dd
- Move isMediaOutputDisabled() from Utils to LocalMediaManager.
The isMediaOutputDisabled() is used to check whether should
disable the entry point of media output, it's not a general
method for Settings. To reduce the usage of Utils.java,
it's better to let LocalMediaManager handle this method.
- Add test cases.
Bug: 169378895
Test: make -j42 RunSettingsRoboTests
Change-Id: I5dbed2ad4de6dca8105414f8b7d7ce7141e258bd
It adds a minimum value if it shows only one available
cast device in the output switcher. Because users can only
change the volume slider or stop control in the output switcher.
It's too hidden to have the user stop cast in the UI.
- This CL will disable the entry point of the output switcher
if there is only one available cast device in the list.
- Update test cases.
Bug: 163095048
Test: make -j42 RunSettingsRoboTests
Change-Id: I8906878e1ba769d6940041f17d83b5de6b2a32c0
Merged-In: I8906878e1ba769d6940041f17d83b5de6b2a32c0
(cherry picked from commit b6840ced0d)
It adds a minimum value if it shows only one available
cast device in the output switcher. Because users can only
change the volume slider or stop control in the output switcher.
It's too hidden to have the user stop cast in the UI.
- This CL will disable the entry point of the output switcher
if there is only one available cast device in the list.
- Update test cases.
Bug: 163095048
Test: make -j42 RunSettingsRoboTests
Change-Id: I8906878e1ba769d6940041f17d83b5de6b2a32c0
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
Fixes: 144134209
Fixes: 160489394
Change-Id: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
Merged-In: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
(cherry picked from commit 2c7b77dad7)
by making the information the dialog needs available earlier
Test: manual, with rotation
Fixes: 165889571
Change-Id: I68627d17573a876f8e81cc63ccf74eee0063b63d