From cf3b9c8e1d90ab29f2300ad302f6f8e1a65167e7 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Fri, 13 Feb 2026 19:48:33 +0100 Subject: [PATCH] fix dispatcher context --- .../api/GeckoTabsApiImpl.kt | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/api/GeckoTabsApiImpl.kt b/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/api/GeckoTabsApiImpl.kt index ef6fb5a7..1f768395 100644 --- a/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/api/GeckoTabsApiImpl.kt +++ b/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/api/GeckoTabsApiImpl.kt @@ -330,19 +330,17 @@ class GeckoTabsApiImpl : GeckoTabsApi { } if (onBrowserExtensionIcons) { - coroutineScope.launch { + coroutineScope.launch(Dispatchers.Main) { try { val icon = browserAction.loadIcon?.invoke(128) icon?.let { val imageBytes = icon.toWebPBytes() - withContext(Dispatchers.Main) { - components.addonEvents.onUpdateWebExtensionIcon( - EventSequence.next(), - extension.id, - WebExtensionActionType.BROWSER, - imageBytes - ) { } - } + components.addonEvents.onUpdateWebExtensionIcon( + EventSequence.next(), + extension.id, + WebExtensionActionType.BROWSER, + imageBytes + ) { } } } catch (e: Exception) { logger.error("$TAG: Failed to load browser action icon for ${extension.id}", e) @@ -371,19 +369,17 @@ class GeckoTabsApiImpl : GeckoTabsApi { } if (onPageExtensionIcons) { - coroutineScope.launch { + coroutineScope.launch(Dispatchers.Main) { try { val icon = pageAction.loadIcon?.invoke(128) icon?.let { val imageBytes = icon.toWebPBytes() - withContext(Dispatchers.Main) { - components.addonEvents.onUpdateWebExtensionIcon( - EventSequence.next(), - extension.id, - WebExtensionActionType.PAGE, - imageBytes - ) { } - } + components.addonEvents.onUpdateWebExtensionIcon( + EventSequence.next(), + extension.id, + WebExtensionActionType.PAGE, + imageBytes + ) { } } } catch (e: Exception) { logger.error("$TAG: Failed to load page action icon for ${extension.id}", e)