package com.tejia.lijin.app.ui.dialog;
|
|
import android.app.Dialog;
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.widget.FrameLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.androidquery.AQuery;
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.request.RequestOptions;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.entity.hongbao.LijinSendInfo;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.ui.mine.LoginSelectActivity;
|
import com.tejia.lijin.app.util.Constant;
|
import com.tejia.lijin.app.util.GlideCircleTransform;
|
import com.tejia.lijin.app.util.ToolUtil;
|
import com.tejia.lijin.app.util.ui.dialog.DialogUtil;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
import com.wpc.library.util.SystemCommon;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
/**
|
* Created by weikou2015 on 2017/2/28.
|
*/
|
|
public class RecommendHbDialog extends Dialog {
|
|
public RecommendHbDialog(Context context) {
|
super(context);
|
this.setCancelable(false);
|
}
|
|
public RecommendHbDialog(Context context, int theme) {
|
super(context, theme);
|
this.setCancelable(false);
|
}
|
|
|
public static class Builder {
|
private Context context;
|
LijinSendInfo hbInfo;
|
ILijinHongBaoAction lijinHongBaoAction;
|
|
public Builder(Context context) {
|
this.context = context;
|
}
|
|
|
public Builder setHBInfo(LijinSendInfo hbInfo) {
|
this.hbInfo = hbInfo;
|
return this;
|
}
|
|
public Builder setActionListener(ILijinHongBaoAction lijinHongBaoAction) {
|
this.lijinHongBaoAction = lijinHongBaoAction;
|
return this;
|
}
|
|
|
public RecommendHbDialog create() {
|
LayoutInflater inflater = (LayoutInflater) context
|
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
// instantiate the dialog with the custom Theme
|
final RecommendHbDialog dialog = new RecommendHbDialog(context, R.style.Dialog);
|
View layout = inflater.inflate(R.layout.dialog_recommend_hb, null);
|
AQuery mAQuery = new AQuery(layout);
|
if (hbInfo.getUser() != null)
|
Glide.with(context).load(hbInfo.getUser().getPortrait()).apply(new RequestOptions().placeholder(R.drawable.ic_default_portrait_light)).transform(new GlideCircleTransform(context)).into(mAQuery.id(R.id.iv_portrait).getImageView());
|
mAQuery.id(R.id.tv_nickname).text(hbInfo.getName());
|
mAQuery.id(R.id.iv_open).clicked(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (!UserUtil.isLogin(context)) {
|
context.startActivity(new Intent(context, LoginSelectActivity.class));
|
return;
|
}
|
|
ShoppingApi.recieveHongBao(context, hbInfo.getId(), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onStart() {
|
super.onStart();
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optInt("code") == 0) {
|
//播放声音
|
ToolUtil.getPlaySound(context);
|
lijinHongBaoAction.onRecieveSuccess();
|
//跳转到领取成功页面
|
JSONObject data = jsonObject.optJSONObject("data");
|
if (data != null) {
|
context.startActivity(new Intent(context, ShareBrowserActivity.class).putExtra("url", data.optString("url")));
|
}
|
DialogUtil.dismiss(dialog);
|
} else {
|
Toast.makeText(context, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) {
|
super.onFailure(statusCode, headers, jsonObject, e);
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
}
|
});
|
}
|
});
|
//关闭
|
if (lijinHongBaoAction != null) {
|
mAQuery.id(R.id.iv_close).clicked(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
DialogUtil.dismiss(dialog);
|
lijinHongBaoAction.onClose();
|
}
|
});
|
}
|
dialog.setContentView(layout);
|
|
android.view.WindowManager.LayoutParams params = dialog.getWindow()
|
.getAttributes();
|
params.width = (int) ((SystemCommon.getScreenWidth(context) * 3) / 4);
|
params.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
|
dialog.getWindow().setAttributes(params);
|
return dialog;
|
}
|
|
public static interface ILijinHongBaoAction {
|
|
public void onClose();
|
|
public void onRecieveSuccess();
|
|
|
}
|
}
|
|
}
|