From 9b8b0835157d145fc0fc436a427b81bf9395db45 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sun, 30 Aug 2026 16:14:23 +0200 Subject: [PATCH] open calendar app and weather app in new task fix #1963 --- .../ui/launcher/widgets/calendar/CalendarWidgetVM.kt | 11 ++++++++--- .../ui/launcher/widgets/weather/WeatherWidget.kt | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidgetVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidgetVM.kt index 722be1e6b..e76292ee1 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidgetVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/calendar/CalendarWidgetVM.kt @@ -9,12 +9,12 @@ import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import de.mm20.launcher2.calendar.CalendarRepository -import de.mm20.launcher2.searchable.SavableSearchableRepository import de.mm20.launcher2.ktx.tryStartActivity import de.mm20.launcher2.permissions.PermissionGroup import de.mm20.launcher2.permissions.PermissionsManager import de.mm20.launcher2.search.CalendarEvent import de.mm20.launcher2.searchable.PinnedLevel +import de.mm20.launcher2.searchable.SavableSearchableRepository import de.mm20.launcher2.searchable.VisibilityLevel import de.mm20.launcher2.services.favorites.FavoritesService import de.mm20.launcher2.widgets.CalendarWidget @@ -69,7 +69,9 @@ class CalendarWidgetVM : ViewModel(), KoinComponent { field = value val dates = value.flatMap { val startDate = - it.startTime?.let { Instant.ofEpochMilli(it).atZone(ZoneId.systemDefault()).toLocalDate() } + it.startTime?.let { + Instant.ofEpochMilli(it).atZone(ZoneId.systemDefault()).toLocalDate() + } val endDate = Instant.ofEpochMilli(it.endTime).atZone(ZoneId.systemDefault()).toLocalDate() return@flatMap listOfNotNull( @@ -129,6 +131,7 @@ class CalendarWidgetVM : ViewModel(), KoinComponent { val endTime = selectedDate.value.atTime(13, 0).toInstant(zoneOffset).toEpochMilli() intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime) intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) context.tryStartActivity(intent) } @@ -139,6 +142,7 @@ class CalendarWidgetVM : ViewModel(), KoinComponent { builder.appendPath("time") ContentUris.appendId(builder, startMillis) val intent = Intent(Intent.ACTION_VIEW) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) .setData(builder.build()) context.tryStartActivity(intent) } @@ -207,7 +211,8 @@ class CalendarWidgetVM : ViewModel(), KoinComponent { from = System.currentTimeMillis(), to = System.currentTimeMillis() + 14 * 24 * 60 * 60 * 1000L, excludeAllDayEvents = !config.allDayEvents, - excludeCalendars = config.excludedCalendarIds ?: config.legacyExcludedCalendarIds?.map { "local:$it" } ?: emptyList(), + excludeCalendars = config.excludedCalendarIds + ?: config.legacyExcludedCalendarIds?.map { "local:$it" } ?: emptyList(), ).collectLatest { events -> searchableRepository.getKeys( includeTypes = listOf("calendar", "tasks.org", "plugin.calendar"), diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt index e7290dfce..0771b41f0 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt @@ -252,6 +252,7 @@ fun CurrentWeather( context.packageManager.resolveActivity( Intent(Intent.ACTION_MAIN).also { it.addCategory(Intent.CATEGORY_APP_WEATHER) + it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) }, 0 ) }