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