From 1e8e635cc20338785e97db6a0496122428c795e4 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Mon, 4 Apr 2022 14:32:28 +0200 Subject: [PATCH] Don't forget to listen to widgets Fix #55 --- .../launcher2/ui/launcher/widgets/WidgetsView.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetsView.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetsView.kt index 51cd6092..4d82baa7 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetsView.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetsView.kt @@ -39,7 +39,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog +import androidx.lifecycle.Lifecycle import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle import de.mm20.launcher2.ui.ClockWidget import de.mm20.launcher2.ui.MdcLauncherTheme import de.mm20.launcher2.ui.R @@ -47,6 +50,7 @@ import de.mm20.launcher2.ui.base.ProvideSettings import de.mm20.launcher2.ui.ktx.toDp import de.mm20.launcher2.ui.launcher.widgets.picker.PickAppWidgetActivity import de.mm20.launcher2.widgets.ExternalWidget +import kotlinx.coroutines.awaitCancellation import kotlinx.coroutines.launch @OptIn(ExperimentalAnimationGraphicsApi::class) @@ -79,6 +83,17 @@ class WidgetsView @JvmOverloads constructor( } } + context.lifecycleScope.launch { + context.lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) { + widgetHost.startListening() + try { + awaitCancellation() + } finally { + widgetHost.stopListening() + } + } + } + val composeView = ComposeView(context) composeView.setContent {