package com.sunvote.xpadapp.presenter; import android.content.Context; import android.content.DialogInterface; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import com.sunvote.util.LogUtil; import com.sunvote.xpadapp.MainActivity; import com.sunvote.xpadapp.R; import com.sunvote.xpadcomm.XPadApi; /** * Created by XXW on 2017/11/7. */ public class ServicePresent implements View.OnClickListener{ public MainActivity mMainActivity; private View paper_linear; private View pen_linear; private View microphone_linear; private View tea_linear; private View water_linear; private View calc_linear; private View clean_linear; private View technology_linear; private View admin_button; private ImageView paper_img; private ImageView pen_img; private ImageView microphone_img; private ImageView tea_img; private ImageView water_img; private ImageView calc_img; private ImageView clean_img; private ImageView technology_img; private boolean paper; private boolean pen; private boolean microphone; private boolean tea; private boolean water; private boolean calc; private boolean clean; private boolean technology; private static byte reqpos = 1 ; private byte selType; private DialogInterface.OnDismissListener dismissListener; private View submit ; private int clickCount = 0 ; private long lastClick ; public void setDismissListener(DialogInterface.OnDismissListener dismissListener) { this.dismissListener = dismissListener; } public ServicePresent(MainActivity context) { this.mMainActivity = context; rootView = LayoutInflater.from(context).inflate(R.layout.dialog_service,null); init(); } public ServicePresent(MainActivity context,View rootView) { this.mMainActivity = context; this.rootView = rootView; init(); } private View rootView; public View getRootView() { return rootView; } public void init() { paper_linear = rootView.findViewById(R.id.paper_linear); pen_linear = rootView.findViewById(R.id.pen_linear); microphone_linear = rootView.findViewById(R.id.microphone_linear); tea_linear = rootView.findViewById(R.id.tea_linear); water_linear = rootView.findViewById(R.id.water_linear); calc_linear = rootView.findViewById(R.id.calc_linear); clean_linear = rootView.findViewById(R.id.clean_linear); technology_linear = rootView.findViewById(R.id.technology_linear); admin_button = rootView.findViewById(R.id.admin_button); submit = rootView.findViewById(R.id.submit); paper_img = rootView.findViewById(R.id.paper_img); pen_img = rootView.findViewById(R.id.pen_img); microphone_img = rootView.findViewById(R.id.microphone_img); tea_img = rootView.findViewById(R.id.tea_img); water_img = rootView.findViewById(R.id.water_img); calc_img = rootView.findViewById(R.id.calc_img); clean_img = rootView.findViewById(R.id.clean_img); technology_img = rootView.findViewById(R.id.technology_img); paper = false; pen = false; microphone = false; tea = false; water = false; calc = false; clean = false; technology = false; paper_img.setImageResource(R.drawable.service_paper_unchoose); pen_img.setImageResource(R.drawable.service_pen_unchoose); microphone_img.setImageResource(R.drawable.service_microphone_unchoose); tea_img.setImageResource(R.drawable.service_tea_unchoose); water_img.setImageResource(R.drawable.service_water_unchoose); calc_img.setImageResource(R.drawable.service_calc_unchoose); clean_img.setImageResource(R.drawable.service_clean_unchoose); technology_img.setImageResource(R.drawable.service_technology_unchoose); paper_linear.setOnClickListener(this); pen_linear.setOnClickListener(this); microphone_linear.setOnClickListener(this); tea_linear.setOnClickListener(this); water_linear.setOnClickListener(this); calc_linear.setOnClickListener(this); clean_linear.setOnClickListener(this); technology_linear.setOnClickListener(this); submit.setOnClickListener(this); initAdmin(); } private void initAdmin(){ admin_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(System.currentTimeMillis() - lastClick > 1000){ clickCount = 0 ; } lastClick = System.currentTimeMillis(); clickCount ++ ; if(clickCount >= 5){ clickCount = 0 ; if(mMainActivity instanceof MainActivity){ ((MainActivity)mMainActivity).showAdmin(); } } } }); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.paper_linear: if(!paper){ sendServiceCmd((byte) 1); }else{ sendServiceCmd((byte) 101); } break; case R.id.pen_linear: if(!pen){ sendServiceCmd((byte) 2); }else{ sendServiceCmd((byte) 102); } break; case R.id.calc_linear: if(!calc){ sendServiceCmd((byte) 3); }else{ sendServiceCmd((byte) 103); } break; case R.id.tea_linear: if(!tea){ sendServiceCmd((byte) 4); }else{ sendServiceCmd((byte) 104); } break; case R.id.water_linear: if(!water){ sendServiceCmd((byte) 5); }else{ sendServiceCmd((byte) 105); } break; case R.id.clean_linear: if(!clean){ sendServiceCmd((byte) 6); }else { sendServiceCmd((byte) 106); } break; case R.id.microphone_linear: if(!microphone){ sendServiceCmd((byte) 7); }else{ sendServiceCmd((byte) 107); } break; case R.id.technology_linear: if(!technology){ sendServiceCmd((byte) 8); }else{ sendServiceCmd((byte) 108); } break; case R.id.submit: if(dismissListener != null){ dismissListener.onDismiss(null); } break; } } public void refreash(byte type){ switch (type){ case 1: paper = true ; paper_img.setImageResource(R.drawable.service_paper_choose);break; case 2: pen = true; pen_img.setImageResource(R.drawable.service_pen_choose);break; case 3: calc = true; calc_img.setImageResource(R.drawable.service_calc_choose);break; case 4: tea = true; tea_img.setImageResource(R.drawable.service_tea_choose);break; case 5: water = true; water_img.setImageResource(R.drawable.service_water_choose);break; case 6: clean = true; clean_img.setImageResource(R.drawable.service_clean_choose);break; case 7: microphone = true; microphone_img.setImageResource(R.drawable.service_microphone_choose);break; case 8: technology = true; technology_img.setImageResource(R.drawable.service_technology_choose);break; case 101: paper = false ; paper_img.setImageResource(R.drawable.service_paper_unchoose);break; case 102: pen = false; pen_img.setImageResource(R.drawable.service_pen_unchoose);break; case 103: calc = false; calc_img.setImageResource(R.drawable.service_calc_unchoose);break; case 104: tea = false; tea_img.setImageResource(R.drawable.service_tea_unchoose);break; case 105: water = false; water_img.setImageResource(R.drawable.service_water_unchoose);break; case 106: clean = false; clean_img.setImageResource(R.drawable.service_clean_unchoose);break; case 107: microphone = false; microphone_img.setImageResource(R.drawable.service_microphone_unchoose);break; case 108: technology = false; technology_img.setImageResource(R.drawable.service_technology_unchoose);break; } } public void show(){ rootView.setVisibility(View.VISIBLE); } public void dismiss(){ rootView.setVisibility(View.GONE); } public void sendServiceCmd(final byte type){ LogUtil.d("ServicePresent", "sendServiceCmd: type:"+ type); selType = type; mMainActivity.presenter.submitVote(XPadApi.AnsType_Service,String.valueOf(type)); } public void onServiceSubmitSuccess(){ refreash(selType); } }