From 46e56ddbf79b46ad85f6906d1b040f7256b87170 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 12 Jun 2019 15:52:17 -0500 Subject: [PATCH] Add menu to CustomFilter --- .../com/todoroo/astrid/activity/TaskListFragment.java | 9 ++------- .../main/java/com/todoroo/astrid/api/CustomFilter.java | 6 ++++++ app/src/main/java/com/todoroo/astrid/api/Filter.java | 4 ++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java index 55822c6d1..ebd7022a8 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -43,7 +43,6 @@ import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapterProvider; import com.todoroo.astrid.api.CaldavFilter; -import com.todoroo.astrid.api.CustomFilter; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.GtasksFilter; import com.todoroo.astrid.api.SearchFilter; @@ -295,12 +294,8 @@ public final class TaskListFragment extends InjectingFragment private void setupMenu(Toolbar toolbar) { toolbar.inflateMenu(R.menu.menu_task_list_fragment); - if (filter instanceof CustomFilter && ((CustomFilter) filter).getId() > 0) { - toolbar.inflateMenu(R.menu.menu_custom_filter); - } - int menuRes = filter.getMenu(); - if (menuRes > 0) { - toolbar.inflateMenu(menuRes); + if (filter.hasMenu()) { + toolbar.inflateMenu(filter.getMenu()); } Menu menu = toolbar.getMenu(); MenuItem hidden = menu.findItem(R.id.menu_show_hidden); diff --git a/app/src/main/java/com/todoroo/astrid/api/CustomFilter.java b/app/src/main/java/com/todoroo/astrid/api/CustomFilter.java index 97fde346e..9aa528a8a 100644 --- a/app/src/main/java/com/todoroo/astrid/api/CustomFilter.java +++ b/app/src/main/java/com/todoroo/astrid/api/CustomFilter.java @@ -5,6 +5,7 @@ import static com.todoroo.andlib.utility.AndroidUtilities.mapToSerializedString; import android.os.Parcel; import android.os.Parcelable; import java.util.Map; +import org.tasks.R; public class CustomFilter extends Filter { @@ -69,4 +70,9 @@ public class CustomFilter extends Filter { id = source.readLong(); criterion = source.readString(); } + + @Override + public int getMenu() { + return getId() > 0 ? R.menu.menu_custom_filter : 0; + } } diff --git a/app/src/main/java/com/todoroo/astrid/api/Filter.java b/app/src/main/java/com/todoroo/astrid/api/Filter.java index ec6adf461..03e73e36b 100644 --- a/app/src/main/java/com/todoroo/astrid/api/Filter.java +++ b/app/src/main/java/com/todoroo/astrid/api/Filter.java @@ -186,6 +186,10 @@ public class Filter extends FilterListItem { return false; } + public boolean hasMenu() { + return getMenu() != 0; + } + public @MenuRes int getMenu() { return 0; }