app/src/main/java/com/dayu/recharge/activity/LoginActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/recharge/card/UserCard.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/recharge/view/ProgressDialog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -16,6 +16,7 @@ import com.dayu.recharge.databinding.ActivityLoginBinding; import com.dayu.recharge.dbBean.PassWordBean; import com.dayu.recharge.utils.TipUtil; import com.dayu.recharge.utils.WSMD5; import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.Permission; import com.hjq.permissions.XXPermissions; @@ -54,7 +55,7 @@ return; } if ((passWordBean == null && psStr.equals("123456")) || passWordBean != null && passWordBean.getPassWord().equals(psStr)) { || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) { startActivity(new Intent(LoginActivity.this, HomeActivity.class)); LoginActivity.this.finish(); } else { app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -6,6 +6,7 @@ import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.Toast; import com.dayu.recharge.MyApplication; @@ -41,6 +42,7 @@ import com.dayu.recharge.utils.MyCommon; import com.dayu.recharge.utils.SocketUtil; import com.dayu.recharge.utils.TipUtil; import com.dayu.recharge.view.ProgressDialog; import com.tencent.bugly.crashreport.CrashReport; import java.util.Arrays; @@ -53,7 +55,7 @@ * Description: nfc写卡界面 */ public class NFCWreatActivity extends BaseNfcActivity { public static String TAG = "NFCWreatActivity"; boolean cleanFlag = false; boolean userFlag = false; @@ -334,6 +336,7 @@ } void startAnim() { binding.avi.setVisibility(View.VISIBLE); binding.avi.show(); // or avi.smoothToShow(); } @@ -551,8 +554,9 @@ * @param initPeasantCode 农户注册编号 */ private void selectBalance(String initPeasantCode) { Log.i(TAG, "补卡查询余额:农户注册编号 " + initPeasantCode); try { startAnim(); BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean(); requestBean.setAFN("94"); requestBean.setControl("01"); @@ -631,17 +635,22 @@ //校验CRC错误 TipUtil.show(NFCWreatActivity.this, "开卡报文校验CRC错误"); } stopAnim(); } @Override public void onSocketError(int code, String msg) { stopAnim(); TipUtil.show(NFCWreatActivity.this, msg); } }); } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); stopAnim(); ProgressDialog.dismiss(); } } app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java
@@ -35,14 +35,15 @@ if (!TextUtils.isEmpty(pswBinding.pswNew.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswOld.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswNewAgin.getText().toString())) { if ((passWordBean != null && (passWordBean.getPassWord().equals(pswBinding.pswOld.getText().toString()) && (passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(pswBinding.pswOld.getText().toString())) || WSMD5.getMD5Str(pswBinding.pswOld.getText().toString()).equals("8af357996269a1b52b182a839150097d"))) || passWordBean == null) { if (passWordBean == null) { passWordBean = new PassWordBean(); } if (pswBinding.pswNew.getText().toString().equals(pswBinding.pswNewAgin.getText().toString())) { passWordBean.setPassWord(pswBinding.pswNewAgin.getText().toString()); String passWord = WSMD5.getMD5Str(pswBinding.pswNewAgin.getText().toString()); passWordBean.setPassWord(passWord); baseDao.loginPsDao().insert(passWordBean); TipUtil.show(PassWordActivity.this, "密码修改完成", () -> { PassWordActivity.this.finish(); app/src/main/java/com/dayu/recharge/card/UserCard.java
@@ -56,67 +56,72 @@ */ public static UserCard getBean(List<byte[]> data) { try { UserCard userCard = new UserCard(); if (data != null) { byte[] zero = data.get(0); byte[] one = data.get(1); byte[] two = data.get(2); userCard.cardType = HexUtil.byteToHex(zero[0]); userCard.rechargeTimes = HexUtil.get16to10(HexUtil.byteToHex(zero[1])); byte[] swipeNumberBytes = new byte[2]; System.arraycopy(zero,2,swipeNumberBytes,0,swipeNumberBytes.length); String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes); userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex); byte[] electricityPriceBytes = new byte[4]; System.arraycopy(zero,4,electricityPriceBytes,0,electricityPriceBytes.length); if (zero != null && zero.length == 16) { UserCard userCard = new UserCard(); userCard.cardType = HexUtil.byteToHex(zero[0]); userCard.rechargeTimes = HexUtil.get16to10(HexUtil.byteToHex(zero[1])); byte[] swipeNumberBytes = new byte[2]; System.arraycopy(zero, 2, swipeNumberBytes, 0, swipeNumberBytes.length); String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes); userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex); byte[] electricityPriceBytes = new byte[4]; System.arraycopy(zero, 4, electricityPriceBytes, 0, electricityPriceBytes.length); userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes)); userCard.state = BcdUtil.bcdToStr(zero[8]); byte[] balanceBytes = new byte[4]; System.arraycopy(zero,9,balanceBytes,0,balanceBytes.length); userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes)); userCard.state = BcdUtil.bcdToStr(zero[8]); byte[] balanceBytes = new byte[4]; System.arraycopy(zero, 9, balanceBytes, 0, balanceBytes.length); userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes)); byte[] addressCodeBytes = new byte[6]; System.arraycopy(zero,13,addressCodeBytes,0,2); System.arraycopy(two,11,addressCodeBytes,2,4); userCard.addressCode = BcdUtil.bcdToStr(addressCodeBytes); userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes)); byte[] addressCodeBytes = new byte[6]; System.arraycopy(zero, 13, addressCodeBytes, 0, 2); System.arraycopy(two, 11, addressCodeBytes, 2, 4); userCard.addressCode = BcdUtil.bcdToStr(addressCodeBytes); int year = 0; int month = 0; int day = 0; int hour = 0; int minute = 0; int second = 0; for (int i = 0; i < 6; i++) { byte byteData = one[i + 4]; switch (i) { case 0: year = getBcdToInt(byteData); break; case 1: month = getBcdToInt(byteData); break; case 2: day = getBcdToInt(byteData); break; case 3: hour = getBcdToInt(byteData); break; case 4: minute = getBcdToInt(byteData); break; case 5: second = getBcdToInt(byteData); break; int year = 0; int month = 0; int day = 0; int hour = 0; int minute = 0; int second = 0; for (int i = 0; i < 6; i++) { byte byteData = one[i + 4]; switch (i) { case 0: year = getBcdToInt(byteData); break; case 1: month = getBcdToInt(byteData); break; case 2: day = getBcdToInt(byteData); break; case 3: hour = getBcdToInt(byteData); break; case 4: minute = getBcdToInt(byteData); break; case 5: second = getBcdToInt(byteData); break; } } Calendar calendar = Calendar.getInstance(); calendar.set(2000 + year, month, day, hour, minute, second); byte[] initPeasantCodeBytes = new byte[16]; System.arraycopy(one, 10, initPeasantCodeBytes, 0, 5); System.arraycopy(two, 0, initPeasantCodeBytes, 5, 11); userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes); return userCard; } Calendar calendar = Calendar.getInstance(); calendar.set(2000 + year, month, day, hour, minute, second); byte[] initPeasantCodeBytes = new byte[16]; System.arraycopy(one,10,initPeasantCodeBytes,0,5); System.arraycopy(two,0,initPeasantCodeBytes,5,11); userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes); return userCard; return null; } } catch (Exception e) { e.printStackTrace(); @@ -134,7 +139,7 @@ /** * 用户卡0块 */ public class Zero { public class Zero { public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); @@ -169,7 +174,7 @@ /** * 用户卡1块 */ public class One { public class One { public byte[] toBytes() { byte[] data = new byte[16]; @@ -213,7 +218,7 @@ /** * 用户卡2块 */ public class Two { public class Two { public byte[] toBytes() { byte[] data = new byte[16]; byte[] initPeasantCodes = HexUtil.hexToByteArray(initPeasantCode); app/src/main/java/com/dayu/recharge/view/ProgressDialog.java
@@ -5,6 +5,7 @@ import android.content.Context; import com.dayu.recharge.activity.NewCardActivity; import com.tencent.bugly.crashreport.CrashReport; /** * Created by Android Studio. @@ -17,13 +18,23 @@ static Dialog dialog; public static void show(Activity activity) { dialog = android.app.ProgressDialog.show(activity, "", "正在通信请稍后", true, true); try { dialog = android.app.ProgressDialog.show(activity, "", "正在通信请稍后", true, true); } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); } } public static void dismiss() { if (dialog != null) { dialog.dismiss(); dialog = null; try { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); dialog = null; } } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); } } } easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java
@@ -196,6 +196,7 @@ // 停止线程 stopThread = true; release(); LogUtil.i("reader停止线程"); CrashReport.postCatchedException(unrecoverableException); } catch (ReadRecoverableExeption readRecoverableExeption) { readRecoverableExeption.printStackTrace(); @@ -289,6 +290,7 @@ // 释放资源 private void release() { LogUtil.i("reader线程释放资源"); if (originBuf != null) { originBuf = null; }