From 54d5991d9e15216c6e3756e44efceecae8c8cc97 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 20 Apr 2020 14:02:08 -0500 Subject: [PATCH] Force widget reload on startup --- app/src/main/java/org/tasks/LocalBroadcastManager.java | 2 +- app/src/main/java/org/tasks/Tasks.java | 3 +++ app/src/main/java/org/tasks/widget/AppWidgetManager.java | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/tasks/LocalBroadcastManager.java b/app/src/main/java/org/tasks/LocalBroadcastManager.java index 651b94b0e..80015f9ee 100644 --- a/app/src/main/java/org/tasks/LocalBroadcastManager.java +++ b/app/src/main/java/org/tasks/LocalBroadcastManager.java @@ -77,6 +77,6 @@ public class LocalBroadcastManager { } public void reconfigureWidget(int appWidgetId) { - appWidgetManager.reconfigureWidget(appWidgetId); + appWidgetManager.reconfigureWidgets(appWidgetId); } } diff --git a/app/src/main/java/org/tasks/Tasks.java b/app/src/main/java/org/tasks/Tasks.java index e126b0df5..28b7403e9 100644 --- a/app/src/main/java/org/tasks/Tasks.java +++ b/app/src/main/java/org/tasks/Tasks.java @@ -29,6 +29,7 @@ import org.tasks.scheduling.CalendarNotificationIntentService; import org.tasks.scheduling.NotificationSchedulerIntentService; import org.tasks.scheduling.RefreshScheduler; import org.tasks.themes.ThemeBase; +import org.tasks.widget.AppWidgetManager; import timber.log.Timber; public class Tasks extends InjectingApplication implements Configuration.Provider { @@ -43,6 +44,7 @@ public class Tasks extends InjectingApplication implements Configuration.Provide @Inject Lazy refreshScheduler; @Inject Lazy geofenceApi; @Inject Lazy billingClient; + @Inject Lazy appWidgetManager; @Override public void onCreate() { @@ -88,6 +90,7 @@ public class Tasks extends InjectingApplication implements Configuration.Provide geofenceApi.get().registerAll(); FileHelper.delete(context, preferences.getCacheDirectory()); billingClient.get().queryPurchases(); + appWidgetManager.get().reconfigureWidgets(); } @Override diff --git a/app/src/main/java/org/tasks/widget/AppWidgetManager.java b/app/src/main/java/org/tasks/widget/AppWidgetManager.java index ff4c3d0c1..b85e6048b 100644 --- a/app/src/main/java/org/tasks/widget/AppWidgetManager.java +++ b/app/src/main/java/org/tasks/widget/AppWidgetManager.java @@ -22,10 +22,12 @@ public class AppWidgetManager { appWidgetManager.notifyAppWidgetViewDataChanged(getWidgetIds(), R.id.list_view); } - public void reconfigureWidget(int appWidgetId) { + public void reconfigureWidgets(int... appWidgetIds) { Intent intent = new Intent(context, TasksWidget.class); intent.setAction(android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE); - intent.putExtra(android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] { appWidgetId }); + intent.putExtra( + android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_IDS, + appWidgetIds.length == 0 ? getWidgetIds() : appWidgetIds); context.sendBroadcast(intent); updateWidgets(); }