123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- package com.bgy.autosale.payutil;
- import android.annotation.SuppressLint;
- import android.app.Dialog;
- import android.content.Context;
- import android.os.CountDownTimer;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentTransaction;
- import android.util.Log;
- import android.view.Gravity;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.animation.Animation;
- import android.view.animation.AnimationUtils;
- import android.widget.FrameLayout;
- import android.widget.TextView;
- import com.bgy.autosale.R;
- import com.bgy.autosale.entitys.MakeIceCreamBean;
- import com.bgy.autosale.helpers.CommunicationHelper;
- import com.bgy.autosale.helpers.OrderHelper;
- import com.bgy.autosale.ui.consumer.PaySuccessFragment;
- import com.bgy.autosale.ui.widget.InfoView;
- import com.example.offpay.event.WmdbIctMessageEvent;
- import com.example.offpay.nayax.CreditCardMessage;
- import com.example.offpay.wmdb.WeaverUtil;
- import com.hboxs.base_library.callback.DialogClickListener;
- import com.hboxs.base_library.constant.Name;
- import com.hboxs.base_library.util.LogUtil;
- import com.hboxs.base_library.util.ToastUtil;
- import com.hboxs.base_library.util.UiUtil;
- import org.greenrobot.eventbus.EventBus;
- import org.greenrobot.eventbus.Subscribe;
- import org.greenrobot.eventbus.ThreadMode;
- import java.util.LinkedList;
- import java.util.Timer;
- import java.util.TimerTask;
- public class MdbCreditCardDialog extends FrameLayout implements View.OnClickListener {
- private static final String TAG = "MdbCreditCardDialog";
- private TextView tvTime;
- private CountDownTimer countDownTimer;
- private static int time = 90;
- private View view;
- private boolean canTouchOutsideDismiss = true;
- private DialogClickListener listener;
- public DialogClickListener getListener() {
- return listener;
- }
- public void setListener(DialogClickListener listener) {
- this.listener = listener;
- }
- public MdbCreditCardDialog(Context context) {
- super(context);
- view = LayoutInflater.from(context).inflate(R.layout.dialog_mdbcredit_card, this, false);
- setOnClickListener(this);
- view.setOnClickListener(this);
- view.findViewById(R.id.btn_cancel).setOnClickListener(this);
- view.findViewById(R.id.iv_qr_code).setOnClickListener(this);
- tvTime = view.findViewById(R.id.tv_time);
- LayoutParams layoutParams = new LayoutParams(getResources().getDimensionPixelOffset(R.dimen.dp_269), ViewGroup.LayoutParams.WRAP_CONTENT);
- // layoutParams.width = (int) (outMetrics.widthPixels * 0.4f);
- layoutParams.gravity = Gravity.CENTER;
- addView(view, layoutParams);
- }
- public void show(ViewGroup parent) {
- if (parent == null) {
- return;
- }
- parent.addView(this, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
- Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.scale_in);
- view.startAnimation(animation);
- countDownTimer = new CountDownTimer(time*1000, 1000) {
- @SuppressLint("SetTextI18n")
- public void onTick(long millisUntilFinished) {
- tvTime.setText(millisUntilFinished / 1000 + "");
- Log.d(TAG, "onTick: countDownTimer");
- }
- public void onFinish() {
- Log.d(TAG, "onFinish: countDownTimer");
- dismiss();
- }
- }.start();
- }
- @Override
- public void onClick(View v) {
- int id = v.getId();
- if (id == R.id.btn_cancel) {
- listener.onClickListener(R.id.btn_cancel);
- }else if (canTouchOutsideDismiss) {
- dismiss();
- }
- }
- public void dismiss() {
- if (getParent() == null) {
- return;
- }
- ViewGroup parent = (ViewGroup) getParent();
- parent.removeView(this);
- countDownTimer.cancel();
- }
- public MdbCreditCardDialog setCanTouchOutsideDismiss(boolean can) {
- this.canTouchOutsideDismiss = can;
- return this;
- }
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void event(CreditCardMessage messageEvent) {
- switch (messageEvent.getType()) {
- case success:
- listener.onClickListener(130);
- break;
- case failure:
- listener.onClickListener(131);
- break;
- case invalid:
- ToastUtil.showToast(UiUtil.getStringRes(R.string.credit_card_again));
- dismiss();
- break;
- }
- }
- }
|