package com.biznow.ordernow.adapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.util.Log;
import android.widget.Toast;
import com.biznow.ordernow.filter.MenuFilter;
import com.biznow.ordernow.fragments.IndividualMenuTabFragment;
import com.biznow.ordernow.model.FoodMenuItem;
import com.data.menu.Category;
import com.data.menu.Dish;
import com.data.menu.MenuPropertyKey;
import com.data.menu.MenuPropertyValue;
import com.google.gson.Gson;
import com.util.OrderNowUtilities;
public class TabsPagerAdapter extends FragmentStatePagerAdapter {
private Category category;
public TabsPagerAdapter(FragmentManager fm, Category category) {
super(fm);
this.category = category;
}
private List<MenuPropertyValue> getTitles() {
if(category==null || category.getCategoryLevelFilter() == null){
return new ArrayList<MenuPropertyValue>();
}
return category.getCategoryLevelFilter().getFilterValue();
}
@Override
public Fragment getItem(int index) {
Log.i("TabsPagerAdapter", "slide event " + index);
List<MenuPropertyValue> value = new ArrayList<MenuPropertyValue>();
MenuPropertyValue tabType = null;
tabType = category.getCategoryLevelFilter().getFilterValue().get(index);
value.add(tabType);
HashMap<MenuPropertyKey, List<MenuPropertyValue>> selectedFilters = new HashMap<MenuPropertyKey, List<MenuPropertyValue>>();
selectedFilters.put(getFilterType(), value);
MenuFilter menuFilter = new MenuFilter();
menuFilter.addFilter(selectedFilters);
return IndividualMenuTabFragment.newInstance(category.getName(), OrderNowUtilities.getFoodMenuItems(category.getDishes()), menuFilter);
}
private MenuPropertyKey getFilterType() {
return category.getCategoryLevelFilter().getFilterName();
}
@Override
public int getCount() {
if (getTitles() != null) {
return getTitles().size();
}
return 0;
}
@Override
public CharSequence getPageTitle(int position) {
return getTitles().get(position).toString();
}
}