diff --git a/app/src/main/java/org/tasks/LocalBroadcastManager.java b/app/src/main/java/org/tasks/LocalBroadcastManager.java deleted file mode 100644 index 3341e0f10..000000000 --- a/app/src/main/java/org/tasks/LocalBroadcastManager.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.tasks; - -import static com.google.common.collect.Lists.newArrayList; - -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.widget.AppWidgetManager; - -import java.util.ArrayList; - -import javax.inject.Inject; - -import dagger.hilt.android.qualifiers.ApplicationContext; - -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 TASK_COMPLETED = BuildConfig.APPLICATION_ID + ".REPEAT"; - private static final String REFRESH_PURCHASES = BuildConfig.APPLICATION_ID + ".REFRESH_PURCHASES"; - private static final String REFRESH_PREFERENCES = BuildConfig.APPLICATION_ID + ".REFRESH_PREFERENCES"; - - private final androidx.localbroadcastmanager.content.LocalBroadcastManager localBroadcastManager; - private final AppWidgetManager appWidgetManager; - - @Inject - public LocalBroadcastManager(@ApplicationContext Context context, AppWidgetManager appWidgetManager) { - this.appWidgetManager = appWidgetManager; - localBroadcastManager = - androidx.localbroadcastmanager.content.LocalBroadcastManager.getInstance(context); - } - - public void registerRefreshReceiver(BroadcastReceiver broadcastReceiver) { - localBroadcastManager.registerReceiver(broadcastReceiver, new IntentFilter(REFRESH)); - } - - public void registerRefreshListReceiver(BroadcastReceiver broadcastReceiver) { - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction(REFRESH); - intentFilter.addAction(REFRESH_LIST); - localBroadcastManager.registerReceiver(broadcastReceiver, intentFilter); - } - - public void registerTaskCompletedReceiver(BroadcastReceiver broadcastReceiver) { - localBroadcastManager.registerReceiver(broadcastReceiver, new IntentFilter(TASK_COMPLETED)); - } - - public void registerPurchaseReceiver(BroadcastReceiver broadcastReceiver) { - localBroadcastManager.registerReceiver(broadcastReceiver, new IntentFilter(REFRESH_PURCHASES)); - } - - public void registerPreferenceReceiver(BroadcastReceiver broadcastReceiver) { - localBroadcastManager.registerReceiver(broadcastReceiver, new IntentFilter(REFRESH_PREFERENCES)); - } - - public void broadcastRefresh() { - localBroadcastManager.sendBroadcast(new Intent(REFRESH)); - appWidgetManager.updateWidgets(); - } - - public void broadcastRefreshList() { - localBroadcastManager.sendBroadcast(new Intent(REFRESH_LIST)); - } - - public void broadcastPreferenceRefresh() { - localBroadcastManager.sendBroadcast(new Intent(REFRESH_PREFERENCES)); - } - - public void broadcastTaskCompleted(long id, long oldDueDate) { - broadcastTaskCompleted(newArrayList(id), oldDueDate); - } - - public void broadcastTaskCompleted(ArrayList id) { - broadcastTaskCompleted(id, 0); - } - - private void broadcastTaskCompleted(ArrayList id, long oldDueDate) { - Intent intent = new Intent(TASK_COMPLETED); - intent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, id); - intent.putExtra(AstridApiConstants.EXTRAS_OLD_DUE_DATE, oldDueDate); - localBroadcastManager.sendBroadcast(intent); - } - - public void unregisterReceiver(BroadcastReceiver broadcastReceiver) { - localBroadcastManager.unregisterReceiver(broadcastReceiver); - } - - public void broadcastPurchasesUpdated() { - localBroadcastManager.sendBroadcast(new Intent(REFRESH_PURCHASES)); - } - - public void reconfigureWidget(int appWidgetId) { - appWidgetManager.reconfigureWidgets(appWidgetId); - } -} diff --git a/app/src/main/java/org/tasks/LocalBroadcastManager.kt b/app/src/main/java/org/tasks/LocalBroadcastManager.kt new file mode 100644 index 000000000..93c5d46e8 --- /dev/null +++ b/app/src/main/java/org/tasks/LocalBroadcastManager.kt @@ -0,0 +1,93 @@ +package org.tasks + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import androidx.localbroadcastmanager.content.LocalBroadcastManager +import com.google.common.collect.Lists +import com.todoroo.astrid.api.AstridApiConstants +import dagger.hilt.android.qualifiers.ApplicationContext +import org.tasks.widget.AppWidgetManager +import javax.inject.Inject + +class LocalBroadcastManager @Inject constructor( + @ApplicationContext context: Context, + private val appWidgetManager: AppWidgetManager, +) { + private val localBroadcastManager = LocalBroadcastManager.getInstance(context) + + fun registerRefreshReceiver(broadcastReceiver: BroadcastReceiver?) { + localBroadcastManager.registerReceiver(broadcastReceiver!!, IntentFilter(REFRESH)) + } + + fun registerRefreshListReceiver(broadcastReceiver: BroadcastReceiver?) { + val intentFilter = IntentFilter() + intentFilter.addAction(REFRESH) + intentFilter.addAction(REFRESH_LIST) + localBroadcastManager.registerReceiver(broadcastReceiver!!, intentFilter) + } + + fun registerTaskCompletedReceiver(broadcastReceiver: BroadcastReceiver?) { + localBroadcastManager.registerReceiver(broadcastReceiver!!, IntentFilter(TASK_COMPLETED)) + } + + fun registerPurchaseReceiver(broadcastReceiver: BroadcastReceiver?) { + localBroadcastManager.registerReceiver(broadcastReceiver!!, IntentFilter(REFRESH_PURCHASES)) + } + + fun registerPreferenceReceiver(broadcastReceiver: BroadcastReceiver?) { + localBroadcastManager.registerReceiver( + broadcastReceiver!!, + IntentFilter(REFRESH_PREFERENCES) + ) + } + + fun broadcastRefresh() { + localBroadcastManager.sendBroadcast(Intent(REFRESH)) + appWidgetManager.updateWidgets() + } + + fun broadcastRefreshList() { + localBroadcastManager.sendBroadcast(Intent(REFRESH_LIST)) + } + + fun broadcastPreferenceRefresh() { + localBroadcastManager.sendBroadcast(Intent(REFRESH_PREFERENCES)) + } + + fun broadcastTaskCompleted(id: Long, oldDueDate: Long) { + broadcastTaskCompleted(Lists.newArrayList(id), oldDueDate) + } + + fun broadcastTaskCompleted(id: ArrayList) { + broadcastTaskCompleted(id, 0) + } + + private fun broadcastTaskCompleted(id: ArrayList, oldDueDate: Long) { + val intent = Intent(TASK_COMPLETED) + intent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, id) + intent.putExtra(AstridApiConstants.EXTRAS_OLD_DUE_DATE, oldDueDate) + localBroadcastManager.sendBroadcast(intent) + } + + fun unregisterReceiver(broadcastReceiver: BroadcastReceiver?) { + localBroadcastManager.unregisterReceiver(broadcastReceiver!!) + } + + fun broadcastPurchasesUpdated() { + localBroadcastManager.sendBroadcast(Intent(REFRESH_PURCHASES)) + } + + fun reconfigureWidget(appWidgetId: Int) { + appWidgetManager.reconfigureWidgets(appWidgetId) + } + + companion object { + const val REFRESH = "${BuildConfig.APPLICATION_ID}.REFRESH" + const val REFRESH_LIST = "${BuildConfig.APPLICATION_ID}.REFRESH_LIST" + private const val TASK_COMPLETED = "${BuildConfig.APPLICATION_ID}.REPEAT" + private const val REFRESH_PURCHASES = "${BuildConfig.APPLICATION_ID}.REFRESH_PURCHASES" + private const val REFRESH_PREFERENCES = "${BuildConfig.APPLICATION_ID}.REFRESH_PREFERENCES" + } +}