package com.nilhcem.bblfr.ui.navigationdrawer;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import com.nilhcem.bblfr.core.utils.AppUtils;
import com.nilhcem.bblfr.ui.BaseHeaderAdapter;
import java.util.ArrayList;
import java.util.List;
public class NavigationDrawerAdapter extends BaseHeaderAdapter<Void, NavigationDrawerEntry, NavigationDrawerHeaderView, NavigationDrawerEntryView> {
private NavigationDrawerEntry mSelectedItem;
private final boolean mHrModeEnabled;
private final View.OnClickListener mListener;
public NavigationDrawerAdapter(Context context, boolean hrModeEnabled, View.OnClickListener listener) {
mListener = listener;
mHrModeEnabled = hrModeEnabled;
boolean addHosts = AppUtils.hasGooglePlayServices(context) && AppUtils.isGeolocAllowed(context);
List<NavigationDrawerEntry> entries = new ArrayList<>();
for (NavigationDrawerEntry value : NavigationDrawerEntry.values()) {
if (!addHosts && value.equals(NavigationDrawerEntry.HOSTS)) {
continue;
}
entries.add(value);
}
updateItems(entries, null, true);
}
@Override
protected NavigationDrawerEntryView onCreateItemView(ViewGroup parent) {
return new NavigationDrawerEntryView(parent);
}
@Override
protected NavigationDrawerHeaderView onCreateHeaderView(ViewGroup parent) {
return new NavigationDrawerHeaderView(parent);
}
@Override
protected void onBindItemView(NavigationDrawerEntryView view, NavigationDrawerEntry item) {
super.onBindItemView(view, item);
view.setOnClickListener(mListener);
view.setActivated(item.equals(mSelectedItem));
}
@Override
protected void onBindHeaderView(NavigationDrawerHeaderView view, Void header) {
super.onBindHeaderView(view, header);
view.setHrMode(mHrModeEnabled);
}
public void setSelectedItem(NavigationDrawerEntry selectedItem) {
mSelectedItem = selectedItem;
}
}