From 93cd197c78952e3d7bfb660f4aa99c475db6f428 Mon Sep 17 00:00:00 2001 From: Yoan Pintas Date: Thu, 30 Mar 2023 11:34:42 +0200 Subject: [PATCH] Fix custom sticker url loading (#8290) --- changelog.d/8026.bugfix | 1 + .../vector/app/features/widgets/WidgetFragment.kt | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 changelog.d/8026.bugfix diff --git a/changelog.d/8026.bugfix b/changelog.d/8026.bugfix new file mode 100644 index 0000000000..f49d803412 --- /dev/null +++ b/changelog.d/8026.bugfix @@ -0,0 +1 @@ +Maunium sticker picker loads indefinitely on new update diff --git a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt index 944ee627d7..ee234e313c 100644 --- a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt +++ b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt @@ -218,7 +218,7 @@ class WidgetFragment : override fun invalidate() = withState(viewModel) { state -> Timber.v("Invalidate state: $state") - when (state.formattedURL) { + when (val formattedUrl = state.formattedURL) { Uninitialized, is Loading -> { setStateError(null) @@ -227,6 +227,9 @@ class WidgetFragment : views.widgetProgressBar.isVisible = true } is Success -> { + if (views.widgetWebView.url == null) { + loadFormattedUrl(formattedUrl()) + } setStateError(null) when (state.webviewLoadedUrl) { Uninitialized -> { @@ -253,7 +256,7 @@ class WidgetFragment : // we need to show Error views.widgetWebView.isInvisible = true views.widgetProgressBar.isVisible = false - setStateError(state.formattedURL.error.message) + setStateError(formattedUrl.error.message) } } } @@ -323,8 +326,12 @@ class WidgetFragment : } private fun loadFormattedUrl(event: WidgetViewEvents.OnURLFormatted) { + loadFormattedUrl(event.formattedURL) + } + + private fun loadFormattedUrl(formattedUrl: String) { views.widgetWebView.clearHistory() - views.widgetWebView.loadUrl(event.formattedURL) + views.widgetWebView.loadUrl(formattedUrl) } private fun setStateError(message: String?) {