Set view model filter from drawer

Avoid extraneous refresh of old filter when drawer closes
gtask_related_email
Alex Baker 6 years ago
parent 6585bec89b
commit 4922b156ee

@ -24,6 +24,7 @@ import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.drawerlayout.widget.DrawerLayout.SimpleDrawerListener;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.todoroo.astrid.activity.MainActivity;
@ -159,6 +160,9 @@ public class NavigationDrawerFragment extends InjectingFragment {
}
}
});
if (item instanceof Filter) {
ViewModelProviders.of(getActivity()).get(TaskListViewModel.class).setFilter((Filter) item);
}
close();
}

@ -98,6 +98,10 @@ public class TaskListViewModel extends ViewModel implements Observer<PagedList<T
private CompositeDisposable disposable = new CompositeDisposable();
private LiveData<PagedList<TaskContainer>> internal;
public void setFilter(@NonNull Filter filter) {
setFilter(filter, manualSort);
}
public void setFilter(@NonNull Filter filter, boolean manualSort) {
if (!filter.equals(this.filter)
|| !filter.getSqlQuery().equals(this.filter.getSqlQuery())

Loading…
Cancel
Save