mirror of https://github.com/tasks/tasks
Convert LocalBroadcastManager to Kotlin
parent
5d366f0d61
commit
c0fd4bf66a
@ -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<Long> id) {
|
||||
broadcastTaskCompleted(id, 0);
|
||||
}
|
||||
|
||||
private void broadcastTaskCompleted(ArrayList<Long> 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);
|
||||
}
|
||||
}
|
@ -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<Long>) {
|
||||
broadcastTaskCompleted(id, 0)
|
||||
}
|
||||
|
||||
private fun broadcastTaskCompleted(id: ArrayList<Long>, 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"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue