Inject FilterAdapter

pull/645/head
Alex Baker 6 years ago
parent 37a4456e34
commit 54ea6afbf5

@ -39,6 +39,8 @@ import org.tasks.ui.NavigationDrawerFragment;
import java.util.List;
import javax.inject.Inject;
import static android.support.v4.content.ContextCompat.getColor;
public class FilterAdapter extends ArrayAdapter<FilterListItem> {
@ -52,26 +54,31 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
private final FilterProvider filterProvider;
private final FilterCounter filterCounter;
private final Activity activity;
private final boolean navigationDrawer;
private final Locale locale;
private final FilterListUpdateReceiver filterListUpdateReceiver = new FilterListUpdateReceiver();
private boolean navigationDrawer;
/** layout inflater */
private final LayoutInflater inflater;
private final ThemeCache themeCache;
@Inject
public FilterAdapter(FilterProvider filterProvider, FilterCounter filterCounter, Activity activity,
boolean navigationDrawer, Theme theme, ThemeCache themeCache, Locale locale) {
Theme theme, ThemeCache themeCache, Locale locale) {
super(activity, 0);
this.filterProvider = filterProvider;
this.filterCounter = filterCounter;
this.activity = activity;
this.navigationDrawer = navigationDrawer;
this.locale = locale;
this.inflater = theme.getLayoutInflater(activity);
this.themeCache = themeCache;
}
public void setNavigationDrawer() {
navigationDrawer = true;
}
public FilterListUpdateReceiver getFilterListUpdateReceiver() {
return filterListUpdateReceiver;
}
@ -85,7 +92,7 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
public void add(FilterListItem item) {
super.add(item);
// load sizes
if (item instanceof Filter) {
if (navigationDrawer && item instanceof Filter) {
filterCounter.registerFilter((Filter) item);
}
}

@ -8,13 +8,8 @@ import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.api.Filter;
import org.tasks.dialogs.DialogBuilder;
import org.tasks.filters.FilterCounter;
import org.tasks.filters.FilterProvider;
import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.locale.Locale;
import org.tasks.themes.Theme;
import org.tasks.themes.ThemeCache;
import javax.inject.Inject;
@ -26,12 +21,8 @@ public class FilterSelectionActivity extends InjectingAppCompatActivity {
private static final String EXTRA_FILTER_SQL = "extra_filter_query";
private static final String EXTRA_FILTER_VALUES = "extra_filter_values";
@Inject FilterProvider filterProvider;
@Inject FilterCounter filterCounter;
@Inject DialogBuilder dialogBuilder;
@Inject Theme theme;
@Inject ThemeCache themeCache;
@Inject Locale locale;
@Inject FilterAdapter filterAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -39,8 +30,6 @@ public class FilterSelectionActivity extends InjectingAppCompatActivity {
final boolean returnFilter = getIntent().getBooleanExtra(EXTRA_RETURN_FILTER, false);
final FilterAdapter filterAdapter = new FilterAdapter(filterProvider, filterCounter, this,
false, theme, themeCache, locale);
filterAdapter.populateList();
dialogBuilder.newDialog()

@ -19,15 +19,10 @@ import com.todoroo.astrid.api.FilterListItem;
import org.tasks.LocalBroadcastManager;
import org.tasks.R;
import org.tasks.filters.FilterCounter;
import org.tasks.filters.FilterProvider;
import org.tasks.filters.NavigationDrawerAction;
import org.tasks.injection.FragmentComponent;
import org.tasks.injection.InjectingFragment;
import org.tasks.locale.Locale;
import org.tasks.preferences.AppearancePreferences;
import org.tasks.themes.Theme;
import org.tasks.themes.ThemeCache;
import javax.inject.Inject;
@ -46,8 +41,6 @@ public class NavigationDrawerFragment extends InjectingFragment {
public static final int ACTIVITY_REQUEST_NEW_FILTER = 5;
public static final int REQUEST_NEW_GTASK_LIST = 6;
private FilterAdapter adapter = null;
private final RefreshReceiver refreshReceiver = new RefreshReceiver();
/**
@ -61,12 +54,8 @@ public class NavigationDrawerFragment extends InjectingFragment {
private Filter selected = null;
@Inject FilterCounter filterCounter;
@Inject FilterProvider filterProvider;
@Inject Theme theme;
@Inject ThemeCache themeCache;
@Inject Locale locale;
@Inject LocalBroadcastManager localBroadcastManager;
@Inject FilterAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -129,8 +118,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
}
private void setUpList() {
adapter = new FilterAdapter(filterProvider, filterCounter, getActivity(),
true, theme, themeCache, locale);
adapter.setNavigationDrawer();
mDrawerListView.setAdapter(adapter);
registerForContextMenu(mDrawerListView);
}

Loading…
Cancel
Save