package com.fancl.iloyalty.activity.beauty; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; import com.fancl.iloyalty.Constants; import com.fancl.iloyalty.R; import com.fancl.iloyalty.R.color; import com.fancl.iloyalty.activity.MainTabActivity; import com.fancl.iloyalty.activity.favourite.FavouriteActivity; import com.fancl.iloyalty.activity.product.ProductDetailActivity; import com.fancl.iloyalty.activity.product.ProductHomeActivity; import com.fancl.iloyalty.activity.promotion.PromotionHomeActivity; import com.fancl.iloyalty.adapter.RelatedListAdapter; import com.fancl.iloyalty.asynctask.SubmitPromotionVisitAsyncTask; import com.fancl.iloyalty.exception.FanclException; import com.fancl.iloyalty.factory.CustomServiceFactory; import com.fancl.iloyalty.pojo.Product; import com.fancl.iloyalty.pojo.Promotion; import com.fancl.iloyalty.pojo.Shop; import com.fancl.iloyalty.util.LogController; public class BeautyRelatedArticlesActivity extends MainTabActivity{ private LinearLayout ichannelRelatedLayout; private List<Promotion> relatedPromotionList; private List<Product> relatedProductList; private List<Map<String, String>> ichannelRelatedTypeList = new ArrayList<Map<String, String>>(); private List<Map<String, String>> ichannelRelatedList = new ArrayList<Map<String, String>>(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); navigationBarLeftBtn.setVisibility(View.VISIBLE); headerTitleTextView.setText(this.getResources().getString(R.string.related)); this.setupSpaceLayout(); this.setupMenuButtonListener(3, true); } private void setupSpaceLayout() { // TODO Auto-generated method stub ichannelRelatedLayout = new LinearLayout(this); spaceLayout.addView(ichannelRelatedLayout, new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); ListView ichannelRelatedlList = new ListView(this); ichannelRelatedlList.setCacheColorHint(color.transparent); ichannelRelatedlList.setDividerHeight(0); ichannelRelatedlList.setScrollingCacheEnabled(false); ichannelRelatedLayout.addView(ichannelRelatedlList, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); try { relatedPromotionList = CustomServiceFactory.getPromotionService().getIchannelRelatedPromotionWithIchannelId(this.getIntent().getExtras().getString(Constants.ICHANNEL_ID_RELATED_KEY)); } catch (FanclException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { relatedProductList = CustomServiceFactory.getPromotionService().getIchannelRelatedProductWithIchannelId(this.getIntent().getExtras().getString(Constants.ICHANNEL_ID_RELATED_KEY)); } catch (FanclException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } setData(); RelatedListAdapter adapter = new RelatedListAdapter(this, ichannelRelatedList, ichannelRelatedTypeList); ichannelRelatedlList.setAdapter(adapter); ichannelRelatedlList.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub if (relatedProductList.size()>0) { if(arg2>relatedProductList.size()){ Promotion promotion = relatedPromotionList.get(arg2-relatedProductList.size()-2); startActivity(CustomServiceFactory.getDetailContentService().getPromotionDetailAction(BeautyRelatedArticlesActivity.this, promotion, false, null, 1, 1)); SubmitPromotionVisitAsyncTask submitPromotionAsyncTask = new SubmitPromotionVisitAsyncTask(); submitPromotionAsyncTask.execute(promotion.getCode()); try { CustomServiceFactory.getSettingService().addUserLogWithSection("iBeauty Channel", "Promotion Detail", "", promotion.getObjectId(), promotion.getTitleEn(), "View", ""); } catch (FanclException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else{ Product product = relatedProductList.get(arg2-1); Intent intent = new Intent(BeautyRelatedArticlesActivity.this, ProductDetailActivity.class); intent.putExtra(Constants.PRODUCT_ITEM_KEY, product); startActivity(intent); try { CustomServiceFactory.getSettingService().addUserLogWithSection("iBeauty Channel", "Product Detail", "", product.getObjectId(), product.getTitleEn(), "View", ""); } catch (FanclException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }else{ Promotion promotion = relatedPromotionList.get(arg2-1); startActivity(CustomServiceFactory.getDetailContentService().getPromotionDetailAction(BeautyRelatedArticlesActivity.this, promotion, false, null, 1, 1)); SubmitPromotionVisitAsyncTask submitPromotionAsyncTask = new SubmitPromotionVisitAsyncTask(); submitPromotionAsyncTask.execute(promotion.getObjectId()); try { CustomServiceFactory.getSettingService().addUserLogWithSection("iBeauty Channel", "Promotion Detail", "", promotion.getObjectId(), promotion.getTitleEn(), "View", ""); } catch (FanclException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }); } private void setData() { // TODO Auto-generated method stub Map<String, String> mp = new HashMap<String, String>(); if (relatedProductList.size() != 0) { mp.put("itemTitle", getString(R.string.related_product)); ichannelRelatedList.add(mp); ichannelRelatedTypeList.add(mp); for (int i = 0; i < relatedProductList.size(); i++) { Product product = relatedProductList.get(i); Map<String, String> map = new HashMap<String, String>(); if(product != null){ map.put("itemTitle", product.getTitleEn()); map.put("itemTitleTc", product.getTitleZh()); map.put("itemImage", product.getThumbnail()); map.put("itemType","product"); } ichannelRelatedList.add(map); } } if (relatedPromotionList.size() != 0) { mp = new HashMap<String, String>(); mp.put("itemTitle", getString(R.string.related_information)); ichannelRelatedList.add(mp); ichannelRelatedTypeList.add(mp); for (int i = 0; i < relatedPromotionList.size(); i++) { Promotion promotion = relatedPromotionList.get(i); Map<String, String> map = new HashMap<String, String>(); if(promotion != null){ map.put("itemTitle", promotion.getTitleEn()); map.put("itemDes", promotion.getDescriptionEn()); map.put("itemImage", promotion.getThumbnail()); map.put("itemDate", promotion.getPromotionEndDatetime()); map.put("itemType","promotion"); } ichannelRelatedList.add(map); } } } }