Force widget reload on startup

pull/996/head
Alex Baker 4 years ago
parent 3f3fbb68a8
commit 54d5991d9e

@ -77,6 +77,6 @@ public class LocalBroadcastManager {
}
public void reconfigureWidget(int appWidgetId) {
appWidgetManager.reconfigureWidget(appWidgetId);
appWidgetManager.reconfigureWidgets(appWidgetId);
}
}

@ -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> refreshScheduler;
@Inject Lazy<GeofenceApi> geofenceApi;
@Inject Lazy<BillingClient> billingClient;
@Inject Lazy<AppWidgetManager> 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

@ -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();
}

Loading…
Cancel
Save