diff options
| author | 2018-10-18 13:58:27 +0900 | |
|---|---|---|
| committer | 2018-10-19 12:39:46 +0900 | |
| commit | d0446dc8c411d5032c2b449e6f923a9d7b1f4adf (patch) | |
| tree | ad21fd36499b954fa1b5a766f3e19f920da90ca1 /libs/hwui/FrameInfoVisualizer.cpp | |
| parent | 7b9184bff458d98daeea2800a66aa501f70738f9 (diff) | |
Fixed unsafe lock upon safe media volume
Safe media volume uses lock as Integer.
But it is not safe since the Integer value is changed.
disableSafeMediaVolume()
synchronized (mSafeMediaVolumeState) // step. 1
setSafeMediaVolumeEnabled()
mSafeMediaVolumeState = SAFE_MEDIA_VOLUME_ACTIVE // step. 2
...
onSetStreamVolume(mPendingVolumeCommand.mStreamType, // step.4
-> mPendingVolumeCommand is set as null by step.3
-> it causes NPE and reboot
------------
setStreamVolume()
synchronized (mSafeMediaVolumeState)
-> mSafeMediaVolumeState was changed by step.2
-> so that it would go next step
mPendingVolumeCommand = null; // step. 3
Test: Build Pass, manual test, change volume
Change-Id: I33f473d42ccbf0f9b177c6886622ecc2f8020f8d
Diffstat (limited to 'libs/hwui/FrameInfoVisualizer.cpp')
0 files changed, 0 insertions, 0 deletions