package com.ijoomer.src;
import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
import com.ijoomer.common.classes.IjoomerHomeMaster;
import com.ijoomer.common.configuration.IjoomerGlobalConfiguration;
import com.ijoomer.customviews.IjoomerTextView;
import com.ijoomer.page.indicator.CirclePageIndicator;
import org.json.JSONArray;
import java.util.ArrayList;
import java.util.HashMap;
/**
* This Class Contains All Method Related To IjoomerHomeActivity.
*
* @author tasol
*
*/
public class IjoomerHomeActivity extends IjoomerHomeMaster {
private ViewPager viewPager;
private CirclePageIndicator indicator;
private ArrayList<HashMap<String, String>> menuData;
private HomePageAdapter adapter;
private JSONArray menuItems;
private int itemsPerPage = 9;
private int normalScreen = 400;
/**
* Overrides methods
*/
@Override
public int setLayoutId() {
return R.layout.ijoomer_home_menu;
}
@Override
public void initComponents() {
viewPager = (ViewPager) findViewById(R.id.viewpager);
indicator = (CirclePageIndicator) findViewById(R.id.indicator);
adapter = new HomePageAdapter(getSupportFragmentManager());
menuData = IjoomerGlobalConfiguration.getHomeMenu(this);
int height = getDeviceHeight();
if (height > normalScreen)
itemsPerPage = 12;
else
itemsPerPage = 9;
try {
menuItems = new JSONArray(menuData.get(0).get("menuitem"));
if (menuItems.length() < itemsPerPage)
itemsPerPage = menuItems.length();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void prepareViews() {
((IjoomerTextView) getHeaderView().findViewById(R.id.txtHeader)).setVisibility(View.GONE);
((ImageView) getHeaderView().findViewById(R.id.imgHeader)).setVisibility(View.VISIBLE);
if (menuItems != null && menuItems.length() > 0) {
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
indicator.setPageColor(Color.TRANSPARENT);
indicator.setStrokeColor(Color.parseColor(getString(R.color.blue)));
indicator.setStrokeWidth(convertSizeToDeviceDependent(1));
indicator.setRadius(convertSizeToDeviceDependent(5));
indicator.setFillColor(Color.parseColor(getString(R.color.blue)));
indicator.setViewPager(viewPager, 0);
indicator.setSnap(true);
if (((menuItems.length() % itemsPerPage) == 0 ? menuItems.length() / itemsPerPage : (menuItems.length() / itemsPerPage + 1)) <= 1) {
indicator.setVisibility(View.GONE);
}
}
}
@Override
public void setActionListeners() {
}
/**
* Inner class
*/
private class HomePageAdapter extends FragmentPagerAdapter {
public HomePageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int pos) {
return new IjoomerHomeFragment(pos * itemsPerPage, ((pos * itemsPerPage) + itemsPerPage) >= menuItems.length() ? menuItems.length()
: ((pos * itemsPerPage) + itemsPerPage), menuItems);
}
@Override
public int getCount() {
return (menuItems.length() % itemsPerPage) == 0 ? menuItems.length() / itemsPerPage : (menuItems.length() / itemsPerPage + 1);
}
}
}