package com.dreamspace.uucampus.ui; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; import com.dreamspace.uucampus.R; import com.dreamspace.uucampus.api.ApiManager; import com.dreamspace.uucampus.common.utils.CommonUtils; import com.dreamspace.uucampus.common.utils.NetUtils; import com.dreamspace.uucampus.common.utils.PreferenceUtils; import com.dreamspace.uucampus.model.api.UserInfoRes; import com.dreamspace.uucampus.ui.activity.Login.LoginActivity; import com.dreamspace.uucampus.ui.activity.Order.MyOrderAct; import com.dreamspace.uucampus.ui.activity.Personal.AboutAct; import com.dreamspace.uucampus.ui.activity.Personal.CouponCardAct; import com.dreamspace.uucampus.ui.activity.Personal.FeedbackAct; import com.dreamspace.uucampus.ui.activity.Personal.MyCollectionAct; import com.dreamspace.uucampus.ui.activity.Personal.MyFreeGoodsAct; import com.dreamspace.uucampus.ui.activity.Personal.PersonalInfoAct; import com.dreamspace.uucampus.ui.activity.Personal.SettingAct; import com.dreamspace.uucampus.ui.base.BaseFragment; import com.dreamspace.uucampus.ui.base.BaseLazyFragment; import butterknife.Bind; import butterknife.ButterKnife; import de.hdodenhof.circleimageview.CircleImageView; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; /** * Created by money on 2015/9/14. * 此页面不需要获取数据,全部读取缓存数据 */ public class PersonCenterFragment extends BaseFragment { @Bind(R.id.personal_avatar_civ) CircleImageView avatarCiv; @Bind(R.id.my_free_goods_ll) LinearLayout freeGoodsLl; @Bind(R.id.my_collection_ll) LinearLayout collectionLl; @Bind(R.id.my_order_ll) LinearLayout orderLl; @Bind(R.id.apply_shop_ll) LinearLayout applyShopLl; @Bind(R.id.my_coupon_card_ll) LinearLayout couponCardLl; @Bind(R.id.setting_ll) LinearLayout settingLl; @Bind(R.id.feedback_ll) LinearLayout feedbackLl; @Bind(R.id.personal_nickname_tv) TextView nickNameTv; @Bind(R.id.personal_center_content_ll) LinearLayout contentLl; @Bind(R.id.login_register_btn) Button loginRegisterBtn; private static final int AVATAR_OR_NAME_CHANGE = 1; private static final int SETTING = 2; private static final int LOGIN = 3; @Override public int getLayoutId() { return R.layout.fragment_second; } @Override public void initViews(View view) { if(!PreferenceUtils.hasKey(getActivity(),PreferenceUtils.Key.LOGIN) || !PreferenceUtils.getBoolean(getActivity(),PreferenceUtils.Key.LOGIN)){ //未登录状态 initNoLoginViewsAndEvents(); }else{ //登录状态 initLoginViewsAndEvents(); } initListeners(); } //在activtiy中调用此方法用来刷新view public void updateView(){ if(!PreferenceUtils.hasKey(getActivity(),PreferenceUtils.Key.LOGIN) || !PreferenceUtils.getBoolean(getActivity(),PreferenceUtils.Key.LOGIN)){ //未登录状态 initNoLoginViewsAndEvents(); }else{ //登录状态 initLoginViewsAndEvents(); } } private void initListeners(){ settingLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGoForResult(SettingAct.class, SETTING); } }); applyShopLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } @Override public void initDatas() { } @Override protected View getLoadingTargetView() { return contentLl; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { //个人信息编辑页面退出后将最新用户信息传递到此页面 if(requestCode == AVATAR_OR_NAME_CHANGE && resultCode == getActivity().RESULT_OK){ showUserInfoIntoViews(); }else if(requestCode == SETTING && resultCode == getActivity().RESULT_OK){ //当用户选择登出时,将视图初始化为未登录状态 if(!PreferenceUtils.hasKey(getActivity(),PreferenceUtils.Key.LOGIN) || !PreferenceUtils.getBoolean(getActivity(),PreferenceUtils.Key.LOGIN)){ initNoLoginViewsAndEvents(); }else{ initLoginViewsAndEvents(); } }else if(requestCode == LOGIN && resultCode == getActivity().RESULT_OK){ //登录成功,此activity结束 initLoginViewsAndEvents(); } } //将头像和昵称显示到视图中 private void showUserInfoIntoViews(){ CommonUtils.showImageWithGlideInCiv(getActivity(), avatarCiv, PreferenceUtils.getString(getActivity(),PreferenceUtils.Key.AVATAR)); nickNameTv.setText(PreferenceUtils.getString(getActivity(), PreferenceUtils.Key.NAME)); } //初始化登录过的视图和事件 private void initLoginViewsAndEvents(){ loginRegisterBtn.setVisibility(View.GONE); nickNameTv.setVisibility(View.VISIBLE); if(PreferenceUtils.hasKey(getActivity(),PreferenceUtils.Key.AVATAR) && avatarCiv != null){ CommonUtils.showImageWithGlideInCiv(getActivity(), avatarCiv, PreferenceUtils.getString(getActivity(),PreferenceUtils.Key.AVATAR)); } if(PreferenceUtils.hasKey(getActivity(),PreferenceUtils.Key.NAME)){ nickNameTv.setText(PreferenceUtils.getString(getActivity(), PreferenceUtils.Key.NAME)); } avatarCiv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //若用户改变头像则返回时也要将此页面头像改变 readyGoForResult(PersonalInfoAct.class, AVATAR_OR_NAME_CHANGE); } }); feedbackLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { readyGo(FeedbackAct.class); } }); freeGoodsLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGo(MyFreeGoodsAct.class); } }); collectionLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGo(MyCollectionAct.class); } }); orderLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGo(MyOrderAct.class); } }); couponCardLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGo(CouponCardAct.class); } }); } //初始化未登录过的视图和事件 private void initNoLoginViewsAndEvents(){ avatarCiv.setImageDrawable(getResources().getDrawable(R.drawable.register_icon_just_a_sign)); nickNameTv.setVisibility(View.GONE); loginRegisterBtn.setVisibility(View.VISIBLE); avatarCiv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { readyGoForResult(LoginActivity.class, LOGIN); } }); loginRegisterBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { readyGoForResult(LoginActivity.class, LOGIN); } }); freeGoodsLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGoForResult(LoginActivity.class, LOGIN); } }); collectionLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGoForResult(LoginActivity.class, LOGIN); } }); orderLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGoForResult(LoginActivity.class, LOGIN); } }); couponCardLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { readyGoForResult(LoginActivity.class, LOGIN); } }); feedbackLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { readyGoForResult(LoginActivity.class, LOGIN); } }); } }