Fix navigation drawer highlighting

pull/795/head
Alex Baker 6 years ago
parent ec6bba7808
commit bf3c7c2c78

@ -56,7 +56,7 @@ public class FilterAdapter extends BaseAdapter {
private final LayoutInflater inflater;
private final ThemeCache themeCache;
private boolean navigationDrawer;
private FilterListItem selected;
private Filter selected = null;
private List<FilterListItem> items = new ArrayList<>();
private Map<Filter, Integer> counts = new HashMap<>();
@ -84,7 +84,7 @@ public class FilterAdapter extends BaseAdapter {
}
public void setData(List<FilterListItem> items) {
setData(items, null);
setData(items, selected);
}
public void setData(List<FilterListItem> items, @Nullable Filter selected) {
@ -94,7 +94,7 @@ public class FilterAdapter extends BaseAdapter {
public void setData(List<FilterListItem> items, @Nullable Filter selected, int defaultIndex) {
assertMainThread();
this.items = items;
this.selected = defaultIndex >= 0 ? getItem(indexOf(selected, defaultIndex)) : selected;
this.selected = defaultIndex >= 0 ? getFilter(indexOf(selected, defaultIndex)) : selected;
notifyDataSetChanged();
}
@ -116,6 +116,11 @@ public class FilterAdapter extends BaseAdapter {
return items.get(position);
}
private Filter getFilter(int position) {
FilterListItem item = getItem(position);
return item instanceof Filter ? (Filter) item : null;
}
@Override
public long getItemId(int position) {
return position;
@ -170,11 +175,12 @@ public class FilterAdapter extends BaseAdapter {
}
public Filter getSelected() {
return selected instanceof Filter ? (Filter) selected : null;
return selected;
}
public void setSelected(Filter selected) {
this.selected = selected;
notifyDataSetChanged();
}
public ArrayList<FilterListItem> getItems() {

@ -168,7 +168,6 @@ public class NavigationDrawerFragment extends InjectingFragment {
FilterListItem item = adapter.getItem(position);
if (item instanceof Filter) {
if (!item.equals(adapter.getSelected())) {
adapter.setSelected((Filter) item);
if (mCallbacks != null) {
mCallbacks.onFilterItemClicked(item);
}

Loading…
Cancel
Save