package com.dreamspace.uucampus.ui.fragment.FreeGoods;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
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.NetUtils;
import com.dreamspace.uucampus.common.utils.PreferenceUtils;
import com.dreamspace.uucampus.common.utils.TLog;
import com.dreamspace.uucampus.model.api.AddIdleCollectionRes;
import com.dreamspace.uucampus.ui.activity.FreeGoods.FreeGoodsDetailActivity;
import com.dreamspace.uucampus.ui.activity.Login.LoginActivity;
import com.dreamspace.uucampus.ui.base.BaseLazyFragment;
import com.dreamspace.uucampus.ui.dialog.ConnectSellerDialog;
import butterknife.Bind;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;
/**
* Created by wufan on 2015/9/21.
*/
public class FreeGoodsDetailBottomInfoFragment extends BaseLazyFragment {
@Bind(R.id.free_goods_detail_consult_linear_layout)
LinearLayout mConsult;
@Bind(R.id.free_goods_detail_collect_linear_layout)
LinearLayout mCollect;
@Bind(R.id.free_goods_detail_bottom_collect_iv)
ImageView mCollectIv;
@Bind(R.id.free_goods_detail_bottom_collect_tv)
TextView mCollectTv;
@Bind(R.id.free_goods_detail_tv)
TextView mDetailTv;
private boolean bCollect=false;
public static final String EXTRA_CONTENT="content";
public static final String EXTRA_IS_COLLECTION="is_collection";
public static final String EXTRA_GOODS_NAME="goods_name";
public static final String EXTRA_PHONE_NUM="phone_num";
private String idle_id=null;
private String content=null;
private String is_collection=null;
private String mGoodsName;
private String mPhoneNum;
public static FreeGoodsDetailBottomInfoFragment newInstance() {
FreeGoodsDetailBottomInfoFragment fragment = new FreeGoodsDetailBottomInfoFragment();
return fragment;
}
@Override
protected void onFirstUserVisible() {
idle_id =getArguments().getString(FreeGoodsDetailActivity.EXTRA_IDLE_ID);
}
@Override
protected void onUserVisible() {
}
@Override
protected void onUserInvisible() {
}
@Override
protected View getLoadingTargetView() {
return null;
}
@Override
protected void initViewsAndEvents() {
//获取DetailActivity中的数据
content =getArguments().getString(EXTRA_CONTENT);
is_collection=getArguments().getString(EXTRA_IS_COLLECTION);
mGoodsName=getArguments().getString(EXTRA_GOODS_NAME);
mPhoneNum =getArguments().getString(EXTRA_PHONE_NUM);
mDetailTv.setText(content);
if(Integer.parseInt(is_collection)==1){ //已收藏状态
mCollectIv.setImageResource(R.drawable.xiangqing_tab_bar_collect_p);
mCollectTv.setTextColor(getResources().getColor(R.color.text_pressed));
bCollect = true;
}else{ //未收藏状态
mCollectIv.setImageResource(R.drawable.xiangqing_tab_bar_collect_n);
mCollectTv.setTextColor(getResources().getColor(R.color.text_normal));
bCollect = false;
}
mConsult.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ConnectSellerDialog dialog = dialog = new ConnectSellerDialog(getActivity(),
R.style.UpDialog, mGoodsName,mPhoneNum);
Window window = dialog.getWindow();
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;
layoutParams.y = (int)(80*getResources().getDisplayMetrics().density);
window.setAttributes(layoutParams);
dialog.show();
}
});
mCollect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!PreferenceUtils.hasKey(mContext,PreferenceUtils.Key.LOGIN) ||
!PreferenceUtils.getBoolean(mContext,PreferenceUtils.Key.LOGIN)){
//未登录
readyGo(LoginActivity.class);
}else{
updateCollect(bCollect);
}
}
});
}
private void updateCollect(final boolean bCollect) {
if(NetUtils.isNetworkConnected(getActivity().getApplicationContext())){
if(!bCollect) { //添加收藏
// final ProgressDialog pd = new ProgressDialog(mContext);
// pd.setContent("正在收藏");
// pd.show();
// final ProgressDialog pd =ProgressDialog.show(getActivity(), "", "正在收藏", true, false);
ApiManager.getService(getActivity().getApplicationContext()).addIdleCollection(idle_id, new Callback<AddIdleCollectionRes>() {
@Override
public void success(AddIdleCollectionRes addIdleCollectionRes, Response response) {
showToast("成功收藏");
updateCollectUI(bCollect);
// pd.dismiss();
}
@Override
public void failure(RetrofitError error) {
TLog.i("error:", error.getMessage());
showInnerError(error);
// pd.dismiss();
}
});
}else{ //取消收藏
// final ProgressDialog pd = new ProgressDialog(mContext);
// pd.setContent("取消收藏");
// pd.show();
// final ProgressDialog pd =ProgressDialog.show(getActivity(), "", "取消收藏", true, false);
ApiManager.getService(getActivity().getApplicationContext()).deleteIdleCollection(idle_id, new Callback<Response>() {
@Override
public void success(Response response, Response response2) {
showToast("取消收藏");
updateCollectUI(bCollect);
// pd.dismiss();
}
@Override
public void failure(RetrofitError error) {
showInnerError(error);
// pd.dismiss();
}
});
}
}else{
showNetWorkError();
}
}
private void updateCollectUI(boolean bCollect) {
if(bCollect){ //取消收藏
this.bCollect = false;
mCollectIv.setImageResource(R.drawable.xiangqing_tab_bar_collect_n);
mCollectTv.setTextColor(getResources().getColor(R.color.text_normal));
}else{
this.bCollect=true;
mCollectIv.setImageResource(R.drawable.xiangqing_tab_bar_collect_p);
mCollectTv.setTextColor(getResources().getColor(R.color.text_pressed));
}
}
@Override
protected int getContentViewLayoutID() {
return R.layout.fragment_free_goods_detail_bottom_info;
}
}