From c6d3ad88d38bceec95d2c76e1e29a7a526f50a2d Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Thu, 10 Oct 2024 16:12:47 +0200 Subject: [PATCH] Add the `CallWebView` logs to our logging stack (#3637) * Add the `CallWebView` logs to our logging stack --- Co-Authored by @bmarty --- .../features/call/impl/ui/CallScreenView.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt index 5fa4856476..ce9319d0cf 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt @@ -8,7 +8,9 @@ package io.element.android.features.call.impl.ui import android.annotation.SuppressLint +import android.util.Log import android.view.ViewGroup +import android.webkit.ConsoleMessage import android.webkit.PermissionRequest import android.webkit.WebChromeClient import android.webkit.WebView @@ -43,6 +45,7 @@ import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.ui.strings.CommonStrings +import timber.log.Timber typealias RequestPermissionCallback = (Array) -> Unit @@ -189,6 +192,25 @@ private fun WebView.setup( override fun onPermissionRequest(request: PermissionRequest) { onPermissionsRequested(request) } + + override fun onConsoleMessage(consoleMessage: ConsoleMessage): Boolean { + val priority = when (consoleMessage.messageLevel()) { + ConsoleMessage.MessageLevel.ERROR -> Log.ERROR + ConsoleMessage.MessageLevel.WARNING -> Log.WARN + else -> Log.DEBUG + } + Timber.tag("WebView").log( + priority = priority, + message = buildString { + append(consoleMessage.sourceId()) + append(":") + append(consoleMessage.lineNumber()) + append(" ") + append(consoleMessage.message()) + }, + ) + return true + } } }