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

Commit 4415d63b authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Automerger Merge Worker
Browse files

Merge "Check if already on main thread when getting SSG for SCVH" into udc-dev am: 5932006e

parents 57ecc58f 5932006e
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -99,9 +99,16 @@ public class SurfaceControlViewHost {
        @Override
        public ISurfaceSyncGroup getSurfaceSyncGroup() {
            CompletableFuture<ISurfaceSyncGroup> surfaceSyncGroup = new CompletableFuture<>();
            // If the call came from in process and it's already running on the UI thread, return
            // results immediately instead of posting to the main thread. If we post to the main
            // thread, it will block itself and the return value will always be null.
            if (Thread.currentThread() == mViewRoot.mThread) {
                return mViewRoot.getOrCreateSurfaceSyncGroup().mISurfaceSyncGroup;
            } else {
                mViewRoot.mHandler.post(
                        () -> surfaceSyncGroup.complete(
                                mViewRoot.getOrCreateSurfaceSyncGroup().mISurfaceSyncGroup));
            }
            try {
                return surfaceSyncGroup.get(1, TimeUnit.SECONDS);
            } catch (InterruptedException | ExecutionException | TimeoutException e) {