Check for null filter when creating fragment

pull/820/head
Alex Baker 7 years ago
parent dd2d038ba0
commit c3bfa4e93b

@ -226,7 +226,9 @@ public class MainActivity extends InjectingAppCompatActivity
} else { } else {
TaskListFragment existing = getTaskListFragment(); TaskListFragment existing = getTaskListFragment();
openTaskListFragment( openTaskListFragment(
existing == null || existing.getFilter() != filter ? newTaskListFragment(filter) : existing); existing == null || existing.getFilter() != filter
? newTaskListFragment(getApplicationContext(), filter)
: existing);
openTask(filter); openTask(filter);
} }
@ -259,7 +261,7 @@ public class MainActivity extends InjectingAppCompatActivity
} }
private void openTaskListFragment(Filter filter) { private void openTaskListFragment(Filter filter) {
openTaskListFragment(newTaskListFragment(filter)); openTaskListFragment(newTaskListFragment(getApplicationContext(), filter));
} }
private void openTaskListFragment(@NonNull TaskListFragment taskListFragment) { private void openTaskListFragment(@NonNull TaskListFragment taskListFragment) {

@ -161,10 +161,12 @@ public final class TaskListFragment extends InjectingFragment
*/ */
private TaskListFragmentCallbackHandler callbacks; private TaskListFragmentCallbackHandler callbacks;
static TaskListFragment newTaskListFragment(Filter filter) { static TaskListFragment newTaskListFragment(Context context, Filter filter) {
TaskListFragment fragment = new TaskListFragment(); TaskListFragment fragment = new TaskListFragment();
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putParcelable(EXTRA_FILTER, filter); bundle.putParcelable(
EXTRA_FILTER,
filter == null ? BuiltInFilterExposer.getMyTasksFilter(context.getResources()) : filter);
fragment.setArguments(bundle); fragment.setArguments(bundle);
return fragment; return fragment;
} }
@ -539,15 +541,7 @@ public final class TaskListFragment extends InjectingFragment
} }
public Filter getFilter() { public Filter getFilter() {
Filter filter = null; return getArguments().getParcelable(EXTRA_FILTER);
Bundle arguments = getArguments();
if (arguments != null) {
filter = arguments.getParcelable(EXTRA_FILTER);
}
if (filter == null) {
filter = BuiltInFilterExposer.getMyTasksFilter(getResources());
}
return filter;
} }
public void onTaskCreated(List<Task> tasks) { public void onTaskCreated(List<Task> tasks) {

Loading…
Cancel
Save