Skip to content

Commit bdd9dca

Browse files
cursoragentromtsn
andcommitted
Prevent concurrent capture loops in WindowRecorder
Co-authored-by: roman.zavarnitsyn <roman.zavarnitsyn@sentry.io>
1 parent 866aa6d commit bdd9dca

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

sentry-android-replay/src/main/java/io/sentry/android/replay/WindowRecorder.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ internal class WindowRecorder(
5050
}
5151
recorder?.resume()
5252
isRecording.getAndSet(true)
53+
// Remove any existing callbacks to prevent concurrent capture loops
54+
mainLooperHandler.removeCallbacks(this)
5355
val posted = mainLooperHandler.post(this)
5456
if (!posted) {
5557
options.logger.log(
@@ -184,6 +186,9 @@ internal class WindowRecorder(
184186
capturer?.recorder?.bind(newRoot)
185187
}
186188

189+
// Remove any existing callbacks to prevent concurrent capture loops
190+
mainLooperHandler.removeCallbacks(capturer)
191+
187192
val posted =
188193
mainLooperHandler.postDelayed(
189194
capturer,

0 commit comments

Comments
 (0)