package com.mozu.mozuandroidinstoreassistant.app.product.adapter;
import android.app.Fragment;
import android.app.FragmentManager;
import android.support.v13.app.FragmentStatePagerAdapter;
import com.mozu.api.contracts.productruntime.Product;
import com.mozu.mozuandroidinstoreassistant.app.product.ProductDetailInventoryFragment;
import com.mozu.mozuandroidinstoreassistant.app.product.ProductDetailOverviewFragment;
import com.mozu.mozuandroidinstoreassistant.app.product.ProductDetailPropertiesFragment;
import com.mozu.mozuandroidinstoreassistant.app.product.ProductDetailShippingFragment;
import java.util.List;
public class ProductDetailSectionPagerAdapter extends FragmentStatePagerAdapter {
public static final int NUM_OF_PRODUCT_DETAIL_TABS = 4;
public static final int OVERVIEW_TAB_POSITION = 0;
public static final int PROPERTIES_TAB_POSITION = 1;
public static final int SHIPPING_TABS_POSITION =2;
public static final int INVENTORY_TAB_POSITION = 3;
private Product mProduct;
private List<String> mPageTitles;
private int mTenantId;
private int mSiteId;
public ProductDetailSectionPagerAdapter(FragmentManager manager, Product product, List<String> pageTitles, int tenantId, int siteId) {
super(manager);
mProduct = product;
mPageTitles = pageTitles;
mTenantId = tenantId;
mSiteId = siteId;
}
public void setData(Product product){
mProduct = product;
}
@Override
public int getCount() {
return NUM_OF_PRODUCT_DETAIL_TABS;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public CharSequence getPageTitle(int position) {
if (mPageTitles.size() - 1 < position) {
return "";
}
return mPageTitles.get(position);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case OVERVIEW_TAB_POSITION:
ProductDetailOverviewFragment overviewFragment = new ProductDetailOverviewFragment();
overviewFragment.setProduct(mProduct);
return overviewFragment;
case PROPERTIES_TAB_POSITION:
ProductDetailPropertiesFragment propertiesFragment = new ProductDetailPropertiesFragment();
propertiesFragment.setProduct(mProduct);
return propertiesFragment;
case SHIPPING_TABS_POSITION:
ProductDetailShippingFragment shippingFragment = new ProductDetailShippingFragment();
shippingFragment.setProduct(mProduct);
return shippingFragment;
case INVENTORY_TAB_POSITION:
ProductDetailInventoryFragment inventoryFragment = new ProductDetailInventoryFragment();
inventoryFragment.setProduct(mProduct);
inventoryFragment.setTenantId(mTenantId);
inventoryFragment.setSiteId(mSiteId);
return inventoryFragment;
}
return null;
}
}