From a6fdb620fa48f6c78f066d8e01b69d2570d3baa7 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 22 十一月 2023 17:43:45 +0800
Subject: [PATCH] 修改初始密码 首页添加联网状态 调整联网loding动画
---
app/src/main/res/layout/edt_dialog.xml | 2
app/src/main/java/com/dayu/recharge/activity/MyActivity.java | 9
app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java | 57 ++++
app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 5
app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java | 8
app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java | 3
app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 115 +++------
app/src/main/java/com/dayu/recharge/tools/HexUtil.java | 18 +
app/src/main/java/com/dayu/recharge/view/PassWordDialog.java | 5
app/src/main/res/drawable/ws_login_red_btn_one.xml | 2
app/src/main/java/com/dayu/recharge/view/ProgressDialog.java | 29 ++
app/src/main/res/layout/text_dialog.xml | 1
app/src/main/res/layout/item_recharge.xml | 2
app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java | 13
app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java | 9
app/src/main/java/com/dayu/recharge/activity/HomeActivity.java | 14 +
app/src/main/java/com/dayu/recharge/MyApplication.java | 39 ---
app/src/main/java/com/dayu/recharge/net/SocketNet.java | 17
app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java | 65 ++--
app/src/main/java/com/dayu/recharge/utils/TipUtil.java | 48 +++
app/src/main/java/com/dayu/recharge/card/UserCard.java | 167 +++++++------
app/src/main/java/com/dayu/recharge/tools/BaseNFCHelper.java | 25 +
app/src/main/java/com/dayu/recharge/adapter/RechargeAdapter.java | 2
app/src/main/res/layout/activity_home.xml | 13 +
app/src/main/java/com/dayu/recharge/view/EdtDialog.java | 4
25 files changed, 397 insertions(+), 275 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index eac3399..5a9cafc 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -52,7 +52,7 @@
isAidl = true;
AidlUtil.getInstance().connectPrinterService(this);
initEasySocket(false, null);
- socketConnect();
+
CrashReport.initCrashReport(getApplicationContext(), "45551598b8", true);
}
@@ -235,43 +235,6 @@
// EasySocket.getInstance().subscribeSocketAction(socketActionListener);
EasySocket.getInstance().subscribeSocketAction(SocketNet.getInstance().socketNet.socketActionListener);
}
-
-
- /**
- * 瀹氭椂閲嶈繛鏈嶅姟鍣�
- */
- private void socketConnect() {
-
- try {
- TimerTask task = new TimerTask() {
- @Override
- public void run() {
- // TODO Auto-generated method stub
- Message message = new Message();
- message.what = 1;
- handler.sendMessage(message);
- }
- };
-// timer.schedule(task, 5000, 1000 * 60 * 3);
- timer.schedule(task, 5000, 1000 * 60 * 3);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- Handler handler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- // TODO Auto-generated method stub
- // 瑕佸仛鐨勪簨鎯�
- super.handleMessage(msg);
- try {
- SocketNet.getInstance().isConnect(MyApplication.this);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- };
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
index a27aa80..9447bcd 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
@@ -5,6 +5,7 @@
*/
+import android.app.Activity;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
@@ -96,7 +97,7 @@
*
* @return
*/
- protected Boolean ifNFCUse(Context context) {
+ protected Boolean ifNFCUse(Activity context) {
if (mNfcAdapter == null) {
TipUtil.show(context, "璁惧涓嶆敮鎸丯FC锛�");
return false;
diff --git a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
index cfa7ada..f006e6a 100644
--- a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -6,6 +6,8 @@
import android.view.LayoutInflater;
import android.view.View;
+import com.dayu.recharge.MyApplication;
+import com.dayu.recharge.R;
import com.dayu.recharge.databinding.ActivityHomeBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
import com.dayu.recharge.utils.TipUtil;
@@ -31,6 +33,7 @@
setContentView(homeBinding.getRoot());
initView();
getPermission();
+ rushState();
}
private void getPermission() {
@@ -49,6 +52,17 @@
});
}
+ public void rushState() {
+ if (MyApplication.myApplication.isConncet) {
+ homeBinding.socketState.setTextColor(getResources().getColor(R.color.title_bg));
+ homeBinding.socketState.setText("宸茶繛鎺ユ暟鎹腑蹇�");
+ } else {
+ homeBinding.socketState.setTextColor(getResources().getColor(R.color.red));
+ homeBinding.socketState.setText("姝e湪杩炴帴鏁版嵁涓績");
+ }
+
+ }
+
private void initView() {
homeBinding.homeNewCard.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
index 0e9a60f..6dfe6ef 100644
--- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -186,17 +186,12 @@
myBinding.myVillageNum.setText("璇风偣鍑诲湴鍧�淇℃伅璁剧疆");
}
StringBuilder msgData = new StringBuilder();
- if (MyApplication.myApplication.isConncet) {
- msgData.append("宸茶繛鎺ユ暟鎹腑蹇�");
- } else {
- msgData.append("鏈繛鎺ユ暟鎹腑蹇�");
- }
String initCode = DeviceNumberUtils.getDeviceNumber();
if (TextUtils.isEmpty(initCode)) {
- msgData.append(",璁惧鏈敞鍐�");
+ msgData.append("璁惧鏈敞鍐�");
} else {
- msgData.append(",璁惧宸叉敞鍐�,璁惧娉ㄥ唽鍙凤細" + initCode);
+ msgData.append("璁惧娉ㄥ唽鍙凤細" + initCode);
}
myBinding.myTestConnect.setText(msgData);
} catch (Exception e) {
diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
index eef5996..311b862 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -5,6 +5,7 @@
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
+import android.util.Log;
import android.view.LayoutInflater;
import android.widget.Toast;
@@ -40,6 +41,7 @@
import com.dayu.recharge.utils.DateUtil;
import com.dayu.recharge.utils.DeviceNumberUtils;
import com.dayu.recharge.utils.MornyUtil;
+import com.dayu.recharge.utils.MyCommon;
import com.dayu.recharge.utils.SocketUtil;
import com.dayu.recharge.utils.TipUtil;
import com.tencent.bugly.crashreport.CrashReport;
@@ -72,7 +74,7 @@
boolean configPowerFlag = false;
UserCardBean userCardBean;
-
+ UserCard olduserCard;
String morny;
String userName;
@@ -112,7 +114,6 @@
try {
binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
- initView();
nfcWreatActivity = this;
getData();
baseApp = (MyApplication) getApplication();
@@ -120,31 +121,6 @@
e.printStackTrace();
CrashReport.postCatchedException(e);
}
- }
-
- private void initView() {
- handler = new Handler(new Handler.Callback() {
- @Override
- public boolean handleMessage(Message msg) {
- switch (msg.what) {
-
- case HAS_USER://鍒ゆ柇宸插啓鍏ョ敤鎴�
- binding.textView.setText("璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖");
- binding.textView.setTextColor(getResources().getColor(R.color.red));
- stopAnim();
- break;
- case NO_USER://娌℃湁鍐欒繃鐢ㄦ埛缁х画淇濆瓨
- saveData();
- break;
- default:
- stopAnim();
- TipUtil.show(NFCWreatActivity.this, "鍗$墖璇诲彇澶辫触");
- break;
-
- }
- return false;
- }
- });
}
@@ -215,37 +191,23 @@
* 妫�娴嬫槸鍚︽槸鐢ㄦ埛鍗★紝鍋囧鏄敤鎴峰崱鐨勮瘽闇�瑕佹娴嬪崱鐗囨槸鍚﹀凡缁忓紑杩囨埛锛屽亣濡傚凡寮�鎴峰垯鎶ラ敊涓嶈兘鍐嶅啓鍗″亣濡傛槸鐢ㄦ埛鍗¢渶瑕�
*/
private void checkHasUser() {
- try {
- NfcReadHelper.getInstence(intent)
- .getData(1, 0, new NfcReadHelper.NFCCallByteback() {
- @Override
- public void callBack(byte[] data) {
- Message message = new Message();
- String type = HexUtil.byteToHex(data[0]).toUpperCase();
- switch (type) {
- case "A1":
- case "A8":
- case "A2":
- message.what = HAS_USER;
- break;
- default:
- message.what = NO_USER;
- break;
- }
- handler.sendMessage(message);
- }
- @Override
- public void error(int code) {
- Message message = new Message();
- message.what = code;
- handler.sendMessage(message);
- }
- });
- } catch (Exception e) {
- e.printStackTrace();
- CrashReport.postCatchedException(e);
+ String cardType = NfcReadHelper.getInstence(intent).getCradType();
+ Log.i("NFCWreatActivity", "cardType=" + cardType);
+ if (cardType.equals(MyCommon.USER_CARD_TYPE_1) ||
+ cardType.equals(MyCommon.USER_CARD_TYPE_2) ||
+ cardType.equals(MyCommon.USER_CARD_TYPE_3)
+ ) {
+ binding.textView.setText("璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖");
+ binding.textView.setTextColor(getResources().getColor(R.color.red));
+ } else if (cardType.equals("-1")) {
+ TipUtil.show(NFCWreatActivity.this, "璇峰嬁绉诲姩鍗$墖锛岃鍗″け璐ヨ閲嶈瘯锛侊紒");
+ } else {
+ Log.i("NFCWreatActivity", "olduserCard!=null saveData");
+ saveData();
}
+
+ stopAnim();
}
@@ -258,9 +220,11 @@
|| configureDeviceRegistrationCrad != null
|| configurationPowerCard != null) {
if (userCard != null && TextUtils.isEmpty(morny)) {
+
userFlag = WriteCardUtils.setUser(intent, userCard);
}
if (cleanCard != null) {
+ NFCWriteHelper.getInstence(intent).changePasword(1);
setClean(intent, cleanCard);
}
if (manageCard != null) {
@@ -290,11 +254,19 @@
//鐢ㄦ埛鍗�
startDetailActivity(userCardBean.getUserName(), "鍚敤");
} else if (!TextUtils.isEmpty(morny)) {
- NFCWreatActivity.this.finish();
- TipUtil.show("鍏呭�兼垚鍔�");
+ TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", new TipUtil.TipListener() {
+ @Override
+ public void onCancle() {
+ NFCWreatActivity.this.finish();
+ }
+ });
} else {
- NFCWreatActivity.this.finish();
- TipUtil.show("鍐欏崱鎴愬姛");
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", new TipUtil.TipListener() {
+ @Override
+ public void onCancle() {
+ NFCWreatActivity.this.finish();
+ }
+ });
}
} catch (Exception e) {
@@ -302,14 +274,10 @@
CrashReport.postCatchedException(e);
}
} else {
- TipUtil.show("鍐欏崱澶辫触");
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触");
}
stopAnim();
- }
-// else if (!TextUtils.isEmpty(morny)) {
-//
-// }
- else if (userCard == null && userCardBean != null) {
+ } else if (userCard == null && userCardBean != null) {
//琛ュ崱閫昏緫
selectBalance(userCardBean.getInitPeasantCode());
} else {
@@ -328,6 +296,7 @@
try {
this.intent = intent;
startAnim();
+ Log.i("NFCWreatActivity", "isUser:" + isUser);
if (isUser) {
checkHasUser();
} else if (isRecharge) {
@@ -428,7 +397,7 @@
rechargeBean.setSerial(adminData.getSerial());
userCard.setRechargeDate(Calendar.getInstance());
- rechargeBean.setBalance(MornyUtil.changeF2Y(balance + MornyUtil.changeY2F(morny)) + "");
+ rechargeBean.setBalance(MornyUtil.changeF2Y(balance));
rechargeBean.setInitPeasantCode(initPeasantCode);
rechargeBean.setOrderID(orderId);
try {
@@ -610,16 +579,13 @@
@Override
public void onSocketResponse(SocketData readData) {
if (CRC8.isCRC8(readData.getOriginDataBytes())) {
-
StringBuffer stateText = null;
-
try {
stateText = new StringBuffer();
String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s
if (userCard == null) {
userCard = new UserCard();
userCard.setRechargeTimes(0);
-
ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst();
if (electricPriceBean != null) {
userCard.setElectricityPrice(electricPriceBean.getPrice());
@@ -647,8 +613,12 @@
//琛ュ崱閫昏緫
userFlag = WriteCardUtils.setUser(intent, userCard);
if (userFlag) {
- NFCWreatActivity.this.finish();
- TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛");
+ TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛", new TipUtil.TipListener() {
+ @Override
+ public void onCancle() {
+ NFCWreatActivity.this.finish();
+ }
+ });
}
return;
} else if ("01".equals(state)) {
@@ -656,7 +626,6 @@
userCard.setState("01");
userCard.setBalance(balance);
userFlag = WriteCardUtils.setUser(intent, userCard);
-
startDetailActivity(name, stateText.toString());
} else if ("02".equals(state)) {
diff --git a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
index 007a915..ddbc7c2 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -2,7 +2,6 @@
import android.Manifest;
import android.app.Dialog;
-import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.text.InputFilter;
@@ -12,6 +11,7 @@
import android.view.View;
import com.dayu.recharge.utils.DeviceNumberUtils;
+import com.dayu.recharge.view.ProgressDialog;
import com.msd.ocr.idcard.LibraryInitOCR;
import com.dayu.recharge.MyApplication;
import com.dayu.recharge.card.UserCard;
@@ -100,7 +100,6 @@
TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭韩浠借瘉鍙�");
return;
} else {
- dialog = ProgressDialog.show(NewCardActivity.this, "", "姝e湪閫氫俊璇风◢鍚�", true, true);
userCardBean = new UserCardBean();
userCardBean.setUserName(userName);
userCardBean.setDate(date);
@@ -194,7 +193,7 @@
* 寮�鍗℃姤鏂�
*/
private void initCard() {
-
+ ProgressDialog.show(this);
String initCode = DeviceNumberUtils.getDeviceNumber();
if (TextUtils.isEmpty(initCode)) {
TipUtil.show(this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
@@ -224,7 +223,7 @@
@Override
public void onSocketResponse(SocketData readData) {
- dialog.dismiss();
+ ProgressDialog.dismiss();
if (CRC8.isCRC8(readData.getOriginDataBytes())) {
String state = BcdUtil.bcdToStr(readData.getBodyBytes()[26]); //BCD鐮�00鎴愬姛01韬唤璇佸凡娉ㄥ唽02鍏朵粬鍘熷洜澶辫触
@@ -272,7 +271,7 @@
@Override
public void onSocketError(int code, String msg) {
- dialog.dismiss();
+ ProgressDialog.dismiss();
TipUtil.show(NewCardActivity.this, msg);
}
});
diff --git a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
index 6c9fe1d..48f91a6 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -289,11 +289,12 @@
//濮撳悕
byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
- setUserData(name, balance, stateText.toString());
+
String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s
if ("00".equals(state)) {
userCard.setBalance(balance);
userCard.setState("00");
+
WriteCardUtils.setUser(intent, userCard);
stateText.append("鍚敤");
} else if ("01".equals(state)) {
@@ -309,7 +310,7 @@
stateText.append("鍏跺畠");
}
-
+ setUserData(name, balance, stateText.toString());
stopAnim();
} catch (Exception e) {
e.printStackTrace();
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
index a0b2a39..e1ed963 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
@@ -23,6 +23,7 @@
import com.dayu.recharge.utils.MornyUtil;
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;
@@ -66,7 +67,7 @@
this.intent = intent;
userCard = NfcReadHelper.getInstence(intent).getUserCardData();
if (userCard != null) {
-
+ ProgressDialog.show(this);
selectBalance(userCard.getInitPeasantCode());
} else {
TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触");
@@ -172,6 +173,7 @@
SocketNet.getInstance().sendTestMessage(requestBean.pack(), new SocketCallBack() {
@Override
public void onSocketResponse(SocketData readData) {
+ ProgressDialog.dismiss();
if (CRC8.isCRC8(readData.getOriginDataBytes())) {
StringBuffer stateText = null;
try {
@@ -187,9 +189,10 @@
userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
if ("00".equals(state)) {
stateText.append("鍚敤");
+ binding.rechargeLL.setVisibility(View.VISIBLE);
+ binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
binding.rechargeReadLL.setVisibility(View.GONE);
binding.rechargeTextLL.setVisibility(View.VISIBLE);
-
binding.userName.setText(userName);
binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance));
binding.redStatu.setText(stateText.toString());
@@ -198,11 +201,10 @@
userCard.setBalance(balance);
return;
} else if ("01".equals(state)) {
- stateText.append("绂佺敤");
+ stateText.append("璇ュ崱宸茶绂佺敤");
userCard.setState("01");
userCard.setBalance(balance);
userFlag = WriteCardUtils.setUser(intent, userCard);
- TipUtil.show("璇ュ崱宸茶绂佺敤");
} else if ("02".equals(state)) {
stateText.append("闅跺睘淇℃伅涓嶇");
} else if ("03".equals(state)) {
@@ -210,6 +212,8 @@
} else if ("04".equals(state)) {
stateText.append("鍏跺畠");
}
+ binding.rechargeLL.setVisibility(View.GONE);
+ binding.rechargeRegistBtn.setVisibility(View.GONE);
TipUtil.show(RechargeActivity.this, stateText.toString());
} catch (Exception e) {
e.printStackTrace();
@@ -222,6 +226,7 @@
@Override
public void onSocketError(int code, String msg) {
+ ProgressDialog.dismiss();
TipUtil.show(RechargeActivity.this, msg);
}
});
diff --git a/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java b/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java
index f0aa5d6..71f066c 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java
@@ -60,11 +60,13 @@
binding.newCardListView.setAdapter(adapter);
}
+ EdtDialog edtDialog;
+
private void setRightButton() {
titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, new View.OnClickListener() {
@Override
public void onClick(View v) {
- EdtDialog edtDialog = new EdtDialog(ReplacementActivity.this, new EdtDialog.DialogBack() {
+ edtDialog = new EdtDialog(ReplacementActivity.this, new EdtDialog.DialogBack() {
@Override
public void onOk(String data) {
List<UserCardBean> beans = baseDao.userCardDao().findByData(data);
@@ -75,13 +77,15 @@
} else {
TipUtil.show("鏈壘鍒拌鐢ㄦ埛");
}
+ edtDialog.dismiss();
}
@Override
public void onCancel() {
-
+ edtDialog.dismiss();
}
});
+ edtDialog.show();
}
});
}
diff --git a/app/src/main/java/com/dayu/recharge/adapter/RechargeAdapter.java b/app/src/main/java/com/dayu/recharge/adapter/RechargeAdapter.java
index 5678f2f..2fba322 100644
--- a/app/src/main/java/com/dayu/recharge/adapter/RechargeAdapter.java
+++ b/app/src/main/java/com/dayu/recharge/adapter/RechargeAdapter.java
@@ -62,7 +62,7 @@
holder = (ViewHolder) convertView.getTag();
}
holder.userName.setText("鐢ㄦ埛鍚�:" + rechargeList.get(position).getUserName());
- holder.userNo.setText("韬唤璇佸彿:" + rechargeList.get(position).getUserId());
+ holder.userNo.setText("鐢ㄦ埛缂栧彿:" + rechargeList.get(position).getInitPeasantCode());
holder.morny.setText("鍏呭�奸噾棰�:" + rechargeList.get(position).getMorny());
holder.date.setText("鏃ユ湡:" + DateUtil.dateToStamp(rechargeList.get(position).getDate(), DateUtil.type1));
return convertView;
diff --git a/app/src/main/java/com/dayu/recharge/card/UserCard.java b/app/src/main/java/com/dayu/recharge/card/UserCard.java
index 5233456..df69beb 100644
--- a/app/src/main/java/com/dayu/recharge/card/UserCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/UserCard.java
@@ -56,89 +56,94 @@
* @param data
*/
public static UserCard getBean(List<byte[]> data) {
- 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];
- swipeNumberBytes[0] = zero[2];
- swipeNumberBytes[1] = zero[3];
- String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes);
- userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex);
- byte[] electricityPriceBytes = new byte[4];
- for (int i = 0; i < 4; i++) {
- electricityPriceBytes[i] = zero[i + 4];
- }
- userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
- userCard.state = BcdUtil.bcdToStr(zero[8]);
- byte[] balanceBytes = new byte[4];
- for (int i = 0; i < 4; i++) {
- balanceBytes[i] = zero[i + 9];
- }
- userCard.balance = HexUtil.get16to10(HexUtil.bytesToHex(balanceBytes));
-
- byte[] addressCodeBytes = new byte[6];
- addressCodeBytes[0] = zero[13];
- addressCodeBytes[1] = zero[14];
- addressCodeBytes[2] = two[11];
- addressCodeBytes[3] = two[12];
- addressCodeBytes[4] = two[13];
- addressCodeBytes[5] = two[14];
- 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;
+ 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];
+ swipeNumberBytes[0] = zero[2];
+ swipeNumberBytes[1] = zero[3];
+ String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes);
+ userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex);
+ byte[] electricityPriceBytes = new byte[4];
+ for (int i = 0; i < 4; i++) {
+ electricityPriceBytes[i] = zero[i + 4];
}
+ userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
+ userCard.state = BcdUtil.bcdToStr(zero[8]);
+ byte[] balanceBytes = new byte[4];
+ for (int i = 0; i < 4; i++) {
+ balanceBytes[i] = zero[i + 9];
+ }
+ userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
+
+ byte[] addressCodeBytes = new byte[6];
+ addressCodeBytes[0] = zero[13];
+ addressCodeBytes[1] = zero[14];
+ addressCodeBytes[2] = two[11];
+ addressCodeBytes[3] = two[12];
+ addressCodeBytes[4] = two[13];
+ addressCodeBytes[5] = two[14];
+ 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;
+ }
+ }
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(2000 + year, month, day, hour, minute, second);
+ byte[] initPeasantCodeBytes = new byte[16];
+ initPeasantCodeBytes[0] = one[10];
+ initPeasantCodeBytes[1] = one[11];
+ initPeasantCodeBytes[2] = one[12];
+ initPeasantCodeBytes[3] = one[13];
+ initPeasantCodeBytes[4] = one[14];
+ initPeasantCodeBytes[5] = two[0];
+ initPeasantCodeBytes[6] = two[1];
+ initPeasantCodeBytes[7] = two[2];
+ initPeasantCodeBytes[8] = two[3];
+ initPeasantCodeBytes[9] = two[4];
+ initPeasantCodeBytes[10] = two[5];
+ initPeasantCodeBytes[11] = two[6];
+ initPeasantCodeBytes[12] = two[7];
+ initPeasantCodeBytes[13] = two[8];
+ initPeasantCodeBytes[14] = two[9];
+ initPeasantCodeBytes[15] = two[10];
+ 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];
- initPeasantCodeBytes[0] = one[10];
- initPeasantCodeBytes[1] = one[11];
- initPeasantCodeBytes[2] = one[12];
- initPeasantCodeBytes[3] = one[13];
- initPeasantCodeBytes[4] = one[14];
- initPeasantCodeBytes[5] = two[0];
- initPeasantCodeBytes[6] = two[1];
- initPeasantCodeBytes[7] = two[2];
- initPeasantCodeBytes[8] = two[3];
- initPeasantCodeBytes[9] = two[4];
- initPeasantCodeBytes[10] = two[5];
- initPeasantCodeBytes[11] = two[6];
- initPeasantCodeBytes[12] = two[7];
- initPeasantCodeBytes[13] = two[8];
- initPeasantCodeBytes[14] = two[9];
- initPeasantCodeBytes[15] = two[10];
- userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes);
- return userCard;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
}
return null;
}
diff --git a/app/src/main/java/com/dayu/recharge/net/SocketNet.java b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
index fe1e5cb..d8866a2 100644
--- a/app/src/main/java/com/dayu/recharge/net/SocketNet.java
+++ b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
@@ -4,6 +4,7 @@
import android.os.Handler;
import android.util.Log;
+import com.dayu.recharge.activity.HomeActivity;
import com.dayu.recharge.dao.BaseDaoSingleton;
import com.dayu.recharge.dbBean.AdminDataBean;
import com.dayu.recharge.dbBean.DeviceNumber;
@@ -95,6 +96,7 @@
public void onSocketConnSuccess(SocketAddress socketAddress) {
Log.i("SocketActionListener", "杩炴帴鎴愬姛");
MyApplication.myApplication.isConncet = true;
+ rushState();
DeviceNumber initCode = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
if (initCode == null && !MyApplication.myApplication.isDoInitMachine) {
new Handler().postDelayed(new Runnable() {
@@ -112,12 +114,7 @@
// if (dataMessage != null) {
// EasySocket.getInstance().upMessage(dataMessage);
// }
- if (isTest) {
- MyApplication.myApplication.isConncet = true;
-// EasySocket.getInstance().disconnect(false);
- } else {
- }
}
@@ -129,6 +126,7 @@
@Override
public void onSocketConnFail(SocketAddress socketAddress, boolean isNeedReconnect) {
MyApplication.myApplication.isConncet = false;
+ rushState();
Log.i("SocketActionListener", "socket杩炴帴澶辫触");
if (isTest) {
// ToastUtil.show(mContext, "杩炴帴澶辫触,璇锋鏌ョ綉缁�");
@@ -147,7 +145,8 @@
@Override
public void onSocketDisconnect(SocketAddress socketAddress, boolean isNeedReconnect) {
Log.i("SocketActionListener", "---> socket鏂紑杩炴帴锛屾槸鍚﹂渶瑕侀噸杩烇細" + isNeedReconnect);
-
+ MyApplication.myApplication.isConncet = false;
+ rushState();
}
/**
@@ -176,4 +175,10 @@
}
};
+ private void rushState(){
+ if ( HomeActivity.homeActivity!=null){
+ HomeActivity.homeActivity.rushState();
+ }
+ }
+
}
diff --git a/app/src/main/java/com/dayu/recharge/tools/BaseNFCHelper.java b/app/src/main/java/com/dayu/recharge/tools/BaseNFCHelper.java
index 77e1c11..806ebed 100644
--- a/app/src/main/java/com/dayu/recharge/tools/BaseNFCHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/BaseNFCHelper.java
@@ -20,9 +20,18 @@
*/
public class BaseNFCHelper {
/**
- * 榛樿瀵嗙爜
+ * 榛樿瀵嗙爜锛堢櫧鍗″瘑鐮侊級
*/
- public byte[] bytes;
+ public byte[] defauleKey;
+
+ /**
+ * 鍏徃瀵嗙爜
+ */
+ public byte[] companyKey;
+
+ String companyKeyA;
+ String companyKeyB;
+
public BaseNFCHelper() {
// 瑙e瘑瀛楃涓�
@@ -33,7 +42,17 @@
cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(encodedKey, "AES"));
byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
String decryptedText = new String(decryptedBytes, StandardCharsets.UTF_8);
- bytes = HexUtil.hexToByteArray(decryptedText);
+ defauleKey = HexUtil.hexToByteArray(decryptedText);
+
+ byte[] encryptedBytes2 = Base64.decode("aYC9feYEOFOQHuzflLIXSw==", Base64.DEFAULT);
+ byte[] decryptedBytes2 = cipher.doFinal(encryptedBytes2);
+ companyKeyA = new String(decryptedBytes2, StandardCharsets.UTF_8);
+ companyKey = HexUtil.hexToByteArray(companyKeyA);
+
+ byte[] encryptedBytes3 = Base64.decode("n+SSZFb4DHsreVav/Z5ftg==", Base64.DEFAULT);
+ byte[] decryptedBytes3 = cipher.doFinal(encryptedBytes3);
+ companyKeyB = new String(decryptedBytes3, StandardCharsets.UTF_8);
+
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
} catch (NoSuchPaddingException e) {
diff --git a/app/src/main/java/com/dayu/recharge/tools/HexUtil.java b/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
index f7bc735..9e86a6c 100644
--- a/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
+++ b/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
@@ -183,6 +183,24 @@
}
/**
+ * 16杩涘埗杞�10杩涘埗楂樹綆浣嶈浆鎹�
+ * @param hex
+ * @return
+ */
+ public static int get16to10LowHigh(String hex) {
+ try {
+ String str = "";
+ str = spaceHex(hex);
+ str = HighLowHex(str);
+ return Integer.parseInt(str, 16);
+ } catch (NumberFormatException e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+
+
+ /**
* 杩斿洖鐗瑰畾闀垮害鐨�16杩涘埗瀛楃涓�
*
* @param data
diff --git a/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java b/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java
index 856fc30..ee9b31a 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java
@@ -5,6 +5,7 @@
import android.nfc.Tag;
import android.nfc.tech.MifareClassic;
import android.util.Base64;
+import android.util.Log;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -29,7 +30,7 @@
private Tag tag;
private static NFCWriteHelper helper;
- private static int PASSWORD_LENTH = 6;
+ private static int PASSWORD_LENTH = 12;
public NFCWriteHelper(Intent intent) {
this.tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
@@ -58,7 +59,7 @@
public NFCWriteHelper setReadPassword(String str) {
if (null != str && (str.length() <= PASSWORD_LENTH)) {
for (int i = 0; i < str.length(); i++) {
- bytes[i] = (byte) str.charAt(i);
+ defauleKey[i] = (byte) str.charAt(i);
}
}
return helper;
@@ -73,6 +74,9 @@
* @param
*/
public boolean writeData(byte[] str, int a, int b) {
+ Log.i("NFCWreatActivity", "writeData: a=" + a + " b=" + b);
+ //鍐欏崱鏃朵慨鏀规墍鏈夊瘑鐮�
+ changePasword(a);
if (str.length <= 16) {
try {
MifareClassic mfc = MifareClassic.get(tag);
@@ -93,7 +97,10 @@
return false;
}
//楠岃瘉鎵囧尯瀵嗙爜
- boolean isOpen = mfc.authenticateSectorWithKeyA(a, bytes);
+ boolean isOpen = mfc.authenticateSectorWithKeyA(a, defauleKey);
+ if (!isOpen) {
+ isOpen = mfc.authenticateSectorWithKeyA(a, companyKey);
+ }
if (isOpen) {
int bIndex = mfc.sectorToBlock(a);
//鍐欏崱
@@ -124,50 +131,45 @@
/**
* 淇敼瀵嗙爜
*
- * @param password 涔﹀啓瀵嗙爜锛�16涓瓧鑺�
* @param a 涔﹀啓鐨勬墖鍖�
- * @param callback 杩斿洖鐩戝惉
+ * // * @param callback 杩斿洖鐩戝惉
*/
- public void changePasword(String password, int a, final NFCWriteHelper.NFCCallback callback) {
+ public boolean changePasword(int a) {
MifareClassic mfc = MifareClassic.get(tag);
byte[] data = new byte[16];
if (null != mfc) {
try {
mfc.connect();
- if (password.length() != PASSWORD_LENTH) {
- callback.isSusses(false);
- return;
- }
+
int count = mfc.getSectorCount();
- if (a > count - 1 || a < 0) {
- callback.isSusses(false);
- return;
- }
- //灏嗗瘑鐮佽浆鎹负keyA
- for (int i = 0; i < password.length(); i++) {
- data[i] = (byte) password.charAt(i);
- }
- //灏嗗瘑鐮佽浆鎹负KeyB
- for (int i = 0; i < password.length(); i++) {
- data[i + password.length() + 4] = (byte) password.charAt(i);
- }
- //杈撳叆鎺у埗浣�
- data[password.length()] = (byte) 0xff;
- data[password.length() + 1] = (byte) 0x07;
- data[password.length() + 2] = (byte) 0x80;
- data[password.length() + 3] = (byte) 0x69;
- //楠岃瘉瀵嗙爜
- boolean isOpen = mfc.authenticateSectorWithKeyA(a, bytes);
+ boolean isOpen = mfc.authenticateSectorWithKeyA(a, defauleKey);
+ //楠岃瘉鏄惁鏄粯璁ゅ瘑鐮侊紝褰撻粯璁ゅ瘑鐮佹椂淇敼瀵嗙爜
if (isOpen) {
+ //灏嗗瘑鐮佽浆鎹负keyA
+ byte[] dataA = HexUtil.hexToByteArray(companyKeyA);
+ for (int i = 0; i < dataA.length; i++) {
+ data[i] = dataA[i];
+ }
+ //杈撳叆鎺у埗浣�
+ data[6] = (byte) 0xff;
+ data[7] = (byte) 0x07;
+ data[8] = (byte) 0x80;
+ data[9] = (byte) 0x69;
+ byte[] dataB = HexUtil.hexToByteArray(companyKeyB);
+ //灏嗗瘑鐮佽浆鎹负KeyB
+ for (int i = 0; i < dataB.length; i++) {
+ data[i + 10] = dataB[i];
+ }
int bIndex = mfc.sectorToBlock(a);
int bCount = mfc.getBlockCountInSector(a);
//鍐欏埌鎵囧尯鐨勬渶鍚庝竴涓潡
mfc.writeBlock(bIndex + bCount - 1, data);
}
- callback.isSusses(true);
+ return true;
} catch (Exception e) {
e.printStackTrace();
- callback.isSusses(false);
+ return false;
+// callback.isSusses(false);
} finally {
try {
mfc.close();
@@ -176,6 +178,7 @@
}
}
}
+ return false;
}
/**
diff --git a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
index 428cfd8..34cd956 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
@@ -4,6 +4,7 @@
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.nfc.tech.MifareClassic;
+import android.util.Log;
import com.dayu.recharge.card.UserCard;
import com.dayu.recharge.utils.MyCommon;
@@ -46,7 +47,11 @@
return helper;
}
-
+ /**
+ * 鑾峰彇鐢ㄦ埛鍗′俊鎭�
+ *
+ * @return
+ */
public UserCard getUserCardData() {
UserCard userCard = null;
Map<String, List<byte[]>> map = new HashMap<>();
@@ -63,7 +68,10 @@
boolean flag = false;
List<byte[]> list = new ArrayList<>();
//楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
- boolean isOpen = mfc.authenticateSectorWithKeyA(1, bytes);
+ boolean isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
+ if (!isOpen){
+ isOpen= mfc.authenticateSectorWithKeyA(1, companyKey);
+ }
if (isOpen) {
//鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
int bCount = mfc.getBlockCountInSector(1);
@@ -103,6 +111,41 @@
return null;
}
+ public String getCradType() {
+
+ MifareClassic mfc = MifareClassic.get(tag);
+ if (null != mfc) {
+ try {
+ mfc.connect();
+ boolean isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
+ if (!isOpen){
+ isOpen= mfc.authenticateSectorWithKeyA(1, companyKey);
+ }
+ if (isOpen) {
+ int bIndex = mfc.sectorToBlock(1);
+ byte[] data = mfc.readBlock(bIndex + 0);
+ if (data != null && data.length > 0) {
+ String hex = HexUtil.byteToHex(data[0]);
+ Log.i("NFCWreatActivity", "hex===" + hex);
+ return hex;
+ }
+
+ } else {
+ Log.i("NFCWreatActivity", "isOpen===" + isOpen);
+ return "-1";
+ }
+ } catch (IOException e) {
+ return "-1";
+ } finally {
+ try {
+ mfc.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return "";
+ }
/**
* 璇诲彇NFC鍗$殑鍏ㄩ儴淇℃伅
@@ -128,7 +171,10 @@
for (int i = 0; i < count; i++) {
List<byte[]> list = new ArrayList<>();
//楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
- boolean isOpen = mfc.authenticateSectorWithKeyA(i, bytes);
+ boolean isOpen = mfc.authenticateSectorWithKeyA(i, defauleKey);
+ if (!isOpen){
+ isOpen = mfc.authenticateSectorWithKeyA(i, companyKey);
+ }
if (isOpen) {
//鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
int bCount = mfc.getBlockCountInSector(i);
@@ -216,7 +262,10 @@
typeS = "TYPE_UNKNOWN";
break;
}
- boolean isOpen = mfc.authenticateSectorWithKeyA(a, bytes);
+ boolean isOpen = mfc.authenticateSectorWithKeyA(a, defauleKey);
+ if (!isOpen){
+ isOpen = mfc.authenticateSectorWithKeyA(a, companyKey);
+ }
if (isOpen) {
int bIndex = mfc.sectorToBlock(a);
byte[] data = mfc.readBlock(bIndex + b);
diff --git a/app/src/main/java/com/dayu/recharge/utils/TipUtil.java b/app/src/main/java/com/dayu/recharge/utils/TipUtil.java
index 50b80af..b5daea7 100644
--- a/app/src/main/java/com/dayu/recharge/utils/TipUtil.java
+++ b/app/src/main/java/com/dayu/recharge/utils/TipUtil.java
@@ -1,7 +1,11 @@
package com.dayu.recharge.utils;
+import android.app.Activity;
import android.content.Context;
+import android.os.Build;
+import android.widget.Toast;
+import com.dayu.recharge.MyApplication;
import com.dayu.recharge.activity.HomeActivity;
import com.dayu.recharge.view.TipDialog;
@@ -10,24 +14,33 @@
public void onCancle();
}
- public static void show(Context context, String data) {
+ public static void show(Activity mActivity, String data) {
// Toast.makeText(context, data, Toast.LENGTH_LONG).show();
- TipDialog tipDialog = new TipDialog(context, data);
- tipDialog.show();
+ try {
+ if (!isDestroy(mActivity)) {
+ TipDialog tipDialog = new TipDialog(mActivity, data);
+ tipDialog.show();
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
- public static void show(Context context, String data, TipListener tipListener) {
+ public static void show(Activity mActivity, String data, TipListener tipListener) {
// Toast.makeText(context, data, Toast.LENGTH_LONG).show();
- TipDialog tipDialog = new TipDialog(context, data, tipListener);
- tipDialog.show();
+ if (!isDestroy(mActivity)) {
+ TipDialog tipDialog = new TipDialog(mActivity, data, tipListener);
+ tipDialog.show();
+ }
}
public static void show(String data) {
-// Toast.makeText(, data, Toast.LENGTH_LONG).show();
- TipDialog tipDialog = new TipDialog(HomeActivity.homeActivity, data);
- tipDialog.show();
+ Toast.makeText(MyApplication.myApplication, data, Toast.LENGTH_LONG).show();
+// TipDialog tipDialog = new TipDialog(HomeActivity.homeActivity, data);
+// tipDialog.show();
}
public static void show(String data, TipListener tipListener) {
@@ -35,4 +48,21 @@
TipDialog tipDialog = new TipDialog(HomeActivity.homeActivity, data, tipListener);
tipDialog.show();
}
+
+ /**
+ * 鍒ゆ柇Activity鏄惁Destroy
+ *
+ * @param mActivity
+ * @return true:宸查攢姣�
+ */
+ public static boolean isDestroy(Activity mActivity) {
+ if (mActivity == null ||
+ mActivity.isFinishing() ||
+ (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && mActivity.isDestroyed())) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
}
diff --git a/app/src/main/java/com/dayu/recharge/view/EdtDialog.java b/app/src/main/java/com/dayu/recharge/view/EdtDialog.java
index 544ba21..d1f040b 100644
--- a/app/src/main/java/com/dayu/recharge/view/EdtDialog.java
+++ b/app/src/main/java/com/dayu/recharge/view/EdtDialog.java
@@ -52,7 +52,7 @@
public void onClick(View v) {
if (intent!=null){
if (TextUtils.isEmpty(editText.getText().toString())) {
- TipUtil.show(mContext, "璇疯緭鍏ュ簭鍒楀彿");
+// TipUtil.show(mContext, "璇疯緭鍏ュ簭鍒楀彿");
} else {
if (Integer.valueOf(editText.getText().toString()) <= 16777215) {
// EquipmentNumber equipmentNumber = (EquipmentNumber) intent.getSerializableExtra("equipmentNumber");
@@ -60,7 +60,7 @@
mContext.startActivity(intent);
EdtDialog.this.dismiss();
} else {
- TipUtil.show(mContext, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
+// TipUtil.show(mContext, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
}
}
diff --git a/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java b/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
index 634ec23..cb564b2 100644
--- a/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
+++ b/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
@@ -1,5 +1,6 @@
package com.dayu.recharge.view;
+import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
@@ -22,9 +23,9 @@
public class PassWordDialog extends Dialog {
Intent intent;
- Context mContext;
+ Activity mContext;
- public PassWordDialog(Context context, Intent intent) {
+ public PassWordDialog(Activity context, Intent intent) {
super(context, R.style.ws_pay_showSelfDialog);
this.intent = intent;
mContext = context;
diff --git a/app/src/main/java/com/dayu/recharge/view/ProgressDialog.java b/app/src/main/java/com/dayu/recharge/view/ProgressDialog.java
new file mode 100644
index 0000000..70e6aac
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/view/ProgressDialog.java
@@ -0,0 +1,29 @@
+package com.dayu.recharge.view;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.content.Context;
+
+import com.dayu.recharge.activity.NewCardActivity;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-22
+ * Time: 13:33
+ * 澶囨敞锛�
+ */
+public class ProgressDialog {
+ static Dialog dialog;
+
+ public static void show(Activity activity) {
+ dialog = android.app.ProgressDialog.show(activity, "", "姝e湪閫氫俊璇风◢鍚�", true, true);
+ }
+
+ public static void dismiss() {
+ if (dialog != null) {
+ dialog.dismiss();
+ dialog = null;
+ }
+ }
+}
diff --git a/app/src/main/res/drawable/ws_login_red_btn_one.xml b/app/src/main/res/drawable/ws_login_red_btn_one.xml
index 7aab627..cb8392e 100644
--- a/app/src/main/res/drawable/ws_login_red_btn_one.xml
+++ b/app/src/main/res/drawable/ws_login_red_btn_one.xml
@@ -21,7 +21,7 @@
<!-- 杈圭紭绾跨殑瀹藉害鍜岄鑹� -->
<stroke
android:width="2px"
- android:color="#b33618" />
+ android:color="@color/title_bg" />
-->
<!-- 涓棿娓愬彉锛岃搴�0浠庡乏寰�鍙筹紝姝e�间负閫嗘椂閽堬紝270搴︿负浠庝笂鍒颁笅 -->
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index 4eeafd8..a9e2199 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -82,4 +82,17 @@
android:textSize="@dimen/home_text_size" />
</LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="bottom|center_horizontal">
+
+ <TextView
+ android:id="@+id/socketState"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="20dp"
+ android:text="宸茶繛鎺ユ暟鎹腑蹇�" />
+ </LinearLayout>
+
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/edt_dialog.xml b/app/src/main/res/layout/edt_dialog.xml
index 4676039..a33d371 100644
--- a/app/src/main/res/layout/edt_dialog.xml
+++ b/app/src/main/res/layout/edt_dialog.xml
@@ -21,8 +21,6 @@
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:hint="璇疯緭鍏ヤ俊鎭�"
- android:inputType="number"
- android:maxLength="8"
android:textColor="#000000" />
diff --git a/app/src/main/res/layout/item_recharge.xml b/app/src/main/res/layout/item_recharge.xml
index b628620..06bab4b 100644
--- a/app/src/main/res/layout/item_recharge.xml
+++ b/app/src/main/res/layout/item_recharge.xml
@@ -25,7 +25,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:text="韬唤璇佸彿"
+ android:text="鐢ㄦ埛缂栧彿"
android:textSize="14sp" />
<TextView
diff --git a/app/src/main/res/layout/text_dialog.xml b/app/src/main/res/layout/text_dialog.xml
index bece331..e7d8389 100644
--- a/app/src/main/res/layout/text_dialog.xml
+++ b/app/src/main/res/layout/text_dialog.xml
@@ -41,6 +41,7 @@
android:paddingTop="5dp"
android:paddingRight="15dp"
android:paddingBottom="5dp"
+ android:textColor="#000000"
android:text="纭"
android:textSize="@dimen/text_size" />
--
Gitblit v1.8.0