Skip to content

Commit 28a1003

Browse files
committed
fix(replay): Fix crash when root view has no window or is too small
1 parent 9fbb112 commit 28a1003

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ public data class ScreenshotRecorderConfig(
289289
private fun Int.adjustToBlockSize(): Int {
290290
val remainder = this % 16
291291
return if (remainder <= 8) {
292-
this - remainder
292+
maxOf(16, this - remainder)
293293
} else {
294294
this + (16 - remainder)
295295
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ internal class WindowRecorder(
108108
}
109109

110110
override fun onRootViewsChanged(root: View, added: Boolean) {
111+
if (root.phoneWindow == null) {
112+
options.logger.log(WARNING, "Root view does not have a phone window, skipping.")
113+
return
114+
}
111115
rootViewsLock.acquire().use {
112116
if (added) {
113117
rootViews.add(WeakReference(root))

0 commit comments

Comments
 (0)