Include tag names in search results

pull/820/head
Alex Baker 7 years ago
parent 8df81cf182
commit ef7ca32cf2

@ -37,6 +37,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import com.google.android.material.snackbar.Snackbar; import com.google.android.material.snackbar.Snackbar;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.astrid.adapter.GoogleTaskAdapter; import com.todoroo.astrid.adapter.GoogleTaskAdapter;
import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapter;
@ -71,6 +72,7 @@ import org.tasks.activities.TagSettingsActivity;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking; import org.tasks.analytics.Tracking;
import org.tasks.caldav.CaldavCalendarSettingsActivity; import org.tasks.caldav.CaldavCalendarSettingsActivity;
import org.tasks.data.Tag;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
import org.tasks.dialogs.SortDialog; import org.tasks.dialogs.SortDialog;
import org.tasks.injection.ForActivity; import org.tasks.injection.ForActivity;
@ -350,11 +352,14 @@ public final class TaskListFragment extends InjectingFragment
return new SearchFilter( return new SearchFilter(
title, title,
new QueryTemplate() new QueryTemplate()
.join(Join.left(Tag.TABLE, Tag.TASK_UID.eq(Task.UUID)))
.where( .where(
Criterion.and( Criterion.and(
Task.DELETION_DATE.eq(0), Task.DELETION_DATE.eq(0),
Criterion.or( Criterion.or(
Task.NOTES.like("%" + query + "%"), Task.TITLE.like("%" + query + "%"))))); Task.NOTES.like("%" + query + "%"),
Task.TITLE.like("%" + query + "%"),
Tag.NAME.like("%" + query + "%")))));
} }
@Override @Override

@ -5,6 +5,7 @@ import androidx.room.ColumnInfo;
import androidx.room.Entity; import androidx.room.Entity;
import androidx.room.Ignore; import androidx.room.Ignore;
import androidx.room.PrimaryKey; import androidx.room.PrimaryKey;
import com.todoroo.andlib.data.Property.StringProperty;
import com.todoroo.andlib.data.Table; import com.todoroo.andlib.data.Table;
import org.tasks.backup.XmlReader; import org.tasks.backup.XmlReader;
@ -15,6 +16,9 @@ public class Tag {
@Deprecated public static final Table TABLE = new Table("tags"); @Deprecated public static final Table TABLE = new Table("tags");
public static final StringProperty TASK_UID = new StringProperty(TABLE, "task_uid");
public static final StringProperty NAME = new StringProperty(TABLE, "name");
@PrimaryKey(autoGenerate = true) @PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "_id") @ColumnInfo(name = "_id")
private transient long id; private transient long id;

Loading…
Cancel
Save