diff options
author | hyomin.oh <hyomin.oh@samsung.com> | 2018-10-18 13:58:27 +0900 |
---|---|---|
committer | hyomin.oh <hyomin.oh@samsung.com> | 2018-10-19 12:39:46 +0900 |
commit | d0446dc8c411d5032c2b449e6f923a9d7b1f4adf (patch) | |
tree | ad21fd36499b954fa1b5a766f3e19f920da90ca1 /rs/java/android/renderscript/ProgramStore.java | |
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 'rs/java/android/renderscript/ProgramStore.java')
0 files changed, 0 insertions, 0 deletions