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

Commit 488282b3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Workaround a robelectric related NPE in SurfaceSyncGroup.addTimer" into...

Merge "Workaround a robelectric related NPE in SurfaceSyncGroup.addTimer" into udc-dev am: a380a318

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23454315



Change-Id: I894fa5ce7ac68830ad13116100178761d00b2d15
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 86d9fc4b a380a318
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.Debug;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.IBinder;
import android.os.Looper;
import android.os.RemoteException;
import android.os.Trace;
import android.util.ArraySet;
@@ -800,22 +801,25 @@ public final class SurfaceSyncGroup {
    }

    private void addTimeout() {
        Looper looper = null;
        synchronized (sHandlerThreadLock) {
            if (sHandlerThread == null) {
                sHandlerThread = new HandlerThread("SurfaceSyncGroupTimer");
                sHandlerThread.start();
            }

            looper = sHandlerThread.getLooper();
        }

        synchronized (mLock) {
            if (mTimeoutAdded || mTimeoutDisabled) {
            if (mTimeoutAdded || mTimeoutDisabled || looper == null) {
                // We only need one timeout for the entire SurfaceSyncGroup since we just want to
                // ensure it doesn't stay stuck forever.
                return;
            }

            if (mHandler == null) {
                mHandler = new Handler(sHandlerThread.getLooper());
                mHandler = new Handler(looper);
            }

            mTimeoutAdded = true;