From cd7bc0001794c7eaaf02e6d1ff66454fdc4143fc Mon Sep 17 00:00:00 2001 From: Pranshul Date: Sun, 10 Aug 2025 06:25:53 +0530 Subject: [PATCH] fixes #549 --- .../weather_master_app/PillWidgetProvider.kt | 13 +++++++++++++ .../weather_master_app/WeatherWidgetCastProvider.kt | 13 +++++++++++++ .../weather_master_app/WeatherWidgetProvider.kt | 12 ++++++++++++ 3 files changed, 38 insertions(+) diff --git a/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/PillWidgetProvider.kt b/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/PillWidgetProvider.kt index 6592099d0..e2da4e060 100644 --- a/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/PillWidgetProvider.kt +++ b/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/PillWidgetProvider.kt @@ -4,6 +4,8 @@ import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetProvider import android.content.Context import android.widget.RemoteViews +import android.app.PendingIntent +import android.content.Intent import com.pranshulgg.weather_master_app.util.WeatherIconMapper @@ -34,6 +36,17 @@ class PillWidgetProvider : AppWidgetProvider() { views.setImageViewResource(R.id.widget_icon_current_pill_pixel, iconRes) + + val intent = Intent(context, io.flutter.embedding.android.FlutterActivity::class.java).apply { + flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + } + + val pendingIntent = PendingIntent.getActivity( + context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE + ) + + views.setOnClickPendingIntent(R.id.pill_widget, pendingIntent) + manager.updateAppWidget(id, views) } } diff --git a/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetCastProvider.kt b/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetCastProvider.kt index 69727375b..4dbc0c695 100644 --- a/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetCastProvider.kt +++ b/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetCastProvider.kt @@ -6,6 +6,8 @@ import android.content.Context import android.os.Bundle import android.view.View import android.widget.RemoteViews +import android.app.PendingIntent +import android.content.Intent import com.pranshulgg.weather_master_app.util.WeatherIconMapper class WeatherWidgetCastProvider : AppWidgetProvider() { @@ -112,6 +114,17 @@ class WeatherWidgetCastProvider : AppWidgetProvider() { views.addView(containerId, itemView) } + + val intent = Intent(context, io.flutter.embedding.android.FlutterActivity::class.java).apply { + flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + } + + val pendingIntent = PendingIntent.getActivity( + context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE + ) + + views.setOnClickPendingIntent(R.id.widget_hourly_current, pendingIntent) + manager.updateAppWidget(id, views) } diff --git a/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetProvider.kt b/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetProvider.kt index 58b27ba4e..a256b3a8f 100644 --- a/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetProvider.kt +++ b/android/app/src/main/kotlin/com/pranshulgg/weather_master_app/WeatherWidgetProvider.kt @@ -4,6 +4,8 @@ import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetProvider import android.content.Context import android.widget.RemoteViews +import android.app.PendingIntent +import android.content.Intent import com.pranshulgg.weather_master_app.util.WeatherIconMapper @@ -36,6 +38,16 @@ class WeatherWidgetProvider : AppWidgetProvider() { views.setImageViewResource(R.id.widget_icon_current_pill, iconRes) + val intent = Intent(context, io.flutter.embedding.android.FlutterActivity::class.java).apply { + flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + } + + val pendingIntent = PendingIntent.getActivity( + context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE + ) + + views.setOnClickPendingIntent(R.id.weather_widget, pendingIntent) + manager.updateAppWidget(id, views) } }