Inject preference screens

pull/189/head
Alex Baker 10 years ago
parent fa2adbf0de
commit 2f64e678df

@ -21,14 +21,11 @@ import android.preference.PreferenceManager;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.text.TextUtils; import android.text.TextUtils;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
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;
import com.todoroo.andlib.utility.TodorooPreferenceActivity;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.data.TaskAttachment; import com.todoroo.astrid.data.TaskAttachment;
import com.todoroo.astrid.files.FileExplore; import com.todoroo.astrid.files.FileExplore;
@ -46,6 +43,7 @@ import com.todoroo.astrid.voice.VoiceOutputService;
import com.todoroo.astrid.voice.VoiceRecognizer; import com.todoroo.astrid.voice.VoiceRecognizer;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingTodorooPreferenceActivity;
import org.tasks.widget.WidgetHelper; import org.tasks.widget.WidgetHelper;
import java.util.ArrayList; import java.util.ArrayList;
@ -54,13 +52,15 @@ import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map.Entry; import java.util.Map.Entry;
import javax.inject.Inject;
/** /**
* Displays the preference screen for users to edit their preferences * Displays the preference screen for users to edit their preferences
* *
* @author Tim Su <tim@todoroo.com> * @author Tim Su <tim@todoroo.com>
* *
*/ */
public class EditPreferences extends TodorooPreferenceActivity { public class EditPreferences extends InjectingTodorooPreferenceActivity {
private static final int APPEARANCE_PREFERENCE = 0; private static final int APPEARANCE_PREFERENCE = 0;
@ -72,14 +72,10 @@ public class EditPreferences extends TodorooPreferenceActivity {
// --- instance variables // --- instance variables
@Autowired private TaskService taskService; @Inject TaskService taskService;
private VoiceInputAssistant voiceInputAssistant; private VoiceInputAssistant voiceInputAssistant;
public EditPreferences() {
DependencyInjectionService.getInstance().inject(this);
}
private class SetResultOnPreferenceChangeListener implements OnPreferenceChangeListener { private class SetResultOnPreferenceChangeListener implements OnPreferenceChangeListener {
private final int resultCode; private final int resultCode;
public SetResultOnPreferenceChangeListener(int resultCode) { public SetResultOnPreferenceChangeListener(int resultCode) {

@ -15,14 +15,11 @@ import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.andlib.utility.TodorooPreferenceActivity;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.gcal.GCalHelper;
@ -31,6 +28,9 @@ import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.AstridPreferences;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingTodorooPreferenceActivity;
import javax.inject.Inject;
/** /**
* Displays the preference screen for users to manage their old tasks and events * Displays the preference screen for users to manage their old tasks and events
@ -38,11 +38,11 @@ import org.tasks.R;
* @author Tim Su <tim@todoroo.com> * @author Tim Su <tim@todoroo.com>
* *
*/ */
public class OldTaskPreferences extends TodorooPreferenceActivity { public class OldTaskPreferences extends InjectingTodorooPreferenceActivity {
@Autowired TaskService taskService; @Inject TaskService taskService;
@Autowired MetadataService metadataService; @Inject MetadataService metadataService;
@Autowired Database database; @Inject Database database;
ProgressDialog pd; ProgressDialog pd;
@ -55,7 +55,6 @@ public class OldTaskPreferences extends TodorooPreferenceActivity {
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
PreferenceScreen screen = getPreferenceScreen(); PreferenceScreen screen = getPreferenceScreen();
DependencyInjectionService.getInstance().inject(this);
// Extended prefs // Extended prefs
Preference preference = screen.findPreference(getString(R.string.EPr_manage_delete_completed)); Preference preference = screen.findPreference(getString(R.string.EPr_manage_delete_completed));

@ -7,14 +7,14 @@ package com.todoroo.astrid.gtasks;
import android.content.Intent; import android.content.Intent;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity; import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider; import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider;
import com.todoroo.astrid.sync.SyncProviderPreferences;
import com.todoroo.astrid.sync.SyncProviderUtilities; import com.todoroo.astrid.sync.SyncProviderUtilities;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.InjectingSyncProviderPreferences;
import javax.inject.Inject;
/** /**
* Displays synchronization preferences and an action panel so users can * Displays synchronization preferences and an action panel so users can
@ -23,16 +23,11 @@ import org.tasks.R;
* @author Tim Su <tim@todoroo.com> * @author Tim Su <tim@todoroo.com>
* *
*/ */
public class GtasksPreferences extends SyncProviderPreferences { public class GtasksPreferences extends InjectingSyncProviderPreferences {
@Autowired private GtasksPreferenceService gtasksPreferenceService;
@Autowired private GtasksSyncV2Provider gtasksSyncV2Provider;
@Autowired private GtasksScheduler gtasksScheduler;
public GtasksPreferences() { @Inject GtasksPreferenceService gtasksPreferenceService;
super(); @Inject GtasksSyncV2Provider gtasksSyncV2Provider;
DependencyInjectionService.getInstance().inject(this); @Inject GtasksScheduler gtasksScheduler;
}
@Override @Override
public int getPreferenceResource() { public int getPreferenceResource() {

@ -1,15 +1,18 @@
package org.tasks.injection; package org.tasks.injection;
import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.activity.EditPreferences;
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.calls.MissedCallActivity;
import com.todoroo.astrid.core.CustomFilterActivity; import com.todoroo.astrid.core.CustomFilterActivity;
import com.todoroo.astrid.core.CustomFilterExposer; import com.todoroo.astrid.core.CustomFilterExposer;
import com.todoroo.astrid.core.OldTaskPreferences;
import com.todoroo.astrid.gcal.CalendarAlarmListCreator; import com.todoroo.astrid.gcal.CalendarAlarmListCreator;
import com.todoroo.astrid.gcal.CalendarReminderActivity; import com.todoroo.astrid.gcal.CalendarReminderActivity;
import com.todoroo.astrid.gtasks.GtasksListAdder; import com.todoroo.astrid.gtasks.GtasksListAdder;
import com.todoroo.astrid.gtasks.GtasksPreferences;
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity; import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.widget.WidgetConfigActivity; import com.todoroo.astrid.widget.WidgetConfigActivity;
@ -34,7 +37,10 @@ import dagger.Module;
TagFilterExposer.RenameTagActivity.class, TagFilterExposer.RenameTagActivity.class,
VoiceCommandActivity.class, VoiceCommandActivity.class,
GtasksLoginActivity.class, GtasksLoginActivity.class,
WidgetConfigActivity.class WidgetConfigActivity.class,
EditPreferences.class,
GtasksPreferences.class,
OldTaskPreferences.class
}) })
public class ActivityModule { public class ActivityModule {
} }

@ -0,0 +1,14 @@
package org.tasks.injection;
import android.os.Bundle;
import com.todoroo.astrid.sync.SyncProviderPreferences;
public abstract class InjectingSyncProviderPreferences extends SyncProviderPreferences {
@Override
public void onCreate(Bundle savedInstanceState) {
((Injector) getApplication()).inject(this, new ActivityModule());
super.onCreate(savedInstanceState);
}
}

@ -0,0 +1,14 @@
package org.tasks.injection;
import android.os.Bundle;
import com.todoroo.andlib.utility.TodorooPreferenceActivity;
public abstract class InjectingTodorooPreferenceActivity extends TodorooPreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
((Injector) getApplication()).inject(this, new ActivityModule());
super.onCreate(savedInstanceState);
}
}
Loading…
Cancel
Save