More injecting broadcast receivers

pull/189/head
Alex Baker 12 years ago
parent 96f6b92755
commit 75583efe96

@ -5,7 +5,6 @@
*/
package com.todoroo.astrid.gtasks;
import android.content.BroadcastReceiver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
@ -13,9 +12,7 @@ import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Query;
@ -27,24 +24,24 @@ import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.AstridDependencyInjector;
import org.tasks.R;
import org.tasks.injection.InjectingBroadcastReceiver;
public class GtasksCustomFilterCriteriaExposer extends BroadcastReceiver {
@Autowired private GtasksPreferenceService gtasksPreferenceService;
@Autowired private GtasksListService gtasksListService;
import javax.inject.Inject;
public class GtasksCustomFilterCriteriaExposer extends InjectingBroadcastReceiver {
private static final String IDENTIFIER = "gtaskslist"; //$NON-NLS-1$
static {
AstridDependencyInjector.initialize();
}
@Inject GtasksPreferenceService gtasksPreferenceService;
@Inject GtasksListService gtasksListService;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
ContextManager.setContext(context);
DependencyInjectionService.getInstance().inject(this);
// if we aren't logged in, don't expose sync action
if(!gtasksPreferenceService.isLoggedIn()) {
@ -53,7 +50,6 @@ public class GtasksCustomFilterCriteriaExposer extends BroadcastReceiver {
Resources r = context.getResources();
StoreObject[] lists = gtasksListService.getLists();
CustomFilterCriterion[] result = new CustomFilterCriterion[1];

@ -5,17 +5,17 @@
*/
package com.todoroo.astrid.gtasks;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.service.AstridDependencyInjector;
import org.tasks.injection.InjectingBroadcastReceiver;
import javax.inject.Inject;
/**
* Exposes Task Details for Google TAsks:
@ -24,22 +24,16 @@ import com.todoroo.astrid.service.AstridDependencyInjector;
* @author Tim Su <tim@todoroo.com>
*
*/
public class GtasksDetailExposer extends BroadcastReceiver {
public class GtasksDetailExposer extends InjectingBroadcastReceiver {
@Autowired private GtasksMetadataService gtasksMetadataService;
@Autowired private GtasksListService gtasksListService;
@Autowired private GtasksPreferenceService gtasksPreferenceService;
static {
AstridDependencyInjector.initialize();
}
public GtasksDetailExposer() {
DependencyInjectionService.getInstance().inject(this);
}
@Inject GtasksMetadataService gtasksMetadataService;
@Inject GtasksListService gtasksListService;
@Inject GtasksPreferenceService gtasksPreferenceService;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
ContextManager.setContext(context);
// if we aren't logged in, don't expose features
@ -64,7 +58,7 @@ public class GtasksDetailExposer extends BroadcastReceiver {
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
public String getTaskDetails(long id) {
private String getTaskDetails(long id) {
Metadata metadata = gtasksMetadataService.getTaskMetadata(id);
if(metadata == null) {
return null;

@ -5,16 +5,17 @@
*/
package com.todoroo.astrid.service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.utility.Flags;
import org.tasks.injection.InjectingBroadcastReceiver;
import javax.inject.Inject;
/**
* BroadcastReceiver for receiving Astrid events not associated with a
* specific activity
@ -22,26 +23,21 @@ import com.todoroo.astrid.utility.Flags;
* @author Tim Su <tim@todoroo.com>
*
*/
public final class GlobalEventReceiver extends BroadcastReceiver {
static {
AstridDependencyInjector.initialize();
}
public final class GlobalEventReceiver extends InjectingBroadcastReceiver {
@Autowired private TaskService taskService;
@Inject TaskService taskService;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if(intent == null) {
return;
}
DependencyInjectionService.getInstance().inject(this);
if(AstridApiConstants.BROADCAST_EVENT_FLUSH_DETAILS.equals(intent.getAction())) {
taskService.clearDetails(Criterion.all);
Flags.set(Flags.REFRESH);
}
}
}

@ -5,15 +5,12 @@
*/
package com.todoroo.astrid.tags;
import android.content.BroadcastReceiver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Query;
@ -28,19 +25,21 @@ import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.Task;
import org.tasks.R;
import org.tasks.injection.InjectingBroadcastReceiver;
import javax.inject.Inject;
public class TagCustomFilterCriteriaExposer extends InjectingBroadcastReceiver {
public class TagCustomFilterCriteriaExposer extends BroadcastReceiver {
private static final String IDENTIFIER_TAG_IS = "tag_is"; //$NON-NLS-1$
private static final String IDENTIFIER_TAG_CONTAINS = "tag_contains"; //$NON-NLS-1$
@Autowired TagService tagService;
public TagCustomFilterCriteriaExposer() {
DependencyInjectionService.getInstance().inject(this);
}
@Inject TagService tagService;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
Resources r = context.getResources();
CustomFilterCriterion[] ret = new CustomFilterCriterion[2];

@ -5,30 +5,28 @@
*/
package com.todoroo.astrid.tags;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.api.AstridApiConstants;
import org.tasks.injection.InjectingBroadcastReceiver;
import javax.inject.Inject;
/**
* Exposes Task Detail for tags, i.e. "Tags: frogs, animals"
*
* @author Tim Su <tim@todoroo.com>
*
*/
public class TagDetailExposer extends BroadcastReceiver {
public class TagDetailExposer extends InjectingBroadcastReceiver {
@Autowired TagService tagService;
public TagDetailExposer() {
DependencyInjectionService.getInstance().inject(this);
}
@Inject TagService tagService;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
// get tags associated with this task
long taskId = intent.getLongExtra(AstridApiConstants.EXTRAS_TASK_ID, -1);
if(taskId == -1) {
@ -48,7 +46,7 @@ public class TagDetailExposer extends BroadcastReceiver {
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
public String getTaskDetails(long id) {
private String getTaskDetails(long id) {
String tagList = tagService.getTagsAsString(id);
if(tagList.length() == 0) {
return null;
@ -56,5 +54,4 @@ public class TagDetailExposer extends BroadcastReceiver {
return /*"<img src='silk_tag_pink'/> " +*/ tagList;
}
}

@ -1,6 +1,11 @@
package org.tasks.injection;
import com.todoroo.astrid.gtasks.GtasksCustomFilterCriteriaExposer;
import com.todoroo.astrid.gtasks.GtasksDetailExposer;
import com.todoroo.astrid.reminders.Notifications;
import com.todoroo.astrid.service.GlobalEventReceiver;
import com.todoroo.astrid.tags.TagCustomFilterCriteriaExposer;
import com.todoroo.astrid.tags.TagDetailExposer;
import com.todoroo.astrid.widget.TasksWidget;
import org.tasks.scheduling.RefreshBroadcastReceiver;
@ -11,7 +16,12 @@ import dagger.Module;
injects = {
RefreshBroadcastReceiver.class,
TasksWidget.class,
Notifications.class
Notifications.class,
GtasksCustomFilterCriteriaExposer.class,
GtasksDetailExposer.class,
GlobalEventReceiver.class,
TagDetailExposer.class,
TagCustomFilterCriteriaExposer.class
})
public class BroadcastModule {
}

Loading…
Cancel
Save