充电桩app代码

InputCodeActivity.java 18KB

    package com.electric.chargingpile.activity; import android.Manifest; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.Toast; import com.blankj.utilcode.util.EmptyUtils; import com.blankj.utilcode.util.LogUtils; import com.electric.chargingpile.R; import com.electric.chargingpile.application.MainApplication; import com.electric.chargingpile.util.BarColorUtil; import com.electric.chargingpile.util.JsonUtils; import com.electric.chargingpile.util.LoadingDialog; import com.electric.chargingpile.util.ToastUtil; import com.electric.chargingpile.view.AlertDialogTwo; import com.google.zxing.client.android.constant.ChargingConstants; import com.google.zxing.client.android.constant.UrlConstants; import com.tencent.bugly.crashreport.CrashReport; import com.zhy.autolayout.AutoLayoutActivity; import com.zhy.http.okhttp.OkHttpUtils; import com.zhy.http.okhttp.callback.StringCallback; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.List; import okhttp3.Call; import pub.devrel.easypermissions.AfterPermissionGranted; import pub.devrel.easypermissions.AppSettingsDialog; import pub.devrel.easypermissions.EasyPermissions; public class InputCodeActivity extends AutoLayoutActivity implements View.OnClickListener, EasyPermissions.PermissionCallbacks { private static final String TAG = "InputCodeActivity"; private EditText et_code; private String chargingCode = ""; private String stubGroupId; InputMethodManager imm; private LoadingDialog dialog; private String password = ""; int i = 0; int count = 0; private InputCodeActivity activity; private static final String numType = "2"; private static final int startInterface = 2; private AlertDialogTwo alertDialog; private static final int RC_TELL_PERM = 124; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_input_code); BarColorUtil.initStatusBarColor(InputCodeActivity.this); activity = this; dialog = new LoadingDialog(this); dialog.setCanceledOnTouchOutside(false); initViews(); } private void initViews() { findViewById(R.id.iv_back).setOnClickListener(this); findViewById(R.id.tv_cancel).setOnClickListener(this); findViewById(R.id.tv_sure).setOnClickListener(this); alertDialog = new AlertDialogTwo(this); et_code = (EditText) findViewById(R.id.et_code); imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.iv_back: finish(); // startActivity(new Intent(getApplicationContext(),MainScanActivity.class)); break; case R.id.tv_cancel: finish(); break; case R.id.tv_sure: if (imm.isActive()) { View view = getWindow().peekDecorView(); if (view != null) { imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } } chargingCode = et_code.getText().toString(); if (TextUtils.isEmpty(chargingCode)) { ToastUtil.showToast(getApplicationContext(), "请输入充电桩编码", Toast.LENGTH_SHORT); } else { startCharging(chargingCode); } break; } } private void startCharging(String result) { dialog.show(); OkHttpUtils.get().url(UrlConstants.START_CHARGING_URL) .addParams(ChargingConstants.FLAG, numType) .addParams(ChargingConstants.URL, URLEncoder.encode(result)) .addParams(ChargingConstants.USERID, MainApplication.userId) .addParams(ChargingConstants.PWD, MainApplication.userPassword) .build().connTimeOut(30000).readTimeOut(30000).execute(new StringCallback() { @Override public void onError(Call call, Exception e) { ToastUtil.showToast(getApplicationContext(), "网络异常,请检查您的网络连接", Toast.LENGTH_SHORT); CrashReport.postCatchedException(e); } @Override public void onResponse(String response) { LogUtils.e(response); if (EmptyUtils.isNotEmpty(response)) { cancelDialog(); handlingOperations(response, startInterface); } } }); } private void handlingOperations(String response, int interfaceType) { String rtnCode = JsonUtils.getKeyResult(response, "rtnCode"); String rtnMsg = JsonUtils.getKeyResult(response, "rtnMsg"); switch (rtnCode) { case "01": if (interfaceType == startInterface) { String data = JsonUtils.getKeyResult(response, "data"); String orderid = JsonUtils.getKeyResult(data, "orderId"); Intent intent = new Intent(getApplicationContext(), TLDLoadingActivity.class); intent.putExtra(ChargingConstants.ORDERID, orderid); startActivity(intent); } break; case "304": alertDialog.builder() .setMsg(rtnMsg) .setPositiveButton("去充值", new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), AccountRechargeActivity.class); startActivity(intent); } }) // .setNegativeButton("开通免密支付", new View.OnClickListener() { // @Override // public void onClick(View v) { // Intent intent = new Intent(getApplicationContext(),NonSecretSeettingActivity.class); // Uri uri = Uri.parse("chongdianzhuang://"); // intent.setData(uri); // startActivity(intent); // } // }) .show(); break; case "305": alertDialog.builder() .setMsg(rtnMsg) .setPositiveButton("联系客服", new View.OnClickListener() { @Override public void onClick(View v) { //tellTask(); wechatAlert(); } }).setNegativeButton("取消", new View.OnClickListener() { @Override public void onClick(View v) { } }).show(); break; case "309": alertDialog.builder() .setMsg(rtnMsg) .setPositiveButton("联系客服", new View.OnClickListener() { @Override public void onClick(View v) { // tellTask(); wechatAlert(); } }).setNegativeButton("取消", new View.OnClickListener() { @Override public void onClick(View v) { } }).show(); break; case "306": //跳转到充电详情界面 String data306 = JsonUtils.getKeyResult(response, "data"); String orderid = JsonUtils.getKeyResult(data306, "orderId"); Intent intent306 = new Intent(getApplicationContext(), ChargingStatusActivity.class); intent306.putExtra(ChargingConstants.ORDERID, orderid); startActivity(intent306); finish(); break; case "307": alertDialog.builder() .setMsg(rtnMsg) .setPositiveButton("去充值", new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), AccountRechargeActivity.class); startActivity(intent); } }).show(); break; case "311": alertDialog.builder() .setMsg(rtnMsg) .setPositiveButton("开通免密支付", new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), NonSecretSeettingActivity.class); Uri uri = Uri.parse("chongdianzhuang://"); intent.setData(uri); startActivity(intent); } }).show(); break; case "1800": String data1800 = JsonUtils.getKeyResult(response, "data"); String pileId = JsonUtils.getKeyResult(data1800, "pileId"); Intent intent1800 = new Intent(getApplicationContext(), SelectPileActivity.class); intent1800.putExtra(ChargingConstants.ORDERID, pileId); startActivity(intent1800); break; default: ToastUtil.showToast(getApplicationContext(), rtnMsg, Toast.LENGTH_SHORT); break; } } public static String md5(String string) { byte[] hash; try { hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8")); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("Huh, MD5 should be supported?", e); } catch (UnsupportedEncodingException e) { throw new RuntimeException("Huh, UTF-8 should be supported?", e); } StringBuilder hex = new StringBuilder(hash.length * 2); for (byte b : hash) { if ((b & 0xFF) < 0x10) hex.append("0"); hex.append(Integer.toHexString(b & 0xFF)); } return hex.toString(); } @Override protected void onDestroy() { super.onDestroy(); } // private void getChargingPile(final String result){ // dialog.show(); // String url = MainApplication.url+"/zhannew/basic/web/index.php/interface/info?flag=2&user_id="+MainApplication.userId+"&url="+result; // OkHttpUtils.get().url(url).build().execute(new StringCallback() { // @Override // public void onError(Call call, Exception e) { // cancelDialog(); // ToastUtil.showToast(getApplicationContext(),"网络异常,请检查您的网络连接",Toast.LENGTH_SHORT); // CrashReport.postCatchedException(e); // } // // @Override // public void onResponse(String response) { // Log.e(TAG, "onResponse: getChargingPile="+response ); // String code = JsonUtils.getKeyResult(response,"code"); // if (code.equals("200")){ // String group_id = JsonUtils.getKeyResult(response,"group_id"); // String eletype = JsonUtils.getKeyResult(response,"eletype"); // String type = JsonUtils.getKeyResult(response,"type"); // String pile_code = JsonUtils.getKeyResult(response,"pile_code"); // // MainApplication.isAppStart = true; // ProfileManager.getInstance().setAppStart(getApplicationContext(),MainApplication.isAppStart); // if (type.equals("jd")){ // startHssy(pile_code,group_id,type); // }else { // cancelDialog(); // Intent intent = new Intent(getApplicationContext(),TLDLoadingActivity.class); // intent.putExtra("type",type); // intent.putExtra("eletype",eletype); // intent.putExtra("chargingCode",pile_code); // intent.putExtra("group_id",group_id); // startActivity(intent); // finish(); // } // }else { // cancelDialog(); // String error_message = JsonUtils.getKeyResult(response,"error_message"); // ToastUtil.showToast(getApplicationContext(),error_message,Toast.LENGTH_SHORT); // } // } // }); // } // // private void startHssy(String pile_code,String group_id,String type){ // long appTime1 = System.currentTimeMillis() / 1000; // long updatetime = appTime1 - MainMapActivity.cha - 3; // String token = String.valueOf(updatetime); // String s = "group_id="+group_id+"&password="+MainApplication.userPassword+"&pile_code="+pile_code+"&timer="+token+"&type="+type+"&user_id="+MainApplication.userId+"&key=661f9efdcb4f46fe7ab5f2e78a705a2a"; // String url = MainApplication.url+"/zhannew/basic/web/index.php/interface/start_v2?" + // "ver=1.0&type="+type+"&timer="+token+"&user_id="+MainApplication.userId+"&pile_code=" // +pile_code+"&group_id="+group_id+"&password="+MainApplication.userPassword+"&sign="+ Md5Util.md5(s); // Log.e(TAG, "startHssy: url="+url ); // OkHttpUtils.get().url(url).build().execute(new StringCallback() { // @Override // public void onError(Call call, Exception e) { // cancelDialog(); // } // // @Override // public void onResponse(String response) { // cancelDialog(); // Log.e(TAG, "onResponse: startHssy="+response ); // String code = JsonUtils.getKeyResult(response,"code"); // // if (code.equals("200")){ // startActivity(new Intent(getApplicationContext(),ChargingStatusActivity.class)); // finish(); // }else { // String error_message = JsonUtils.getKeyResult(response,"error_message"); // if (error_message != null) { // ToastUtil.showToast(getApplicationContext(), error_message, Toast.LENGTH_SHORT); // } // } // } // }); // } private void cancelDialog() { if (activity != null && !activity.isFinishing()) { if (dialog.isShowing()) { dialog.dismiss(); } } } private void wechatAlert() { AlertDialogTwo wechatAlert = new AlertDialogTwo(InputCodeActivity.this); wechatAlert.builder().setTitle("温馨提示") .setMsg("客服微信:chongdianzhuang2") .setPositiveButton("复制", new View.OnClickListener(){ @Override public void onClick(View view) { ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); ClipData cdzData = ClipData.newPlainText("Label", "chongdianzhuang2"); cm.setPrimaryClip(cdzData); ToastUtil.showToast(getApplicationContext(), "微信号复制成功", Toast.LENGTH_SHORT); } }).show(); } @AfterPermissionGranted(RC_TELL_PERM) public void tellTask() { if (hasTellPermission()) { // Have permission, do the thing! // Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show(); String telNum = "4008810405"; Intent intent = new Intent(); intent.setAction("android.intent.action.CALL"); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("tel:" + telNum)); InputCodeActivity.this.startActivity(intent); } else { LogUtils.e("@@@@@@@"); // Ask for one permission EasyPermissions.requestPermissions( this, "该功能需要开启拨号权限,是否前往开启?", RC_TELL_PERM, Manifest.permission.CALL_PHONE); } } private boolean hasTellPermission() { return EasyPermissions.hasPermissions(this, Manifest.permission.CALL_PHONE); } @Override public void onPermissionsGranted(int requestCode, List<String> perms) { } @Override public void onPermissionsDenied(int requestCode, List<String> perms) { if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) { new AppSettingsDialog.Builder(InputCodeActivity.this, "该功能需要开启拨号权限,是否前往开启??").build().show(); } } }