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

@ -15,14 +15,11 @@ import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceScreen;
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.Query;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.andlib.utility.TodorooPreferenceActivity;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gcal.GCalHelper;
@ -31,6 +28,9 @@ import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.utility.AstridPreferences;
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
@ -38,11 +38,11 @@ import org.tasks.R;
* @author Tim Su <tim@todoroo.com>
*
*/
public class OldTaskPreferences extends TodorooPreferenceActivity {
public class OldTaskPreferences extends InjectingTodorooPreferenceActivity {
@Autowired TaskService taskService;
@Autowired MetadataService metadataService;
@Autowired Database database;
@Inject TaskService taskService;
@Inject MetadataService metadataService;
@Inject Database database;
ProgressDialog pd;
@ -55,7 +55,6 @@ public class OldTaskPreferences extends TodorooPreferenceActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferenceScreen screen = getPreferenceScreen();
DependencyInjectionService.getInstance().inject(this);
// Extended prefs
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 com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider;
import com.todoroo.astrid.sync.SyncProviderPreferences;
import com.todoroo.astrid.sync.SyncProviderUtilities;
import org.tasks.R;
import org.tasks.injection.InjectingSyncProviderPreferences;
import javax.inject.Inject;
/**
* Displays synchronization preferences and an action panel so users can
@ -23,16 +23,11 @@ import org.tasks.R;
* @author Tim Su <tim@todoroo.com>
*
*/
public class GtasksPreferences extends SyncProviderPreferences {
@Autowired private GtasksPreferenceService gtasksPreferenceService;
@Autowired private GtasksSyncV2Provider gtasksSyncV2Provider;
@Autowired private GtasksScheduler gtasksScheduler;
public class GtasksPreferences extends InjectingSyncProviderPreferences {
public GtasksPreferences() {
super();
DependencyInjectionService.getInstance().inject(this);
}
@Inject GtasksPreferenceService gtasksPreferenceService;
@Inject GtasksSyncV2Provider gtasksSyncV2Provider;
@Inject GtasksScheduler gtasksScheduler;
@Override
public int getPreferenceResource() {

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