Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package com.saholic.profittill.navigationdrawer;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.saholic.profittill.R;

import java.util.HashMap;
import java.util.List;

public class ExpandableNavigationAdapter extends BaseExpandableListAdapter {
    private List<ExpandableNavigationItem> parentRecord;
    private HashMap<String, List<String>> childRecord;
    private LayoutInflater inflater = null;
    private Activity mContext;

    public ExpandableNavigationAdapter(Activity context, List<ExpandableNavigationItem> parentList, HashMap<String, List<String>> childList) {
        this.parentRecord = parentList;
        this.childRecord = childList;
        mContext = context;
        inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public String getChild(int groupPosition, int childPosition) {
        return this.childRecord.get(getGroup(groupPosition).getTitle()).get(childPosition);
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

    @Override
    public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {

        String childConfig = getChild(groupPosition, childPosition);

        ViewHolder holder;
        try {
            if (convertView == null) {
                holder = new ViewHolder();

                convertView = inflater.inflate(R.layout.custom_list_view_child, null);
                holder.childTitle = (TextView) convertView.findViewById(R.id.childTitle);
                holder.childIcon= (ImageView) convertView.findViewById(R.id.childIcon);
                convertView.setTag(holder);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }

            holder.childTitle.setText(childConfig);
           /* if(childConfig.equalsIgnoreCase("Amazon")){
                holder.childIcon.setBackgroundResource(R.drawable.amazon_store);
            }
            if(childConfig.equalsIgnoreCase("Flipkart")){
                holder.childIcon.setBackgroundResource(R.drawable.flipkart_store);
            }
            if(childConfig.equalsIgnoreCase("Paytm")){
                holder.childIcon.setBackgroundResource(R.drawable.paytm);
            }
            if(childConfig.equalsIgnoreCase("Saholic")){
                holder.childIcon.setBackgroundResource(R.drawable.saholic_store);
            }
            if(childConfig.equalsIgnoreCase("Snapdeal")){
                holder.childIcon.setBackgroundResource(R.drawable.snapdeal_store);
            }
            if(childConfig.equalsIgnoreCase("Shopclues")){
                holder.childIcon.setBackgroundResource(R.drawable.shopclues_store);
            }
*/
            if(childConfig.equalsIgnoreCase("Amazon")){
                holder.childIcon.setBackgroundResource(R.drawable.amazon_store);
            }
            else if(childConfig.equalsIgnoreCase("Flipkart")){
                holder.childIcon.setBackgroundResource(R.drawable.flipkart_store);
            }
            else if(childConfig.equalsIgnoreCase("HomeShop18")){
                holder.childIcon.setBackgroundResource(R.drawable.homeshop18);
            }
            else if(childConfig.equalsIgnoreCase("Paytm")){
                holder.childIcon.setBackgroundResource(R.drawable.paytm);
            }
            else if(childConfig.equalsIgnoreCase("Saholic")){
                holder.childIcon.setBackgroundResource(R.drawable.saholic_store);
            }
            else if(childConfig.equalsIgnoreCase("Snapdeal")){
                holder.childIcon.setBackgroundResource(R.drawable.snapdeal_store);
            }
            else if(childConfig.equalsIgnoreCase("Shopclues")){
                holder.childIcon.setBackgroundResource(R.drawable.shopclues_store);
            }
            else if(childConfig.equalsIgnoreCase("Contact Us")){
                holder.childIcon.setBackgroundResource(R.drawable.conatct_us);
            }
            else if(childConfig.equalsIgnoreCase("How It Works")){
                holder.childIcon.setBackgroundResource(R.drawable.how_it_works);
            }
            else if(childConfig.equalsIgnoreCase("Questions?")){
                holder.childIcon.setBackgroundResource(R.drawable.about_us);
            }
        } catch (Exception e) {
        }
        return convertView;
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {

        ExpandableNavigationItem parentSampleTo = parentRecord.get(groupPosition);

        ViewHolder holder;
        try {
            if (convertView == null) {
                convertView = inflater.inflate(R.layout.custom_list_view, null);
                holder = new ViewHolder();

                holder.parentTitle = (TextView) convertView.findViewById(R.id.parentTitle);
                //holder.parentIcon = (ImageView) convertView.findViewById(R.id.parentIcon);
                convertView.setTag(holder);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }

            holder.parentTitle.setText(parentSampleTo.getTitle());
            //holder.parentIcon.setBackgroundResource(parentSampleTo.getIcon());
            ImageView iconExpand = (ImageView) convertView.findViewById(R.id.icon_expand);
            ImageView iconCollapse = (ImageView) convertView.findViewById(R.id.icon_collapse);

            if (isExpanded) {
                iconExpand.setVisibility(View.GONE);
                iconCollapse.setVisibility(View.VISIBLE);
            } else {
                iconExpand.setVisibility(View.VISIBLE);
                iconCollapse.setVisibility(View.GONE);
            }

            if (getChildrenCount(groupPosition) == 0) {
                iconExpand.setVisibility(View.GONE);
                iconCollapse.setVisibility(View.GONE);
            }
        } catch (Exception e) {
        }
        return convertView;
    }

    public static class ViewHolder {

        private TextView childTitle;
        private TextView parentTitle;
        //private ImageView parentIcon;
        private ImageView childIcon;

    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return this.childRecord.get(getGroup(groupPosition).getTitle()).size();
    }

    @Override
    public ExpandableNavigationItem getGroup(int groupPosition) {
        return this.parentRecord.get(groupPosition);
    }

    @Override
    public int getGroupCount() {
        return this.parentRecord.size();
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }
}