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

Commit 3763b7cf authored by nicolasroard's avatar nicolasroard Committed by Android Git Automerger
Browse files

am a164496b: Fix triple buffer update bug bug:11140550

* commit 'a164496b':
  Fix triple buffer update bug bug:11140550
parents b481b22b a164496b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ public class SharedPreset {
    private volatile ImagePreset mProducerPreset = null;
    private volatile ImagePreset mConsumerPreset = null;
    private volatile ImagePreset mIntermediatePreset = null;
    private volatile boolean mHasNewContent = false;

    public synchronized void enqueuePreset(ImagePreset preset) {
        if (mProducerPreset == null || (!mProducerPreset.same(preset))) {
@@ -31,12 +32,17 @@ public class SharedPreset {
        ImagePreset temp = mIntermediatePreset;
        mIntermediatePreset = mProducerPreset;
        mProducerPreset = temp;
        mHasNewContent = true;
    }

    public synchronized ImagePreset dequeuePreset() {
        if (!mHasNewContent) {
            return mConsumerPreset;
        }
        ImagePreset temp = mConsumerPreset;
        mConsumerPreset = mIntermediatePreset;
        mIntermediatePreset = temp;
        mHasNewContent = false;
        return mConsumerPreset;
    }
}