Don't reload when current filter is selected

pull/645/head
Alex Baker 8 years ago
parent 308ccfc592
commit d20b8b4fdf

@ -208,6 +208,8 @@ public class TaskListActivity extends InjectingAppCompatActivity implements
applyTheme(taskListFragment);
navigationDrawer.setSelected(filter);
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.master, taskListFragment, FRAG_TAG_TASK_LIST)

@ -183,11 +183,6 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
public View getDropDownView(int position, View convertView, @NonNull ViewGroup parent) {
return getView(position, convertView, parent);
}
/* ======================================================================
* ============================================================ selection
* ====================================================================== */
private final FilterListItem selection = null;
/* ======================================================================
* ============================================================= receiver
@ -297,10 +292,6 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
viewHolder.size.setText(locale.formatNumber(countInt));
}
viewHolder.size.setVisibility(countInt > 0 ? View.VISIBLE : View.INVISIBLE);
if (selection == viewHolder.item) {
viewHolder.view.setBackgroundColor(getColor(activity, R.color.drawer_color_selected));
}
}
private void populateHeader(ViewHolder viewHolder) {

@ -59,7 +59,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
private ListView mDrawerListView;
private View mFragmentContainerView;
private int mCurrentSelectedPosition = 0;
private Filter selected = null;
@Inject FilterCounter filterCounter;
@Inject FilterProvider filterProvider;
@ -73,7 +73,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
mCurrentSelectedPosition = savedInstanceState.getInt(TOKEN_LAST_SELECTED);
selected = savedInstanceState.getParcelable(TOKEN_LAST_SELECTED);
}
}
@ -124,7 +124,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
});
close();
});
mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
return layout;
}
@ -152,6 +152,10 @@ public class NavigationDrawerFragment extends InjectingFragment {
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
}
public void setSelected(Filter selected) {
this.selected = selected;
}
@Override
public void onPause() {
super.onPause();
@ -169,13 +173,12 @@ public class NavigationDrawerFragment extends InjectingFragment {
private void selectItem(int position) {
FilterListItem item = adapter.getItem(position);
if (item instanceof Filter) {
mCurrentSelectedPosition = position;
if (mDrawerListView != null) {
mDrawerListView.setItemChecked(position, true);
}
if (!item.equals(selected)) {
selected = (Filter) item;
if (mCallbacks != null) {
mCallbacks.onFilterItemClicked(item);
}
}
} else if (item instanceof NavigationDrawerAction) {
NavigationDrawerAction action = (NavigationDrawerAction) item;
if (action.requestCode > 0) {
@ -206,7 +209,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(TOKEN_LAST_SELECTED, mCurrentSelectedPosition);
outState.putParcelable(TOKEN_LAST_SELECTED, selected);
}
public void closeDrawer() {

Loading…
Cancel
Save