// // _/_/_/ _/ _/_/_/_/_/ // _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/ // _/ _/_/ _/_/_/_/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/ // _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ // _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/_/ _/_/ _/_/ // // // Copyright (c) 2015-2016, Geek Zoo Studio // http://www.geek-zoo.com // // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE. // package com.insthub.O2OMobile.Fragment; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Color; import android.os.Bundle; import android.os.Message; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import com.BeeFramework.Utils.Utils; import com.BeeFramework.model.BusinessResponse; import com.BeeFramework.view.RoundedWebImageView; import com.external.androidquery.callback.AjaxStatus; import com.external.eventbus.EventBus; import com.insthub.O2OMobile.Activity.F0_ProfileActivity; import com.insthub.O2OMobile.Activity.SlidingActivity; import com.insthub.O2OMobile.O2OMobile; import com.insthub.O2OMobile.O2OMobileAppConst; import com.insthub.O2OMobile.MessageConstant; import com.insthub.O2OMobile.Model.MessageUnreadCountModel; import com.insthub.O2OMobile.Model.UserBalanceModel; import com.insthub.O2OMobile.Protocol.ApiInterface; import com.insthub.O2OMobile.Protocol.USER; import com.insthub.O2OMobile.R; import com.nostra13.universalimageloader.core.ImageLoader; import org.json.JSONException; import org.json.JSONObject; public class A2_MenuFragment extends Fragment implements OnClickListener, BusinessResponse { private A0_HomeFragment mA0HomeFragment; private E0_PublishedOrdersFragment mMyOrderListFragment; private H0_MessageFragment mH0MessageFragment; private F4_RefferalFragment mG2RefferalShareFragment; private E2_ReceivedOrdersFragment mReceivedOrderListFragment; private View mHeaderView; private ListView mListView; private RoundedWebImageView mAvatar; private TextView mUserName; private TextView mIncome; private LinearLayout mHome; private TextView mHomeText; private ImageView mHomeArrow; private LinearLayout mIssuance; private TextView mIssuanceText; private ImageView mIssuanceArrow; private LinearLayout mOrderReceiving; private TextView mOrderReceivingText; private ImageView mOrderReceivingArrow; private LinearLayout mMessage; private TextView mMessageText; private TextView mMessageNum; private ImageView mMessageArrow; private LinearLayout mInvite; private TextView mInviteText; private ImageView mInviteArrow; private SharedPreferences mShared; private UserBalanceModel mUserBalance; private MessageUnreadCountModel mMessageUnreadCountModel; private UserBalanceModel mUserBalanceModel; private USER mUser; protected ImageLoader publicImageLoader = ImageLoader.getInstance(); public int publucLastSelectedMenu = -1; public static int publicMessageUnreadCount = 0; private ImageView mHomeIco; private ImageView mIssureIcon; private ImageView mReceiveIcon; private ImageView mMessageIcon; private ImageView mInviteIcon; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.a2_menu, null); mHeaderView = inflater.inflate(R.layout.a2_menu_header, null); mListView = (ListView) view.findViewById(R.id.menu_listview); mAvatar = (RoundedWebImageView) mHeaderView.findViewById(R.id.left_avatar); mUserName = (TextView) mHeaderView.findViewById(R.id.left_userName); mIncome = (TextView) mHeaderView.findViewById(R.id.left_income); mHome = (LinearLayout) mHeaderView.findViewById(R.id.left_home); mHomeText = (TextView) mHeaderView.findViewById(R.id.left_home_text); mHomeArrow = (ImageView) mHeaderView.findViewById(R.id.left_home_arrow); mIssuance = (LinearLayout) mHeaderView.findViewById(R.id.left_issuance); mIssuanceText = (TextView) mHeaderView.findViewById(R.id.left_issuance_text); mIssuanceArrow = (ImageView) mHeaderView.findViewById(R.id.left_issuance_arrow); mOrderReceiving = (LinearLayout) mHeaderView.findViewById(R.id.left_order_receiving); mOrderReceivingText = (TextView) mHeaderView.findViewById(R.id.left_order_receiving_text); mOrderReceivingArrow = (ImageView) mHeaderView.findViewById(R.id.left_order_receiving_arrow); mMessage = (LinearLayout) mHeaderView.findViewById(R.id.left_message); mMessageText = (TextView) mHeaderView.findViewById(R.id.left_message_text); mMessageNum = (TextView) mHeaderView.findViewById(R.id.left_message_num); mMessageArrow = (ImageView) mHeaderView.findViewById(R.id.left_message_arrow); mInvite = (LinearLayout) mHeaderView.findViewById(R.id.left_invite); mInviteText = (TextView) mHeaderView.findViewById(R.id.left_invite_text); mInviteArrow = (ImageView) mHeaderView.findViewById(R.id.left_invite_arrow); mHomeIco= (ImageView) mHeaderView.findViewById(R.id.home); mIssureIcon= (ImageView) mHeaderView.findViewById(R.id.issure); mReceiveIcon= (ImageView) mHeaderView.findViewById(R.id.receive); mMessageIcon= (ImageView) mHeaderView.findViewById(R.id.message); mInviteIcon= (ImageView) mHeaderView.findViewById(R.id.invite); mListView.addHeaderView(mHeaderView); mListView.setAdapter(null); view.setOnClickListener(this); mUserBalance = new UserBalanceModel(getActivity()); mUserBalance.addResponseListener(this); mUserBalance.get(); mMessageUnreadCountModel = new MessageUnreadCountModel(getActivity()); mMessageUnreadCountModel.addResponseListener(this); mUserBalanceModel = new UserBalanceModel(getActivity()); mUserBalanceModel.addResponseListener(this); if (!EventBus.getDefault().isregister(this)) { EventBus.getDefault().register(this); } return view; } public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); publucLastSelectedMenu = mHome.getId(); mHome.setOnClickListener(this); mIssuance.setOnClickListener(this); mOrderReceiving.setOnClickListener(this); mMessage.setOnClickListener(this); mInvite.setOnClickListener(this); mAvatar.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()) { case R.id.left_home: changeTextColor(mHome); if(publucLastSelectedMenu == R.id.left_home) { if (getActivity() instanceof SlidingActivity) { SlidingActivity slidingActivity = (SlidingActivity) getActivity(); slidingActivity.showLeft(); } } else { mA0HomeFragment = new A0_HomeFragment(); switchFragment((Fragment) mA0HomeFragment, true); } break; case R.id.left_issuance: changeTextColor(mIssuance); if(publucLastSelectedMenu == R.id.left_issuance) { if (getActivity() instanceof SlidingActivity) { SlidingActivity slidingActivity = (SlidingActivity) getActivity(); slidingActivity.showLeft(); } } else { mMyOrderListFragment = new E0_PublishedOrdersFragment(); switchFragment((Fragment) mMyOrderListFragment, true); } break; case R.id.left_order_receiving: changeTextColor(mOrderReceiving); if(publucLastSelectedMenu == R.id.left_order_receiving) { if (getActivity() instanceof SlidingActivity) { SlidingActivity slidingActivity = (SlidingActivity) getActivity(); slidingActivity.showLeft(); } } else { mReceivedOrderListFragment = new E2_ReceivedOrdersFragment(); switchFragment((Fragment) mReceivedOrderListFragment, true); } break; case R.id.left_message: changeTextColor(mMessage); if(publucLastSelectedMenu == R.id.left_message) { if (getActivity() instanceof SlidingActivity) { SlidingActivity slidingActivity = (SlidingActivity) getActivity(); slidingActivity.showLeft(); } } else { mH0MessageFragment = new H0_MessageFragment(); switchFragment((Fragment) mH0MessageFragment, true); } break; case R.id.left_invite: changeTextColor(mInvite); if(publucLastSelectedMenu == R.id.left_invite) { if (getActivity() instanceof SlidingActivity) { SlidingActivity slidingActivity = (SlidingActivity) getActivity(); slidingActivity.showLeft(); } } else { mG2RefferalShareFragment = new F4_RefferalFragment(); switchFragment((Fragment) mG2RefferalShareFragment, true); } break; case R.id.left_avatar: Intent intent_profile=new Intent(getActivity(), F0_ProfileActivity.class); intent_profile.putExtra(F0_ProfileActivity.USER_ID, mUser.id); startActivity(intent_profile); getActivity().overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out); break; } publucLastSelectedMenu = v.getId(); } private void changeTextColor(View view) { if(view == mHome) { mHomeIco.setImageResource(R.drawable.a3_ico_home_selected); mIssureIcon.setImageResource(R.drawable.a3_ico_issue); mReceiveIcon.setImageResource(R.drawable.a3_ico_receive); mInviteIcon.setImageResource(R.drawable.a3_ico_friends); mMessageIcon.setImageResource(R.drawable.a3_ico_message); mHomeText.setTextColor(Color.parseColor("#B3EF69")); mIssuanceText.setTextColor(Color.parseColor("#FAFCFD")); mOrderReceivingText.setTextColor(Color.parseColor("#FAFCFD")); mMessageText.setTextColor(Color.parseColor("#FAFCFD")); mInviteText.setTextColor(Color.parseColor("#FAFCFD")); mHomeArrow.setImageResource(R.drawable.ico_right_green); mIssuanceArrow.setImageResource(R.drawable.ico_right_grey); mOrderReceivingArrow.setImageResource(R.drawable.ico_right_grey); mMessageArrow.setImageResource(R.drawable.ico_right_grey); mInviteArrow.setImageResource(R.drawable.ico_right_grey); } else if(view == mIssuance) { mHomeIco.setImageResource(R.drawable.a3_ico_home); mIssureIcon.setImageResource(R.drawable.a3_ico_issue_selected); mReceiveIcon.setImageResource(R.drawable.a3_ico_receive); mInviteIcon.setImageResource(R.drawable.a3_ico_friends); mMessageIcon.setImageResource(R.drawable.a3_ico_message); mHomeText.setTextColor(Color.parseColor("#FAFCFD")); mIssuanceText.setTextColor(Color.parseColor("#B3EF69")); mOrderReceivingText.setTextColor(Color.parseColor("#FAFCFD")); mMessageText.setTextColor(Color.parseColor("#FAFCFD")); mInviteText.setTextColor(Color.parseColor("#FAFCFD")); mHomeArrow.setImageResource(R.drawable.ico_right_grey); mIssuanceArrow.setImageResource(R.drawable.ico_right_green); mOrderReceivingArrow.setImageResource(R.drawable.ico_right_grey); mMessageArrow.setImageResource(R.drawable.ico_right_grey); mInviteArrow.setImageResource(R.drawable.ico_right_grey); } else if(view == mOrderReceiving) { mHomeIco.setImageResource(R.drawable.a3_ico_home); mIssureIcon.setImageResource(R.drawable.a3_ico_issue); mReceiveIcon.setImageResource(R.drawable.a3_ico_receive_selected); mInviteIcon.setImageResource(R.drawable.a3_ico_friends); mMessageIcon.setImageResource(R.drawable.a3_ico_message); mHomeText.setTextColor(Color.parseColor("#FAFCFD")); mIssuanceText.setTextColor(Color.parseColor("#FAFCFD")); mOrderReceivingText.setTextColor(Color.parseColor("#B3EF69")); mMessageText.setTextColor(Color.parseColor("#FAFCFD")); mInviteText.setTextColor(Color.parseColor("#FAFCFD")); mHomeArrow.setImageResource(R.drawable.ico_right_green); mIssuanceArrow.setImageResource(R.drawable.ico_right_green); mOrderReceivingArrow.setImageResource(R.drawable.ico_right_green); mMessageArrow.setImageResource(R.drawable.ico_right_grey); mInviteArrow.setImageResource(R.drawable.ico_right_grey); } else if(view == mMessage) { mHomeIco.setImageResource(R.drawable.a3_ico_home); mIssureIcon.setImageResource(R.drawable.a3_ico_issue); mReceiveIcon.setImageResource(R.drawable.a3_ico_receive); mInviteIcon.setImageResource(R.drawable.a3_ico_friends); mMessageIcon.setImageResource(R.drawable.a3_ico_message_selected); mHomeText.setTextColor(Color.parseColor("#FAFCFD")); mIssuanceText.setTextColor(Color.parseColor("#FAFCFD")); mOrderReceivingText.setTextColor(Color.parseColor("#FAFCFD")); mMessageText.setTextColor(Color.parseColor("#B3EF69")); mInviteText.setTextColor(Color.parseColor("#FAFCFD")); mHomeArrow.setImageResource(R.drawable.ico_right_grey); mIssuanceArrow.setImageResource(R.drawable.ico_right_grey); mOrderReceivingArrow.setImageResource(R.drawable.ico_right_grey); mMessageArrow.setImageResource(R.drawable.ico_right_green); mInviteArrow.setImageResource(R.drawable.ico_right_grey); } else if(view == mInvite) { mHomeIco.setImageResource(R.drawable.a3_ico_home); mIssureIcon.setImageResource(R.drawable.a3_ico_issue); mReceiveIcon.setImageResource(R.drawable.a3_ico_receive); mInviteIcon.setImageResource(R.drawable.a3_ico_friends_selected); mMessageIcon.setImageResource(R.drawable.a3_ico_message); mHomeText.setTextColor(Color.parseColor("#FAFCFD")); mIssuanceText.setTextColor(Color.parseColor("#FAFCFD")); mOrderReceivingText.setTextColor(Color.parseColor("#FAFCFD")); mMessageText.setTextColor(Color.parseColor("#FAFCFD")); mInviteText.setTextColor(Color.parseColor("#B3EF69")); mHomeArrow.setImageResource(R.drawable.ico_right_grey); mIssuanceArrow.setImageResource(R.drawable.ico_right_grey); mOrderReceivingArrow.setImageResource(R.drawable.ico_right_grey); mMessageArrow.setImageResource(R.drawable.ico_right_grey); mInviteArrow.setImageResource(R.drawable.ico_right_green); } } public void switchFragment(Fragment fragment, boolean showLeft) { if (getActivity() == null) return; if (getActivity() instanceof SlidingActivity) { SlidingActivity slidingActivity = (SlidingActivity) getActivity(); slidingActivity.switchContent(fragment); if (showLeft) { slidingActivity.isShowLeft(true); slidingActivity.showLeft(); } } } @Override public void OnMessageResponse(String url, JSONObject jo, AjaxStatus status) throws JSONException { // TODO Auto-generated method stub if(url.endsWith(ApiInterface.USER_BALANCE)) { //int balanceInt = Float.valueOf(userBalance.balance).intValue(); String balance = Utils.formatBalance(mUserBalance.publicBalance); mIncome.setText(getString(R.string.balance) + balance + getString(R.string.yuan)); } else if(url.endsWith(ApiInterface.MESSAGE_UNREAD_COUNT)) { publicMessageUnreadCount = mMessageUnreadCountModel.publicUnreadCount; setMessageUnreadCount(); } else if (url.endsWith(ApiInterface.USER_PROFILE)) { String userStr = mShared.getString("user", ""); try { if (userStr != null) { JSONObject userJson = new JSONObject(userStr); mUser = new USER(); mUser.fromJson(userJson); publicImageLoader.displayImage(mUser.avatar.thumb, mAvatar, O2OMobile.options_head); mUserName.setText(Utils.replaceBlank(mUser.nickname)); } } catch (Exception e) { } } } private void setMessageUnreadCount() { if(publicMessageUnreadCount <= 0) { mMessageNum.setVisibility(View.GONE); } else { mMessageNum.setVisibility(View.VISIBLE); if(publicMessageUnreadCount < 100) { mMessageNum.setText(publicMessageUnreadCount + ""); } else { mMessageNum.setText("99+"); } } } public void onEvent(Object event) { Message message = (Message)event; if(message.what == MessageConstant.MESSAGE_READ) { publicMessageUnreadCount = publicMessageUnreadCount - 1; setMessageUnreadCount(); } else if (message.what == MessageConstant.APPLY_FREEMAN) { mUserBalanceModel.getProfile(mUser.id); changeTextColor(mHome); switchFragment(mA0HomeFragment,true); } else if (message.what == MessageConstant.SIGN_IN_SUCCESS) { mMessageUnreadCountModel.getMessageUnreadCount(); } } @Override public void onDestroyView() { // TODO Auto-generated method stub if (EventBus.getDefault().isregister(this)) { EventBus.getDefault().unregister(this); } super.onDestroyView(); } @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); mUserBalance.get(); mMessageUnreadCountModel.getMessageUnreadCount(); mShared = getActivity().getSharedPreferences(O2OMobileAppConst.USERINFO, 0); String userStr = mShared.getString("user", ""); try { if (userStr != null) { JSONObject userJson = new JSONObject(userStr); mUser = new USER(); mUser.fromJson(userJson); publicImageLoader.displayImage(mUser.avatar.thumb, mAvatar, O2OMobile.options_head); mUserName.setText(Utils.replaceBlank(mUser.nickname)); } } catch (JSONException e) { e.printStackTrace(); } } }