package com.fancl.iloyalty.activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.RelativeLayout; import android.widget.TextView; import com.fancl.iloyalty.AndroidProjectApplication; import com.fancl.iloyalty.R; import com.fancl.iloyalty.activity.beauty.BeautyHomeActivity; import com.fancl.iloyalty.activity.menu.MenuActivity; import com.fancl.iloyalty.activity.promotion.PromotionHomeActivity; import com.fancl.iloyalty.activity.purchase.PurchaseQRCodeScanActivity; import com.fancl.iloyalty.activity.whatshot.WhatsHotHomeActivity; import com.fancl.iloyalty.asynctask.PromotionCountAsyncTask; import com.fancl.iloyalty.asynctask.callback.PromotionCountAsyncTaskCallback; import com.fancl.iloyalty.exception.FanclException; import com.fancl.iloyalty.factory.CustomServiceFactory; import com.fancl.iloyalty.factory.GeneralServiceFactory; import com.fancl.iloyalty.service.LocaleService; import com.fancl.iloyalty.service.impl.LocaleServiceImpl.LANGUAGE_TYPE; public class MainTabFragmentActivity extends AndroidProjectFrameworkFragmentActivity implements PromotionCountAsyncTaskCallback { private int currentTabIndex = -1; private boolean isNeedFinish = false; private View whatsHotBtn = null; private View promotionBtn = null; private View purchaseBtn = null; private View beautyiChannelBtn = null; private View moreBtn = null; private TextView whatsHotBadge; private TextView promotionBadge; private TextView ichannelBadge; public View navigationBarLeftBtn = null; public View navigationBarRightBtn = null; public View navigationBarSearchBtn = null; public View navigationBarListBtn = null; public View navigationBarFullPageBtn = null; public View navigationBarDoneBtn = null; public View navigationBarShareBtn = null; public View navigationBarEditBtn = null; public View navigationBarCancelBtn = null; public TextView headerTitleTextView = null; public TextView navigationBarRightTextView = null; public TextView navigationBarDoneTextView = null; protected RelativeLayout spaceLayout; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_tab); spaceLayout = (RelativeLayout) this.findViewById(R.id.space_layout); navigationBarLeftBtn = (RelativeLayout) this.findViewById(R.id.header_bar_left_btn_title); navigationBarRightBtn = (RelativeLayout) this.findViewById(R.id.header_bar_right_btn_title); navigationBarSearchBtn = (RelativeLayout) this.findViewById(R.id.header_bar_search_btn_title); navigationBarListBtn = (RelativeLayout) this.findViewById(R.id.header_bar_list_btn_title); navigationBarFullPageBtn = (RelativeLayout) this.findViewById(R.id.header_bar_fullpage_btn_title); navigationBarDoneBtn = (RelativeLayout) this.findViewById(R.id.header_bar_done_btn_title); navigationBarShareBtn = (RelativeLayout) this.findViewById(R.id.header_bar_share_btn_title); navigationBarEditBtn = (RelativeLayout) this.findViewById(R.id.header_bar_edit_btn_title); navigationBarCancelBtn = (RelativeLayout) this.findViewById(R.id.header_bar_cancel_btn_title); headerTitleTextView = (TextView) this.findViewById(R.id.header_navigation_title); navigationBarRightTextView = (TextView) this.findViewById(R.id.header_bar_right_btn_text); navigationBarDoneTextView = (TextView) this.findViewById(R.id.header_bar_done_btn_text); navigationBarLeftBtn.setVisibility(View.GONE); navigationBarRightBtn.setVisibility(View.GONE); navigationBarSearchBtn.setVisibility(View.GONE); navigationBarListBtn.setVisibility(View.GONE); navigationBarFullPageBtn.setVisibility(View.GONE); navigationBarDoneBtn.setVisibility(View.GONE); navigationBarShareBtn.setVisibility(View.GONE); navigationBarEditBtn.setVisibility(View.GONE); navigationBarCancelBtn.setVisibility(View.GONE); navigationBarLeftBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub onBackPressed(); } }); } protected void setupMenuButtonListener(int currentTabIndex, boolean isNeedFinish) { this.currentTabIndex = currentTabIndex; this.isNeedFinish = isNeedFinish; whatsHotBtn = this.findViewById(R.id.whats_hot_btn); promotionBtn = this.findViewById(R.id.promotion_btn); purchaseBtn = this.findViewById(R.id.purchase_btn); LocaleService localeService = GeneralServiceFactory.getLocaleService(); if (localeService.getCurrentLanguageType() == LANGUAGE_TYPE.EN) { purchaseBtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.btn_purchase_off)); } else { purchaseBtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.btn_purchase_tc_off)); } beautyiChannelBtn = this.findViewById(R.id.beauty_ichannel_btn); moreBtn = this.findViewById(R.id.more_btn); whatsHotBadge = (TextView) this.findViewById(R.id.whats_hot_badge); promotionBadge = (TextView) this.findViewById(R.id.promotion_badge); ichannelBadge = (TextView) this.findViewById(R.id.ichannel_badge); if(whatsHotBtn != null) { // go to What's Hot whatsHotBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // if(MainTabFragmentActivity.this.currentTabIndex != 0) // { clearExisitingActivity(); Intent intent = new Intent(MainTabFragmentActivity.this, WhatsHotHomeActivity.class); startActivity(intent); checkFinishAfterOpenNextActivity(); // } } }); } if(promotionBtn != null) { // go to Promotion promotionBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // if(MainTabFragmentActivity.this.currentTabIndex != 1) // { clearExisitingActivity(); Intent intent = new Intent(MainTabFragmentActivity.this, PromotionHomeActivity.class); startActivity(intent); checkFinishAfterOpenNextActivity(); // } } }); } if(purchaseBtn != null) { // go to Purchase purchaseBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // if(MainTabFragmentActivity.this.currentTabIndex != 2) // { Intent intent = new Intent(MainTabFragmentActivity.this, PurchaseQRCodeScanActivity.class); startActivity(intent); // } } }); } if(beautyiChannelBtn != null) { // go to Beauty iChannel beautyiChannelBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // if(MainTabFragmentActivity.this.currentTabIndex != 3) // { clearExisitingActivity(); Intent intent = new Intent(MainTabFragmentActivity.this, BeautyHomeActivity.class); startActivity(intent); checkFinishAfterOpenNextActivity(); // } } }); } if(moreBtn != null) { // go to Purchase moreBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // if(MainTabFragmentActivity.this.currentTabIndex != 4) // { clearExisitingActivity(); Intent intent = new Intent(MainTabFragmentActivity.this, MenuActivity.class); startActivity(intent); checkFinishAfterOpenNextActivity(); // } } }); } setSessionButtonOn(); if (application.promotionUnread == 0) { setBadgesNumber(); } else { if (application.whatsHotUnread > 0) { whatsHotBadge.setText(String.valueOf(application.whatsHotUnread)); whatsHotBadge.setVisibility(View.VISIBLE); } else { whatsHotBadge.setVisibility(View.GONE); } if (application.promotionUnread > 0) { promotionBadge.setText(String.valueOf(application.promotionUnread)); promotionBadge.setVisibility(View.VISIBLE); } else { promotionBadge.setVisibility(View.GONE); } if (application.ichannelUnread > 0) { ichannelBadge.setText(String.valueOf(application.ichannelUnread)); ichannelBadge.setVisibility(View.VISIBLE); } else { ichannelBadge.setVisibility(View.GONE); } } } private void setSessionButtonOn() { try { switch (currentTabIndex) { case 0: whatsHotBtn.setBackgroundResource(R.drawable.btn_news_on); break; case 1: promotionBtn.setBackgroundResource(R.drawable.btn_promotion_on); break; case 3: beautyiChannelBtn.setBackgroundResource(R.drawable.btn_channel_on); break; case 4: moreBtn.setBackgroundResource(R.drawable.btn_menu_on); break; } } catch (Exception e) { // TODO: handle exception } } private void checkFinishAfterOpenNextActivity() { if(isNeedFinish) { finish(); } } private void clearExisitingActivity() { ((AndroidProjectApplication) application).removeExistingActivity(); } public void setBadgesNumber() { try { String unread = CustomServiceFactory.getAboutFanclService().getUnreadNumberWithType(); application.whatsHotUnread = Integer.valueOf(unread); if (unread.length() > 0 && !unread.equals("0")) { whatsHotBadge.setVisibility(View.VISIBLE); whatsHotBadge.setText(unread); } else { whatsHotBadge.setVisibility(View.GONE); whatsHotBadge.setText(null); } } catch (FanclException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { String unread = CustomServiceFactory.getAboutFanclService().getUnreadChannel(); application.ichannelUnread = Integer.valueOf(unread); if (unread.length() > 0 && !unread.equals("0")) { ichannelBadge.setVisibility(View.VISIBLE); ichannelBadge.setText(unread); } else { ichannelBadge.setVisibility(View.GONE); ichannelBadge.setText(null); } } catch (FanclException e) { // TODO Auto-generated catch block e.printStackTrace(); } PromotionCountAsyncTask promotionCountAsyncTask = new PromotionCountAsyncTask(this); promotionCountAsyncTask.execute(); } @Override public void onPostExecuteCallback(String results) { int totalUnread = Integer.valueOf(results); try { String unread = CustomServiceFactory.getAboutFanclService().getUnreadPromotion(); totalUnread = totalUnread + Integer.valueOf(unread); } catch (FanclException e) { e.printStackTrace(); } application.promotionUnread = Integer.valueOf(totalUnread); if (totalUnread > 0) { promotionBadge.setVisibility(View.VISIBLE); promotionBadge.setText(String.valueOf(totalUnread)); } else { promotionBadge.setVisibility(View.GONE); promotionBadge.setText(null); } } }