Skip to content

Commit e85ad7d

Browse files
authored
Fix spamming log in renderer (#2824)
1 parent 0e23a31 commit e85ad7d

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

maps-sdk/src/main/java/com/mapbox/maps/renderer/MapboxRenderThread.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ internal class MapboxRenderThread : Choreographer.FrameCallback {
6464
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
6565
internal val nonRenderEventQueue = ConcurrentLinkedQueue<RenderEvent>()
6666

67-
private var surface: Surface? = null
67+
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
68+
internal var surface: Surface? = null
6869
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
6970
internal var eglSurface: EGLSurface
7071
private var width: Int = 0
@@ -663,7 +664,7 @@ internal class MapboxRenderThread : Choreographer.FrameCallback {
663664
logI(TAG, "Setting up render thread failed, check logs above.")
664665
}
665666
}
666-
} else {
667+
} else if (!paused) {
667668
logI(TAG, "renderThreadPrepared=false and Android surface is not valid (isValid=${surface?.isValid}). Waiting for new one.")
668669
}
669670
}

maps-sdk/src/test/java/com/mapbox/maps/renderer/MapboxRenderThreadTest.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,4 +1065,21 @@ class MapboxRenderThreadTest {
10651065
mapboxRenderer.destroyRenderer()
10661066
}
10671067
}
1068+
1069+
@Test
1070+
fun noLogSpamDuringPauseTest() {
1071+
initRenderThread()
1072+
provideValidSurface()
1073+
mapboxRenderThread.pause()
1074+
// easiest way to simulate that Android surface is not valid
1075+
mapboxRenderThread.surface = null
1076+
mapboxRenderThread.eglContextMadeCurrent = false
1077+
idleHandler()
1078+
// make sure we do not print any logI
1079+
every { logI(any(), any()) } answers { throw RuntimeException() }
1080+
// simulate engine sending request render while we are paused
1081+
mapboxRenderThread.queueRenderEvent(MapboxRenderer.repaintRenderEvent)
1082+
idleHandler()
1083+
every { logI(any(), any()) } answers { Log.i(firstArg(), secondArg()) }
1084+
}
10681085
}

0 commit comments

Comments
 (0)