Add InjectingActivity

pull/143/head
Alex Baker 12 years ago
parent 807db20d5a
commit 9cc044abc7

@ -5,7 +5,6 @@
*/ */
package com.todoroo.astrid.calls; package com.todoroo.astrid.calls;
import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.ContentUris; import android.content.ContentUris;
import android.content.DialogInterface; import android.content.DialogInterface;
@ -22,8 +21,6 @@ import android.view.View.OnClickListener;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
@ -36,10 +33,13 @@ import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.ThemeService;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingActivity;
import java.io.InputStream; import java.io.InputStream;
public class MissedCallActivity extends Activity { import javax.inject.Inject;
public class MissedCallActivity extends InjectingActivity {
public static final String EXTRA_NUMBER = "number"; //$NON-NLS-1$ public static final String EXTRA_NUMBER = "number"; //$NON-NLS-1$
public static final String EXTRA_NAME = "name"; //$NON-NLS-1$ public static final String EXTRA_NAME = "name"; //$NON-NLS-1$
@ -51,7 +51,7 @@ public class MissedCallActivity extends Activity {
// Prompt user to ignore all missed calls after this many ignore presses // Prompt user to ignore all missed calls after this many ignore presses
private static final int IGNORE_PROMPT_COUNT = 3; private static final int IGNORE_PROMPT_COUNT = 3;
@Autowired private TaskService taskService; @Inject TaskService taskService;
private final OnClickListener dismissListener = new OnClickListener() { private final OnClickListener dismissListener = new OnClickListener() {
@Override @Override
@ -107,7 +107,6 @@ public class MissedCallActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
new StartupService().onStartupApplication(this); new StartupService().onStartupApplication(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
DependencyInjectionService.getInstance().inject(this);
setContentView(R.layout.missed_call_activity); setContentView(R.layout.missed_call_activity);

@ -5,7 +5,6 @@
*/ */
package com.todoroo.astrid.core; package com.todoroo.astrid.core;
import android.app.Activity;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@ -35,9 +34,12 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.ThemeService;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingActivity;
import java.util.ArrayList; import java.util.ArrayList;
import javax.inject.Inject;
/** /**
* Exposes Astrid's built in filters to the {@link FilterListFragment} * Exposes Astrid's built in filters to the {@link FilterListFragment}
* *
@ -124,16 +126,14 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr
* @author Tim Su <tim@todoroo.com> * @author Tim Su <tim@todoroo.com>
* *
*/ */
public static class DeleteActivity extends Activity { public static class DeleteActivity extends InjectingActivity {
@Autowired StoreObjectDao storeObjectDao; @Inject StoreObjectDao storeObjectDao;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
DependencyInjectionService.getInstance().inject(this);
super.onCreate(savedInstanceState);
setTheme(android.R.style.Theme_Dialog); setTheme(android.R.style.Theme_Dialog);
super.onCreate(savedInstanceState);
final long id = getIntent().getLongExtra(TOKEN_FILTER_ID, -1); final long id = getIntent().getLongExtra(TOKEN_FILTER_ID, -1);
if(id == -1) { if(id == -1) {

@ -1,6 +1,5 @@
package com.todoroo.astrid.gcal; package com.todoroo.astrid.gcal;
import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
@ -9,8 +8,6 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.TextView; import android.widget.TextView;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.EditPreferences; import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
@ -22,14 +19,17 @@ import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingActivity;
import java.util.ArrayList; import java.util.ArrayList;
public class CalendarAlarmListCreator extends Activity { import javax.inject.Inject;
public class CalendarAlarmListCreator extends InjectingActivity {
public static final String TOKEN_LIST_NAME = "listName"; //$NON-NLS-1$ public static final String TOKEN_LIST_NAME = "listName"; //$NON-NLS-1$
@Autowired private TagDataService tagDataService; @Inject TagDataService tagDataService;
private ArrayList<String> names; private ArrayList<String> names;
private ArrayList<String> emails; private ArrayList<String> emails;
@ -59,7 +59,6 @@ public class CalendarAlarmListCreator extends Activity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
DependencyInjectionService.getInstance().inject(this);
setContentView(R.layout.calendar_alarm_list_creator); setContentView(R.layout.calendar_alarm_list_creator);
Intent intent = getIntent(); Intent intent = getIntent();

@ -1,6 +1,5 @@
package com.todoroo.astrid.gcal; package com.todoroo.astrid.gcal;
import android.app.Activity;
import android.app.AlarmManager; import android.app.AlarmManager;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.Context; import android.content.Context;
@ -12,8 +11,6 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.TextView; import android.widget.TextView;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
@ -29,10 +26,13 @@ import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingActivity;
import javax.inject.Inject;
import static org.tasks.date.DateTimeUtils.newDate; import static org.tasks.date.DateTimeUtils.newDate;
public class CalendarReminderActivity extends Activity { public class CalendarReminderActivity extends InjectingActivity {
public static final String TOKEN_NAMES = "names"; public static final String TOKEN_NAMES = "names";
public static final String TOKEN_EMAILS = "emails"; public static final String TOKEN_EMAILS = "emails";
@ -48,7 +48,7 @@ public class CalendarReminderActivity extends Activity {
// Prompt user to ignore all missed calls after this many ignore presses // Prompt user to ignore all missed calls after this many ignore presses
private static final int IGNORE_PROMPT_COUNT = 3; private static final int IGNORE_PROMPT_COUNT = 3;
@Autowired private TagDataService tagDataService; @Inject TagDataService tagDataService;
private String eventName; private String eventName;
private long startTime; private long startTime;
@ -108,11 +108,9 @@ public class CalendarReminderActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
new StartupService().onStartupApplication(this); new StartupService().onStartupApplication(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
DependencyInjectionService.getInstance().inject(this);
setContentView(R.layout.calendar_reminder_activity); setContentView(R.layout.calendar_reminder_activity);
Intent intent = getIntent(); Intent intent = getIntent();
fromPostpone = intent.getBooleanExtra(TOKEN_FROM_POSTPONE, false); fromPostpone = intent.getBooleanExtra(TOKEN_FROM_POSTPONE, false);
eventId = intent.getLongExtra(TOKEN_EVENT_ID, -1); eventId = intent.getLongExtra(TOKEN_EVENT_ID, -1);

@ -13,8 +13,6 @@ import android.text.TextUtils;
import android.widget.EditText; import android.widget.EditText;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.StoreObject;
@ -22,13 +20,16 @@ import com.todoroo.astrid.gtasks.api.GtasksInvoker;
import com.todoroo.astrid.gtasks.auth.GtasksTokenValidator; import com.todoroo.astrid.gtasks.auth.GtasksTokenValidator;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingActivity;
import java.io.IOException; import java.io.IOException;
public class GtasksListAdder extends Activity { import javax.inject.Inject;
@Autowired GtasksPreferenceService gtasksPreferenceService; public class GtasksListAdder extends InjectingActivity {
@Autowired GtasksListService gtasksListService;
@Inject GtasksPreferenceService gtasksPreferenceService;
@Inject GtasksListService gtasksListService;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -37,8 +38,6 @@ public class GtasksListAdder extends Activity {
} }
private void showNewListDialog(final Activity activity) { private void showNewListDialog(final Activity activity) {
DependencyInjectionService.getInstance().inject(this);
FrameLayout frame = new FrameLayout(activity); FrameLayout frame = new FrameLayout(activity);
final EditText editText = new EditText(activity); final EditText editText = new EditText(activity);
frame.addView(editText); frame.addView(editText);

@ -34,21 +34,21 @@ import com.todoroo.astrid.api.FilterCategory;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.FilterWithUpdate; import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TagMetadataDao;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.AstridDependencyInjector;
import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagService.Tag; import com.todoroo.astrid.tags.TagService.Tag;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingActivity;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
/** /**
* Exposes filters based on tags * Exposes filters based on tags
* *
@ -188,18 +188,12 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
// --- tag manipulation activities // --- tag manipulation activities
public abstract static class TagActivity extends Activity { public abstract static class TagActivity extends InjectingActivity {
protected String tag;
protected String uuid;
@Autowired public TagService tagService; String tag;
@Autowired public TagDataDao tagDataDao; String uuid;
@Autowired public TagMetadataDao tagMetadataDao;
static { @Inject TagService tagService;
AstridDependencyInjector.initialize();
}
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -212,7 +206,6 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
finish(); finish();
return; return;
} }
DependencyInjectionService.getInstance().inject(this);
showDialog(); showDialog();
} }

@ -4,7 +4,15 @@ import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.activity.ShareLinkActivity; import com.todoroo.astrid.activity.ShareLinkActivity;
import com.todoroo.astrid.activity.TaskEditActivity; import com.todoroo.astrid.activity.TaskEditActivity;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.calls.MissedCallActivity;
import com.todoroo.astrid.core.CustomFilterActivity; import com.todoroo.astrid.core.CustomFilterActivity;
import com.todoroo.astrid.core.CustomFilterExposer;
import com.todoroo.astrid.gcal.CalendarAlarmListCreator;
import com.todoroo.astrid.gcal.CalendarReminderActivity;
import com.todoroo.astrid.gtasks.GtasksListAdder;
import com.todoroo.astrid.tags.TagFilterExposer;
import org.tasks.voice.VoiceCommandActivity;
import dagger.Module; import dagger.Module;
@ -14,7 +22,15 @@ import dagger.Module;
TaskEditActivity.class, TaskEditActivity.class,
ShareLinkActivity.class, ShareLinkActivity.class,
TagSettingsActivity.class, TagSettingsActivity.class,
CustomFilterActivity.class CustomFilterActivity.class,
MissedCallActivity.class,
CalendarAlarmListCreator.class,
CustomFilterExposer.DeleteActivity.class,
CalendarReminderActivity.class,
GtasksListAdder.class,
TagFilterExposer.DeleteTagActivity.class,
TagFilterExposer.RenameTagActivity.class,
VoiceCommandActivity.class
}) })
public class ActivityModule { public class ActivityModule {
} }

@ -0,0 +1,13 @@
package org.tasks.injection;
import android.app.Activity;
import android.os.Bundle;
public class InjectingActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
((Injector) getApplication()).inject(this, new ActivityModule());
super.onCreate(savedInstanceState);
}
}

@ -1,25 +1,21 @@
package org.tasks.voice; package org.tasks.voice;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.widget.Toast; import android.widget.Toast;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingActivity;
public class VoiceCommandActivity extends Activity { import javax.inject.Inject;
@Autowired TaskService taskService; public class VoiceCommandActivity extends InjectingActivity {
public VoiceCommandActivity() { @Inject TaskService taskService;
DependencyInjectionService.getInstance().inject(this);
}
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {

Loading…
Cancel
Save