From d1573513f0eada6a915c2163ce6c84451c8c1070 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 13 六月 2024 15:06:05 +0800 Subject: [PATCH] 1.修复河南版本域名卡结构不同问题 2.修复齐河版本最终购水日期的bug --- henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java | 197 ++++++++++++++---- henanlibrary/src/main/java/com/dayu/henanlibrary/dbBean/DomainBean.java | 4 henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java | 20 + henanlibrary/src/main/java/com/dayu/henanlibrary/activity/PassWordActivity.java | 4 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java | 12 henanlibrary/src/main/java/com/dayu/henanlibrary/activity/ReadCardAcitivy.java | 17 + henanlibrary/src/main/java/com/dayu/henanlibrary/view/DomaindDialog.java | 108 ++++++++++ henanlibrary/src/main/res/layout/domain_dialog.xml | 104 ++++++++++ qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PassWordActivity.java | 51 ++-- app/build.gradle | 4 baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java | 23 ++ henanlibrary/src/main/java/com/dayu/henanlibrary/activity/SysActivity.java | 19 - 12 files changed, 450 insertions(+), 113 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 9e070ee..94d0b6d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ applicationId "com.dayu.recharge" minSdk 23 targetSdk 26 - versionCode 22 - versionName "2.2" + versionCode 24 + versionName "2.4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // ndk { diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java index 19f3ca7..0cde97f 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java @@ -58,6 +58,29 @@ return ((data & 0xF0) >> 4) * 10 + ((data & 0x0F)); } + + public static byte[] getIntToBCD(int number) { + // 鑾峰彇鏁存暟鐨勫瓧绗︿覆琛ㄧず褰㈠紡 + String numberStr = Integer.toString(number); + + // 鍒涘缓涓�涓瓧鑺傛暟缁勪互瀛樺偍BCD琛ㄧず + int len = numberStr.length(); + byte[] bcd = new byte[(len + 1) / 2]; + + int j = 0; + // 濡傛灉鏁板瓧鐨勯暱搴︽槸濂囨暟锛岄渶瑕佸湪鍓嶉潰娣诲姞涓�涓�0 + if (len % 2 != 0) { + numberStr = "0" + numberStr; // 鍏堟坊鍔犲墠瀵奸浂 + len++; + } + + // 灏嗘瘡涓�瀵规暟瀛楄浆鎹负涓�涓瓧鑺� + for (int i = 0; i < len; i += 2) { + bcd[j++] = (byte) (((numberStr.charAt(i) - '0') << 4) | (numberStr.charAt(i + 1) - '0')); + } + + return bcd; + } /** * short10杩涘埗杞�16杩涘埗 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗 * diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java index f098f97..5f11fca 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java @@ -204,9 +204,13 @@ cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard"); binding.cardData.setText("鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�"); } - if (this.getIntent().hasExtra("domainCard")) { - domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard"); - binding.cardData.setText("鍒朵綔璁剧疆鍩熷悕鍗�"); + if (this.getIntent().hasExtra("domainCard_xinxiang")) { + domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard_xinxiang"); + binding.cardData.setText("鍒朵綔璁剧疆鏂颁埂鍩熷悕鍗�"); + } + if (this.getIntent().hasExtra("domainCard_luyi")) { + domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard_luyi"); + binding.cardData.setText("鍒朵綔璁剧疆鏂颁埂鍩熷悕鍗�"); } if (this.getIntent().hasExtra("testCard")) { testCard = (TestCard) this.getIntent().getSerializableExtra("testCard"); @@ -558,19 +562,19 @@ * 璁剧疆鍩熷悕鍗� * * @param intent - * @param domainCard + * @param domainXinXiangCard */ - private void setDomainCard(Intent intent, DomainCard domainCard) { + private void setDomainCard(Intent intent, DomainCard domainXinXiangCard) { try { - domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getZeroByte(), 1, 0); + domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainXinXiangCard.getZeroByte(), 1, 0); if (!domainCrdFlag) { return; } - domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getOneByte(), 1, 1); + domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainXinXiangCard.getOneByte(), 1, 1); if (!domainCrdFlag) { return; } - domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getTwoByte(), 1, 2); + domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainXinXiangCard.getTwoByte(), 1, 2); } catch (Exception e) { domainCrdFlag = false; throw new RuntimeException(e); diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/PassWordActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/PassWordActivity.java index b19c539..2fb1d5b 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/PassWordActivity.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/PassWordActivity.java @@ -32,8 +32,8 @@ if (!TextUtils.isEmpty(pswBinding.pswNew.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswOld.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswNewAgin.getText().toString())) { if ((passWordBean != null - && (passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(pswBinding.pswOld.getText().toString()))) - || (WSMD5.getMD5Str(pswBinding.pswOld.getText().toString()).equals("8af357996269a1b52b182a839150097d"))&& passWordBean == null)) { + && (passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(pswBinding.pswOld.getText().toString())))) + || (WSMD5.getMD5Str(pswBinding.pswOld.getText().toString()).equals("e10adc3949ba59abbe56e057f20f883e") && passWordBean == null)) { if (passWordBean == null) { passWordBean = new PassWordBean(); } diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/ReadCardAcitivy.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/ReadCardAcitivy.java index ed57dca..ee8176a 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/ReadCardAcitivy.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/ReadCardAcitivy.java @@ -131,9 +131,20 @@ break; case CardCommon.DOMAIN_CARD_TYPE: viweGone(false); - redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱"); - DomainCard domainCard = DomainCard.toBean(data); - redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort()); + DomainCard domainXinXiangCard = DomainCard.toBean(data); + if(domainXinXiangCard.getType()==0){ + redCardBinding.readCardTypeTV.setText("褰撳墠涓烘柊涔″煙鍚嶅崱"); + }else { + redCardBinding.readCardTypeTV.setText("褰撳墠涓洪箍閭戝煙鍚嶅崱"); + } + StringBuilder builder = new StringBuilder(); + if (domainXinXiangCard.getType() == 0) { + builder.append("搴忓彿锛�" + domainXinXiangCard.getDomainNumber() + "\n"); + } + builder.append("鍩熷悕锛�" + domainXinXiangCard.getDomainName()); + builder.append("\n" + "绔彛鍙凤細" + domainXinXiangCard.getPort()); + + redCardBinding.readCardDataTV.setText(builder.toString()); stopAnim(); break; case CardCommon.TEST_CARD_TYPE: diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/SysActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/SysActivity.java index c0d5b04..91198cd 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/SysActivity.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/SysActivity.java @@ -9,13 +9,12 @@ import com.dayu.henanlibrary.card.CleanUserCard; import com.dayu.henanlibrary.card.ConfigurationPowerCard; import com.dayu.henanlibrary.card.ConfigureDeviceRegistrationCrad; -import com.dayu.henanlibrary.card.DomainCard; import com.dayu.henanlibrary.card.ManageCard; import com.dayu.henanlibrary.card.RegisteredCard; import com.dayu.henanlibrary.card.TestCard; import com.dayu.henanlibrary.databinding.ActivityAdminHnBinding; -import com.dayu.henanlibrary.dbBean.DomainBean; import com.dayu.henanlibrary.dbBean.PowerBean; +import com.dayu.henanlibrary.view.DomaindDialog; /** * Copyright (C), 2023, @@ -69,20 +68,8 @@ }); // 璁剧疆鍩熷悕鍗� adminBinding.adminDomain.setOnClickListener(v -> { - Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class); - DomainBean domainBean = baseDao.domainPortDao().findFirst(); - DomainCard domainCard = new DomainCard(); - if (domainBean != null) { - domainCard.setDomainNumber(domainBean.getDomainNumber()); - domainCard.setDomainName(domainBean.getDomain()); - domainCard.setPort(domainBean.getPort()); - } else { - domainCard.setDomainNumber("1"); - domainCard.setDomainName("newreceive.hnsjgg.com"); - domainCard.setPort(9999); - } - intent.putExtra("domainCard", domainCard); - startActivity(intent); + DomaindDialog domaindDialog=new DomaindDialog(SysActivity.this); + domaindDialog.show(); }); adminBinding.adminTest.setOnClickListener(v -> { Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class); diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java index b686627..977ad1b 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java @@ -1,5 +1,7 @@ package com.dayu.henanlibrary.card; +import android.text.TextUtils; + import com.dayu.baselibrary.tools.BcdUtil; import com.dayu.baselibrary.tools.HexUtil; import com.dayu.henanlibrary.utils.CardCommon; @@ -26,6 +28,16 @@ //绔彛鍙蜂负5涓瓧鑺傦紝涓嶈冻5浣嶉珮浣嶈ˉ0銆傜鍙e彿涓庡煙鍚嶄箣闂寸敤鈥�,鈥濋殧寮�銆傜鍙e彿鏈�鍚庝互鈥�#鈥濈粨鏉� public String domainName;//鍩熷悕 public int port;//绔彛 + + public int type;//鍩熷悕鍗℃柊涔1鍚庢湁01==0锛岄箍閭戞病鏈�01==1 + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } public String getDomainName() { return domainName; @@ -71,34 +83,80 @@ public static DomainCard toBean(List<byte[]> data) { try { - DomainCard domainCard = new DomainCard(); + DomainCard domainXinXiangCard = new DomainCard(); String domainNumber = BcdUtil.bcdToStr(data.get(0)[1]); - domainCard.domainNumber = domainNumber; - int domainLength = HexUtil.get16to10(HexUtil.byteToHex(data.get(0)[2])); - byte[] domainData = new byte[domainLength + 7]; - int index = 0; - for (int i = 0; i < 3; i++) { - int jIndex; - if (i == 0) { - jIndex = 3; - } else { - jIndex = 0; - } - for (int j = jIndex; j < 15; j++) { - if (index < domainData.length) { - domainData[index] = data.get(i)[j]; - index++; + if ("00".equals(domainNumber)||"01".equals(domainNumber)||"02".equals(domainNumber)){//鍋囧搴忓彿灏忎簬绛変簬2灏辫涓烘槸鏂颁埂鐨� + domainXinXiangCard.setType(0); + domainXinXiangCard.domainNumber = domainNumber; + int domainLength = HexUtil.get16to10(HexUtil.byteToHex(data.get(0)[2])); + byte[] domainData = new byte[domainLength + 7]; + int index = 0; + for (int i = 0; i < 3; i++) { + int jIndex; + if (i == 0) { + jIndex = 3; + } else { + jIndex = 0; } + for (int j = jIndex; j < 15; j++) { + if (index < domainData.length) { + domainData[index] = data.get(i)[j]; + index++; + } + } + } + String domainStr = new String(domainData, StandardCharsets.US_ASCII); + if (!TextUtils.isEmpty(domainStr)){ + try { + String[] parts = domainStr.split("#")[0].split(","); + if (parts.length >= 2) { + String domainName = parts[0]; + String port = parts[1].replace("#", ""); + domainXinXiangCard.setDomainName(domainName); + domainXinXiangCard.setPort(Integer.valueOf(port)); + } + } catch (NumberFormatException e) { + e.printStackTrace(); + } + } + }else { + domainXinXiangCard.setType(1); + int domainLength = HexUtil.get16to10(HexUtil.byteToHex(data.get(0)[1])); + byte[] domainData = new byte[domainLength + 7]; + int index = 0; + for (int i = 0; i < 3; i++) { + int jIndex; + if (i == 0) { + jIndex = 2; + } else { + jIndex = 0; + } + for (int j = jIndex; j < 15; j++) { + if (index < domainData.length) { + domainData[index] = data.get(i)[j]; + index++; + } + } + } + String domainStr = new String(domainData, StandardCharsets.US_ASCII); + + if (!TextUtils.isEmpty(domainStr)){ + try { + String[] parts = domainStr.split("#")[0].split(","); + if (parts.length >= 2) { + String domainName = parts[0]; + String port = parts[1].replace("#", ""); + domainXinXiangCard.setDomainName(domainName); + domainXinXiangCard.setPort(Integer.valueOf(port)); + } + } catch (NumberFormatException e) { + e.printStackTrace(); + } } } - String domainStr = new String(domainData, StandardCharsets.US_ASCII); - String domainName = domainStr.split(",")[0]; - String port = domainStr.split(",")[1].replace("#", ""); - domainCard.setDomainName(domainName); - domainCard.setPort(Integer.valueOf(port)); - return domainCard; + return domainXinXiangCard; } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); @@ -114,24 +172,45 @@ public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); - if (domainNumber != null) { - byte[] domainNumbers = BcdUtil.strToBcd(domainNumber); - data[1] = domainNumbers[0]; - } - domainLength = domainName.length(); - data[2] = HexUtil.hexToByte(HexUtil.get10to16(domainLength)); - String portStr = String.valueOf(port); - int lenght = portStr.length(); - for (int i = 0; i < 5 - lenght; i++) { - portStr = "0" + portStr; - } - String ascii = IDN.toASCII(domainName + "," + portStr + "#"); - asciiByte = ascii.getBytes(); - if (asciiByte.length < 12) { - System.arraycopy(asciiByte, 0, data, 3, asciiByte.length); +// 鍩熷悕鍗℃柊涔1鍚庢湁01==0锛岄箍閭戞病鏈�01==1 + if (type == 0) { + if (domainNumber != null) { + byte[] domainNumbers = BcdUtil.strToBcd(domainNumber); + data[1] = domainNumbers[0]; + } + domainLength = domainName.length(); + data[2] = HexUtil.hexToByte(HexUtil.get10to16(domainLength)); + String portStr = String.valueOf(port); + int lenght = portStr.length(); + for (int i = 0; i < 5 - lenght; i++) { + portStr = "0" + portStr; + } + String ascii = IDN.toASCII(domainName + "," + portStr + "#"); + asciiByte = ascii.getBytes(); + if (asciiByte.length < 12) { + System.arraycopy(asciiByte, 0, data, 3, asciiByte.length); + } else { + System.arraycopy(asciiByte, 0, data, 3, 12); + } } else { - System.arraycopy(asciiByte, 0, data, 3, 12); + data[1] = HexUtil.hexToByte(HexUtil.get10to16(domainLength)); + String portStr = String.valueOf(port); + int lenght = portStr.length(); + for (int i = 0; i < 5 - lenght; i++) { + portStr = "0" + portStr; + } + String ascii = IDN.toASCII(domainName + "," + portStr + "#"); + asciiByte = ascii.getBytes(); + if (asciiByte.length < 13) { + System.arraycopy(asciiByte, 0, data, 1, asciiByte.length); + } else { + System.arraycopy(asciiByte, 0, data, 1, 13); + } + + + } + data[15] = getByteSum(data); return data; } @@ -145,13 +224,24 @@ public byte[] toBytes() { byte[] data = new byte[16]; - if (asciiByte.length > 12) { - if (asciiByte.length - 12 < 15) { - System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - 12); - } else { - System.arraycopy(asciiByte, 12, data, 0, 15); + if (type==0){ + if (asciiByte.length > 12) { + if (asciiByte.length - 12 < 15) { + System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - 12); + } else { + System.arraycopy(asciiByte, 12, data, 0, 15); + } + } + }else { + if (asciiByte.length > 13) { + if (asciiByte.length - 13 < 15) { + System.arraycopy(asciiByte, 13, data, 0, asciiByte.length - 12); + } else { + System.arraycopy(asciiByte, 13, data, 0, 15); + } } } + data[15] = getByteSum(data); return data; } @@ -165,13 +255,24 @@ public class Two extends BaseCard { public byte[] toBytes() { byte[] data = new byte[16]; - if (asciiByte.length > (12 + 15)) { - if (asciiByte.length - (12 + 15) < 15) { - System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - (12 + 15)); - } else { - System.arraycopy(asciiByte, 12, data, 0, 15); + if (type==0){ + if (asciiByte.length > (12 + 15)) { + if (asciiByte.length - (12 + 15) < 15) { + System.arraycopy(asciiByte, 12 + 15, data, 0, asciiByte.length - (12 + 15)); + } else { + System.arraycopy(asciiByte, 12 + 15, data, 0, 15); + } + } + }else { + if (asciiByte.length > (13 + 15)) { + if (asciiByte.length - (13 + 15) < 15) { + System.arraycopy(asciiByte, 13 + 15, data, 0, asciiByte.length - (12 + 15)); + } else { + System.arraycopy(asciiByte, 13 + 15, data, 0, 15); + } } } + data[15] = getByteSum(data); return data; } diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/dbBean/DomainBean.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/dbBean/DomainBean.java index dc9073b..85829b9 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/dbBean/DomainBean.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/dbBean/DomainBean.java @@ -3,6 +3,8 @@ import androidx.room.Entity; import androidx.room.PrimaryKey; +import java.io.Serializable; + /** * Created by Android Studio. * author: zuo @@ -11,7 +13,7 @@ * 澶囨敞锛� 鍩熷悕鍜岀鍙e彿鐩稿叧 */ @Entity -public class DomainBean { +public class DomainBean implements Serializable { @PrimaryKey(autoGenerate = true) public long id; diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/view/DomaindDialog.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/view/DomaindDialog.java new file mode 100644 index 0000000..6e33bb1 --- /dev/null +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/view/DomaindDialog.java @@ -0,0 +1,108 @@ +package com.dayu.henanlibrary.view; + +import static android.view.Gravity.CENTER; + +import android.app.Dialog; +import android.content.Intent; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.RadioGroup; +import android.widget.TextView; + +import com.dayu.baselibrary.utils.ToastUtil; +import com.dayu.henanlibrary.R; +import com.dayu.henanlibrary.activity.HNBaseActivity; +import com.dayu.henanlibrary.activity.NFCWreatActivity; +import com.dayu.henanlibrary.card.DomainCard; +import com.dayu.henanlibrary.dbBean.DomainBean; + +/** + * author: zuo + * Date: 2024-06-07 + * Time: 10:44 + * 澶囨敞锛氶�夋嫨鍩熷悕鍗$被鍨� 鍩熷悕鍗℃柊涔1鍚庢湁01锛岄箍閭戞病鏈�01锛屽崱缁撴瀯涓嶅悓 + */ +public class DomaindDialog extends Dialog { + + HNBaseActivity mContext; + + boolean ischose = false; + + + int type; + + + public DomaindDialog(HNBaseActivity context) { + super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog); + mContext = context; + initView(); + } + + private void initView() { + getWindow().setGravity(CENTER); + setContentView(R.layout.domain_dialog); + setCanceledOnTouchOutside(false); + RadioGroup radioGroup = findViewById(R.id.radioLibrary); + + radioGroup.setOnCheckedChangeListener((group, checkedId) -> { + ischose = true; + // 褰撻�変腑鐨凴adioButton鍙戠敓鍙樺寲鏃惰皟鐢� + if (checkedId == R.id.xinxiang) { + type = 0; + } else if (checkedId == R.id.luyi) {// 澶勭悊閫変腑Option 2鐨勯�昏緫 + type = 1; + } + }); + TextView okBtn = findViewById(R.id.ok); + okBtn.setOnClickListener(v -> { + if (ischose) { + Intent intent = new Intent(mContext, NFCWreatActivity.class); + DomainBean domainBean = mContext.baseDao.domainPortDao().findFirst(); + DomainCard domainCard = new DomainCard(); + if (domainBean != null) { + domainCard.setDomainNumber(domainBean.getDomainNumber()); + domainCard.setDomainName(domainBean.getDomain()); + domainCard.setPort(domainBean.getPort()); + } else { + ToastUtil.showLong("褰撳墠鏈缃煙鍚嶄俊鎭紝宸蹭娇鐢ㄦ渤鍗楃渷骞冲彴榛樿鍩熷悕涓庣鍙e彿"); + domainCard.setDomainNumber("1"); + domainCard.setDomainName("newreceive.hnsjgg.com"); + domainCard.setPort(9999); + } + //鍩熷悕鍗℃柊涔1鍚庢湁01锛岄箍閭戞病鏈�01 + if (type == 0) { + domainCard.setType(0); + intent.putExtra("domainCard_xinxiang", domainCard); + } else { + domainCard.setType(1); + intent.putExtra("domainCard_luyi", domainCard); + } + + mContext.startActivity(intent); + DomaindDialog.this.dismiss(); + } + }); + + + } + + @Override + public void show() { + + super.show(); + /** + * 璁剧疆瀹藉害鍏ㄥ睆锛岃璁剧疆鍦╯how鐨勫悗闈� + */ + WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); + layoutParams.gravity = CENTER; + layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; + layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT; + getWindow().getDecorView().setPadding(0, 0, 0, 0); + getWindow().setAttributes(layoutParams); + } + + + public interface libraryBack { + void listener(int type); + } +} \ No newline at end of file diff --git a/henanlibrary/src/main/res/layout/domain_dialog.xml b/henanlibrary/src/main/res/layout/domain_dialog.xml new file mode 100644 index 0000000..e478dd7 --- /dev/null +++ b/henanlibrary/src/main/res/layout/domain_dialog.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="#40000000" + android:gravity="center" + android:orientation="vertical"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="@dimen/dialog_bg_margin" + android:background="@drawable/base_bg_dialog_top_stroke" + android:gravity="center" + android:orientation="vertical"> + + <TextView + android:layout_width="300dp" + android:layout_height="wrap_content" + android:layout_marginTop="20dp" + android:gravity="center" + android:text="閫夋嫨鍩熷悕鍗$被鍨�" + android:textColor="@color/dialog_btn" + android:textSize="23sp" + android:textStyle="bold" /> + + <View + android:layout_width="match_parent" + android:layout_height="2px" + android:layout_marginTop="20dp" + android:background="@color/line_bg" /> + + <RadioGroup + android:id="@+id/radioLibrary" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + + <RadioButton + android:id="@+id/xinxiang" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginLeft="50dp" + android:layout_marginTop="25dp" + android:layout_marginRight="50dp" + android:background="@drawable/radio_select" + android:button="@null" + android:gravity="center" + android:padding="6dp" + android:text="鏂颁埂鍩熷悕鍗�" + android:textColor="@drawable/radio_text_select" + android:textSize="20sp" /> + + <RadioButton + android:id="@+id/luyi" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginLeft="50dp" + android:layout_marginTop="25dp" + android:layout_marginRight="50dp" + android:background="@drawable/radio_select" + android:button="@null" + android:gravity="center" + android:padding="6dp" + android:text="楣块倯鍩熷悕鍗�" + android:textColor="@drawable/radio_text_select" + android:textSize="20sp" /> + </RadioGroup> + + <View + android:layout_width="match_parent" + android:layout_height="2px" + android:layout_marginTop="35dp" + android:background="@color/line_bg" /> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center_horizontal" + android:padding="5dp" + android:orientation="horizontal"> + + <TextView + android:id="@+id/ok" + android:layout_width="match_parent" + android:layout_height="@dimen/dialog_btn_height" + android:background="@drawable/textview_select_bg" + android:gravity="center" + android:paddingLeft="15dp" + android:paddingTop="5dp" + android:paddingRight="15dp" + android:paddingBottom="5dp" + android:text="纭� 璁�" + android:textColor="@color/dialog_btn" + android:textSize="20sp" /> + + + </LinearLayout> + + + </LinearLayout> + +</LinearLayout> + diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PassWordActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PassWordActivity.java index 35f4e50..fce5729 100644 --- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PassWordActivity.java +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PassWordActivity.java @@ -28,40 +28,37 @@ super.onCreate(savedInstanceState); pswBinding = ActivityPswQhaBinding.inflate(LayoutInflater.from(this)); setContentView(pswBinding.getRoot()); - pswBinding.waterOk.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - try { - passWordBean = baseBaseDao.loginPsDao().findFirst(); + pswBinding.waterOk.setOnClickListener(v -> { + try { + passWordBean = baseBaseDao.loginPsDao().findFirst(); - if (!TextUtils.isEmpty(pswBinding.pswNew.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswOld.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswNewAgin.getText().toString())) { - if ((passWordBean != null - && (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()); - baseBaseDao.loginPsDao().insert(passWordBean); - TipUtil.show(PassWordActivity.this, "瀵嗙爜淇敼瀹屾垚", () -> { - PassWordActivity.this.finish(); - }); + if (!TextUtils.isEmpty(pswBinding.pswNew.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswOld.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswNewAgin.getText().toString())) { + if ((passWordBean != null + && (passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(pswBinding.pswOld.getText().toString())))) + || (WSMD5.getMD5Str(pswBinding.pswOld.getText().toString()).equals("e10adc3949ba59abbe56e057f20f883e") && passWordBean == null)) { + if (passWordBean == null) { + passWordBean = new PassWordBean(); + } + if (pswBinding.pswNew.getText().toString().equals(pswBinding.pswNewAgin.getText().toString())) { + passWordBean.setPassWord(pswBinding.pswNewAgin.getText().toString()); + baseBaseDao.loginPsDao().insert(passWordBean); + TipUtil.show(PassWordActivity.this, "瀵嗙爜淇敼瀹屾垚", () -> { + PassWordActivity.this.finish(); + }); - } else { - TipUtil.show(PassWordActivity.this, "涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�"); - } } else { - TipUtil.show(PassWordActivity.this, "鏃у瘑鐮佽緭鍏ラ敊璇�"); + TipUtil.show(PassWordActivity.this, "涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�"); } } else { - TipUtil.show(PassWordActivity.this, "璇疯緭瀹屽唴瀹�"); + TipUtil.show(PassWordActivity.this, "鏃у瘑鐮佽緭鍏ラ敊璇�"); } - - - } catch (Exception e) { - e.printStackTrace(); + } else { + TipUtil.show(PassWordActivity.this, "璇疯緭瀹屽唴瀹�"); } + + + } catch (Exception e) { + e.printStackTrace(); } }); } diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java index a38497e..7ceea50 100644 --- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java @@ -175,9 +175,9 @@ int year = (rechargeDate.get(Calendar.YEAR)) % 1000; int month = rechargeDate.get(Calendar.MONTH) + 1; // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1 int day = rechargeDate.get(Calendar.DAY_OF_MONTH); - byte bcdYear = (byte) ((year / 10) << 4 | ((year % 10) / 100)); - byte bcdMonth = (byte) ((month / 10) << 4 | (month % 10)); - byte bcdDay = (byte) ((day / 10) << 4 | (day % 10)); + byte bcdYear = HexUtil.getIntToBCD(year)[0]; + byte bcdMonth = HexUtil.getIntToBCD(month)[0]; + byte bcdDay = HexUtil.getIntToBCD(day)[0]; data[12] = bcdYear; data[13] = bcdMonth; data[14] = bcdDay; @@ -221,9 +221,9 @@ int year = (rechargeDate.get(Calendar.YEAR)) % 1000; int month = rechargeDate.get(Calendar.MONTH) + 1; // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1 int day = rechargeDate.get(Calendar.DAY_OF_MONTH); - byte bcdYear = (byte) ((year / 10) << 4 | ((year % 10) / 100)); - byte bcdMonth = (byte) ((month / 10) << 4 | (month % 10)); - byte bcdDay = (byte) ((day / 10) << 4 | (day % 10)); + byte bcdYear = HexUtil.getIntToBCD(year)[0]; + byte bcdMonth = HexUtil.getIntToBCD(month)[0]; + byte bcdDay = HexUtil.getIntToBCD(day)[0]; data[12] = bcdYear; data[13] = bcdMonth; data[14] = bcdDay; -- Gitblit v1.8.0