package com.cheikh.lazywaimai.ui.fragment;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.OnClick;
import com.cheikh.lazywaimai.R;
import com.cheikh.lazywaimai.base.BaseController;
import com.cheikh.lazywaimai.base.BaseFragment;
import com.cheikh.lazywaimai.context.AppContext;
import com.cheikh.lazywaimai.controller.UserController;
import com.cheikh.lazywaimai.model.bean.ResponseError;
import com.cheikh.lazywaimai.model.bean.User;
import com.cheikh.lazywaimai.util.ContentView;
import com.cheikh.lazywaimai.util.ToastUtil;
import com.cheikh.lazywaimai.widget.PicassoImageView;
import com.cheikh.lazywaimai.widget.section.SectionTextItemView;
@ContentView(R.layout.fragment_user_center)
public class UserCenterFragment extends BaseFragment<UserController.UserUiCallbacks>
implements UserController.UserCenterUi {
@Bind(R.id.layout_login_before)
View mLoginBeforeLayout;
@Bind(R.id.layout_login_after)
View mLoginAfterLayout;
@Bind(R.id.img_avatar)
PicassoImageView mAvatarImg;
@Bind(R.id.txt_nickname)
TextView mNicknameTxt;
@Bind(R.id.txt_user_phone)
TextView mUserPhoneTxt;
@Bind(R.id.btn_my_address)
SectionTextItemView mManageAddressBtn;
@Bind(R.id.btn_my_favorites)
SectionTextItemView mManageFavoriteBtn;
@Bind(R.id.btn_my_evaluates)
SectionTextItemView mManageEvaluate;
@Override
protected BaseController getController() {
return AppContext.getContext().getMainController().getUserController();
}
@Override
protected String getTitle() {
return getString(R.string.title_user_center);
}
@Override
protected boolean isShowBack() {
return false;
}
@Override
protected void initializeViews(Bundle savedInstanceState) {
setHasOptionsMenu(true);
}
@Override
public void showUserInfo(User user) {
if (user != null) {
mLoginBeforeLayout.setVisibility(View.GONE);
mLoginAfterLayout.setVisibility(View.VISIBLE);
mAvatarImg.loadProfile(user);
mNicknameTxt.setText(user.getNickname());
mUserPhoneTxt.setText(user.getMobile());
} else {
mLoginBeforeLayout.setVisibility(View.VISIBLE);
mLoginAfterLayout.setVisibility(View.GONE);
}
}
@Override
public void onResponseError(ResponseError error) {
ToastUtil.showToast(error.getMessage());
}
@OnClick({
R.id.layout_login_before,
R.id.layout_login_after,
R.id.btn_my_address,
R.id.btn_my_favorites,
R.id.btn_my_evaluates
})
public void onClick(View view) {
switch (view.getId()) {
case R.id.layout_login_before:
getCallbacks().showLogin();
break;
case R.id.layout_login_after:
getCallbacks().showUserProfile();
break;
case R.id.btn_my_address:
getCallbacks().showAddressList();
break;
case R.id.btn_my_favorites:
getCallbacks().showFavoriteList();
break;
case R.id.btn_my_evaluates:
ToastUtil.showToast("还未开发");
break;
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_user_center, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_setting:
getCallbacks().showSetting();
return true;
}
return super.onOptionsItemSelected(item);
}
}