Remove CustomFilterExposer

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

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

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

Loading…
Cancel
Save