Remove CustomFilterExposer

pull/1012/head
Alex Baker 6 years ago
parent a42ce0299b
commit ac01f2d77b

@ -28,7 +28,7 @@ public class CustomFilter extends Filter {
private long id; private long id;
private String criterion; private String criterion;
public CustomFilter(org.tasks.data.Filter filter) { public CustomFilter(@NonNull org.tasks.data.Filter filter) {
super(filter.getTitle(), filter.getSql(), filter.getValuesAsMap()); super(filter.getTitle(), filter.getSql(), filter.getValuesAsMap());
id = filter.getId(); id = filter.getId();
criterion = filter.getCriterion(); criterion = filter.getCriterion();

@ -1,42 +0,0 @@
/*
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.core;
import static com.google.common.collect.Lists.transform;
import com.todoroo.astrid.api.CustomFilter;
import com.todoroo.astrid.api.Filter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
import org.tasks.data.FilterDao;
import org.tasks.filters.AlphanumComparator;
public final class CustomFilterExposer {
private final FilterDao filterDao;
@Inject
public CustomFilterExposer(FilterDao filterDao) {
this.filterDao = filterDao;
}
public List<Filter> getFilters() {
List<Filter> filters = new ArrayList<>(transform(filterDao.getFilters(), this::load));
Collections.sort(filters, new AlphanumComparator<>(AlphanumComparator.FILTER));
return filters;
}
public Filter getFilter(long id) {
return load(filterDao.getById(id));
}
private Filter load(org.tasks.data.Filter savedFilter) {
return savedFilter == null ? null : new CustomFilter(savedFilter);
}
}

@ -4,10 +4,10 @@ import android.content.Context
import android.content.Intent import android.content.Intent
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.astrid.api.CustomFilter
import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.Filter
import com.todoroo.astrid.api.FilterListItem import com.todoroo.astrid.api.FilterListItem
import com.todoroo.astrid.core.BuiltInFilterExposer import com.todoroo.astrid.core.BuiltInFilterExposer
import com.todoroo.astrid.core.CustomFilterExposer
import com.todoroo.astrid.timers.TimerFilterExposer import com.todoroo.astrid.timers.TimerFilterExposer
import org.tasks.BuildConfig import org.tasks.BuildConfig
import org.tasks.R import org.tasks.R
@ -33,7 +33,7 @@ class FilterProvider @Inject constructor(
private val inventory: Inventory, private val inventory: Inventory,
private val builtInFilterExposer: BuiltInFilterExposer, private val builtInFilterExposer: BuiltInFilterExposer,
private val timerFilterExposer: TimerFilterExposer, private val timerFilterExposer: TimerFilterExposer,
private val customFilterExposer: CustomFilterExposer, private val filterDao: FilterDao,
private val tagDataDao: TagDataDao, private val tagDataDao: TagDataDao,
private val googleTaskListDao: GoogleTaskListDao, private val googleTaskListDao: GoogleTaskListDao,
private val caldavDao: CaldavDao, private val caldavDao: CaldavDao,
@ -230,7 +230,9 @@ class FilterProvider @Inject constructor(
if (filter != null) { if (filter != null) {
filters.add(filter) filters.add(filter)
} }
filters.addAll(customFilterExposer.filters) filters.addAll(filterDao.getFilters()
.map(::CustomFilter)
.sortedWith(AlphanumComparator(AlphanumComparator.FILTER)))
return filters return filters
} }

@ -2,15 +2,12 @@ package org.tasks.preferences
import android.content.Context import android.content.Context
import com.todoroo.astrid.api.* import com.todoroo.astrid.api.*
import com.todoroo.astrid.api.Filter
import com.todoroo.astrid.core.BuiltInFilterExposer import com.todoroo.astrid.core.BuiltInFilterExposer
import com.todoroo.astrid.core.BuiltInFilterExposer.getMyTasksFilter import com.todoroo.astrid.core.BuiltInFilterExposer.getMyTasksFilter
import com.todoroo.astrid.core.CustomFilterExposer
import org.tasks.R import org.tasks.R
import org.tasks.Strings.isNullOrEmpty import org.tasks.Strings.isNullOrEmpty
import org.tasks.data.CaldavDao import org.tasks.data.*
import org.tasks.data.GoogleTaskListDao
import org.tasks.data.LocationDao
import org.tasks.data.TagDataDao
import org.tasks.filters.PlaceFilter import org.tasks.filters.PlaceFilter
import org.tasks.injection.ForApplication import org.tasks.injection.ForApplication
import timber.log.Timber import timber.log.Timber
@ -19,7 +16,7 @@ import javax.inject.Inject
class DefaultFilterProvider @Inject constructor( class DefaultFilterProvider @Inject constructor(
@param:ForApplication private val context: Context, @param:ForApplication private val context: Context,
private val preferences: Preferences, private val preferences: Preferences,
private val customFilterExposer: CustomFilterExposer, private val filterDao: FilterDao,
private val tagDataDao: TagDataDao, private val tagDataDao: TagDataDao,
private val googleTaskListDao: GoogleTaskListDao, private val googleTaskListDao: GoogleTaskListDao,
private val caldavDao: CaldavDao, private val caldavDao: CaldavDao,
@ -78,7 +75,7 @@ class DefaultFilterProvider @Inject constructor(
val split = preferenceValue.split(":") val split = preferenceValue.split(":")
return when (split[0].toInt()) { return when (split[0].toInt()) {
TYPE_FILTER -> getBuiltInFilter(split[1].toInt()) TYPE_FILTER -> getBuiltInFilter(split[1].toInt())
TYPE_CUSTOM_FILTER -> customFilterExposer.getFilter(split[1].toLong()) TYPE_CUSTOM_FILTER -> filterDao.getById(split[1].toLong())?.let(::CustomFilter)
TYPE_TAG -> { TYPE_TAG -> {
val tag = tagDataDao.getByUuid(split[1]) val tag = tagDataDao.getByUuid(split[1])
if (tag == null || isNullOrEmpty(tag.name)) null else TagFilter(tag) if (tag == null || isNullOrEmpty(tag.name)) null else TagFilter(tag)

Loading…
Cancel
Save