Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30e4e88c authored by Amith Yamasani's avatar Amith Yamasani Committed by Android Git Automerger
Browse files

am 2afe8252: am 4a3a9685: Merge "Protect volumepanel slider creation from race...

am 2afe8252: am 4a3a9685: Merge "Protect volumepanel slider creation from race condition." into jb-dev

* commit '2afe8252':
  Protect volumepanel slider creation from race condition.
parents 225fef5e 2afe8252
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -447,9 +447,11 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie

    public void postVolumeChanged(int streamType, int flags) {
        if (hasMessages(MSG_VOLUME_CHANGED)) return;
        synchronized (this) {
            if (mStreamControls == null) {
                createSliders();
            }
        }
        removeMessages(MSG_FREE_RESOURCES);
        obtainMessage(MSG_VOLUME_CHANGED, streamType, flags).sendToTarget();
    }
@@ -460,9 +462,11 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie

    public void postMuteChanged(int streamType, int flags) {
        if (hasMessages(MSG_VOLUME_CHANGED)) return;
        synchronized (this) {
            if (mStreamControls == null) {
                createSliders();
            }
        }
        removeMessages(MSG_FREE_RESOURCES);
        obtainMessage(MSG_MUTE_CHANGED, streamType, flags).sendToTarget();
    }
@@ -481,11 +485,13 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie
        if (LOGD) Log.d(TAG, "onVolumeChanged(streamType: " + streamType + ", flags: " + flags + ")");

        if ((flags & AudioManager.FLAG_SHOW_UI) != 0) {
            synchronized (this) {
                if (mActiveStreamType != streamType) {
                    reorderSliders(streamType);
                }
                onShowVolumeChanged(streamType, flags);
            }
        }

        if ((flags & AudioManager.FLAG_PLAY_SOUND) != 0 && ! mRingIsSilent) {
            removeMessages(MSG_PLAY_SOUND);