package org.tasks; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import com.todoroo.astrid.api.AstridApiConstants; import org.tasks.injection.ForApplication; import org.tasks.widget.AppWidgetManager; import javax.inject.Inject; public class LocalBroadcastManager { public static final String REFRESH = BuildConfig.APPLICATION_ID + ".REFRESH"; public static final String REFRESH_LIST = BuildConfig.APPLICATION_ID + ".REFRESH_LIST"; private static final String REPEAT = BuildConfig.APPLICATION_ID + ".REPEAT"; private final android.support.v4.content.LocalBroadcastManager localBroadcastManager; private final AppWidgetManager appWidgetManager; @Inject public LocalBroadcastManager(@ForApplication Context context, AppWidgetManager appWidgetManager) { this.appWidgetManager = appWidgetManager; localBroadcastManager = android.support.v4.content.LocalBroadcastManager.getInstance(context); } public void registerRefreshReceiver(BroadcastReceiver broadcastReceiver) { localBroadcastManager.registerReceiver(broadcastReceiver, new IntentFilter(REFRESH)); } public void registerRefreshListReceiver(BroadcastReceiver broadcastReceiver) { localBroadcastManager.registerReceiver(broadcastReceiver, new IntentFilter(REFRESH_LIST)); } public void registerRepeatReceiver(BroadcastReceiver broadcastReceiver) { localBroadcastManager.registerReceiver(broadcastReceiver, new IntentFilter(REPEAT)); } public void broadcastRefresh() { localBroadcastManager.sendBroadcast(new Intent(REFRESH)); appWidgetManager.updateWidgets(); } public void broadcastRefreshList() { localBroadcastManager.sendBroadcast(new Intent(REFRESH_LIST)); } /** * Action name for broadcast intent notifying that task was created from repeating template *