Skip to content

Commit 5272164

Browse files
committed
Wrap viewTreeObserver into try-catch
1 parent 29a4185 commit 5272164

File tree

1 file changed

+10
-2
lines changed
  • sentry-android-replay/src/main/java/io/sentry/android/replay/util

1 file changed

+10
-2
lines changed

sentry-android-replay/src/main/java/io/sentry/android/replay/util/Views.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,12 +184,20 @@ internal fun View?.addOnDrawListenerSafe(listener: ViewTreeObserver.OnDrawListen
184184
if (this == null || viewTreeObserver == null || !viewTreeObserver.isAlive) {
185185
return
186186
}
187-
viewTreeObserver.addOnDrawListener(listener)
187+
try {
188+
viewTreeObserver.addOnDrawListener(listener)
189+
} catch (e: IllegalStateException) {
190+
// viewTreeObserver is already dead
191+
}
188192
}
189193

190194
internal fun View?.removeOnDrawListenerSafe(listener: ViewTreeObserver.OnDrawListener) {
191195
if (this == null || viewTreeObserver == null || !viewTreeObserver.isAlive) {
192196
return
193197
}
194-
viewTreeObserver.removeOnDrawListener(listener)
198+
try {
199+
viewTreeObserver.removeOnDrawListener(listener)
200+
} catch (e: IllegalStateException) {
201+
// viewTreeObserver is already dead
202+
}
195203
}

0 commit comments

Comments
 (0)