From 3847357dd4c1e376c4f2fa8903e444bd02dfdeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Wed, 9 Oct 2024 18:15:20 +0200 Subject: [PATCH 1/2] Add the `CallWebView` logs to our logging stack --- .../android/features/call/impl/ui/CallScreenView.kt | 7 +++++++ 1 file changed, 7 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..4d9a61dcf0 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 @@ -9,6 +9,7 @@ package io.element.android.features.call.impl.ui import android.annotation.SuppressLint import android.view.ViewGroup +import android.webkit.ConsoleMessage import android.webkit.PermissionRequest import android.webkit.WebChromeClient import android.webkit.WebView @@ -43,6 +44,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 +191,11 @@ private fun WebView.setup( override fun onPermissionRequest(request: PermissionRequest) { onPermissionsRequested(request) } + + override fun onConsoleMessage(consoleMessage: ConsoleMessage?): Boolean { + consoleMessage?.let { Timber.d("[WebView]: ${it.message()}") } + return true + } } } From 2f2d8515059a558bddcad46b0ddb75ccceea5b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Thu, 10 Oct 2024 12:23:59 +0200 Subject: [PATCH 2/2] Improve logging strategy (thanks @bmarty!) --- .../features/call/impl/ui/CallScreenView.kt | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) 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 4d9a61dcf0..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,6 +8,7 @@ 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 @@ -192,8 +193,22 @@ private fun WebView.setup( onPermissionsRequested(request) } - override fun onConsoleMessage(consoleMessage: ConsoleMessage?): Boolean { - consoleMessage?.let { Timber.d("[WebView]: ${it.message()}") } + 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 } }