Add support for widget multi instancing
This commit is contained in:
@@ -144,7 +144,7 @@ fun WidgetItem(
|
||||
}
|
||||
|
||||
is MusicWidget -> {
|
||||
MusicWidget()
|
||||
MusicWidget(widget)
|
||||
}
|
||||
|
||||
is CalendarWidget -> {
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ import java.time.ZoneId
|
||||
fun CalendarWidget(
|
||||
widget: CalendarWidget,
|
||||
) {
|
||||
val viewModel: CalendarWidgetVM = viewModel()
|
||||
val viewModel: CalendarWidgetVM = viewModel(key = "calendar-widget-${widget.id}")
|
||||
val context = LocalContext.current
|
||||
val lifecycleOwner = LocalLifecycleOwner.current
|
||||
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ import de.mm20.launcher2.widgets.FavoritesWidget
|
||||
|
||||
@Composable
|
||||
fun FavoritesWidget(widget: FavoritesWidget) {
|
||||
val viewModel: FavoritesWidgetVM = viewModel()
|
||||
val viewModel: FavoritesWidgetVM = viewModel(key = "favorites-widget-${widget.id}")
|
||||
val favorites by remember { viewModel.favorites }.collectAsState(emptyList())
|
||||
val pinnedTags by viewModel.pinnedTags.collectAsState(emptyList())
|
||||
val selectedTag by viewModel.selectedTag.collectAsState(null)
|
||||
|
||||
@@ -77,12 +77,13 @@ import de.mm20.launcher2.ui.launcher.transitions.HandleEnterHomeTransition
|
||||
import de.mm20.launcher2.ui.launcher.transitions.EnterHomeTransitionParams
|
||||
import de.mm20.launcher2.ui.locals.LocalCardStyle
|
||||
import de.mm20.launcher2.ui.locals.LocalWindowSize
|
||||
import de.mm20.launcher2.widgets.MusicWidget
|
||||
import kotlin.math.min
|
||||
|
||||
@Composable
|
||||
fun MusicWidget() {
|
||||
fun MusicWidget(widget: MusicWidget) {
|
||||
|
||||
val viewModel: MusicWidgetVM = viewModel()
|
||||
val viewModel: MusicWidgetVM = viewModel(key = "music-widget-${widget.id}")
|
||||
|
||||
val albumArt by viewModel.albumArt.collectAsStateWithLifecycle(null)
|
||||
val title by viewModel.title.collectAsStateWithLifecycle(null)
|
||||
|
||||
@@ -70,7 +70,7 @@ import kotlin.math.roundToInt
|
||||
|
||||
@Composable
|
||||
fun WeatherWidget(widget: WeatherWidget) {
|
||||
val viewModel: WeatherWidgetVM = viewModel()
|
||||
val viewModel: WeatherWidgetVM = viewModel(key = "weather-widget-${widget.id}")
|
||||
|
||||
val context = LocalContext.current
|
||||
val lifecycleOwner = LocalLifecycleOwner.current
|
||||
|
||||
Reference in New Issue
Block a user