|
|
|
@ -6,6 +6,7 @@
|
|
|
|
|
|
|
|
|
|
package com.todoroo.astrid.adapter;
|
|
|
|
|
|
|
|
|
|
import static com.google.common.base.Objects.equal;
|
|
|
|
|
import static com.todoroo.andlib.utility.AndroidUtilities.assertMainThread;
|
|
|
|
|
import static com.todoroo.astrid.api.FilterListItem.Type.ITEM;
|
|
|
|
|
import static com.todoroo.astrid.api.FilterListItem.Type.SUBHEADER;
|
|
|
|
@ -16,6 +17,7 @@ import android.view.LayoutInflater;
|
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.view.ViewGroup;
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
|
|
import androidx.recyclerview.widget.DiffUtil.ItemCallback;
|
|
|
|
|
import androidx.recyclerview.widget.ListAdapter;
|
|
|
|
|
import com.todoroo.astrid.adapter.FilterViewHolder.OnClick;
|
|
|
|
@ -96,7 +98,7 @@ public class NavigationDrawerAdapter extends ListAdapter<FilterListItem, FilterV
|
|
|
|
|
View view = inflater.inflate(type.layout, parent, false);
|
|
|
|
|
if (type == ITEM) {
|
|
|
|
|
return new FilterViewHolder(
|
|
|
|
|
view, accent, themeCache, true, locale, activity, inventory, onClick);
|
|
|
|
|
view, accent, themeCache, true, locale, activity, inventory, this::onClickFilter);
|
|
|
|
|
} else if (type == SUBHEADER) {
|
|
|
|
|
return new FilterViewHolder(view, activity);
|
|
|
|
|
} else {
|
|
|
|
@ -104,6 +106,10 @@ public class NavigationDrawerAdapter extends ListAdapter<FilterListItem, FilterV
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void onClickFilter(@Nullable FilterListItem filter) {
|
|
|
|
|
onClick.onClick(equal(filter, selected) ? null : filter);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onBindViewHolder(@NonNull FilterViewHolder holder, int position) {
|
|
|
|
|
FilterListItem item = getItem(position);
|
|
|
|
|