Navigation drawer update

* Close drawer after selecting navigation action
* Remove unused methods
* Fix pre-21 crash
pull/848/head
Alex Baker 7 years ago
parent cd5cd6fe66
commit 97d17d23c0

@ -17,7 +17,6 @@ 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;
@ -74,22 +73,8 @@ public class NavigationDrawerAdapter extends ListAdapter<FilterListItem, FilterV
}
public void setData(List<FilterListItem> items) {
setData(items, selected);
}
public void setData(List<FilterListItem> items, @Nullable Filter selected) {
setData(items, selected, -1);
}
public void setData(List<FilterListItem> items, @Nullable Filter selected, int defaultIndex) {
this.items = items;
submitList(items);
if (selected != null) {
this.selected = selected;
} else if (defaultIndex >= 0) {
this.selected = getFilter(defaultIndex);
}
}
public void setCounts(Map<Filter, Integer> counts) {
@ -98,11 +83,6 @@ public class NavigationDrawerAdapter extends ListAdapter<FilterListItem, FilterV
notifyDataSetChanged();
}
private Filter getFilter(int position) {
FilterListItem item = getItem(position);
return item instanceof Filter ? (Filter) item : null;
}
@Override
public long getItemId(int position) {
return position;

@ -16,6 +16,7 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.drawerlayout.widget.DrawerLayout.SimpleDrawerListener;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@ -132,16 +133,13 @@ public class NavigationDrawerFragment extends InjectingFragment {
}
private void onFilterItemSelected(FilterListItem item) {
if (item instanceof Filter) {
mDrawerLayout.addDrawerListener(
new DrawerLayout.SimpleDrawerListener() {
new SimpleDrawerListener() {
@Override
public void onDrawerClosed(View drawerView) {
mDrawerLayout.removeDrawerListener(this);
if (item instanceof Filter) {
openFilter((Filter) item);
}
});
close();
} else if (item instanceof NavigationDrawerAction) {
NavigationDrawerAction action = (NavigationDrawerAction) item;
if (action.requestCode > 0) {
@ -151,6 +149,9 @@ public class NavigationDrawerFragment extends InjectingFragment {
}
}
}
});
close();
}
public boolean isDrawerOpen() {
return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView);

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/drawer_background_selected" android:state_selected="true"/>
<item android:drawable="@drawable/drawer_background"/>
</selector>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/drawer_background_selected" android:state_selected="true"/>
<item android:drawable="@drawable/drawer_background"/>
<item android:drawable="@color/drawer_color_selected" android:state_selected="true"/>
<item android:drawable="@color/drawer_color"/>
</selector>
Loading…
Cancel
Save