From 732e4481b8437719468cddfb4971ee54a4b36625 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 02 四月 2024 09:48:38 +0800 Subject: [PATCH] 修复设备序列号没有设置地址时一直变化的bug --- app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java | 159 ++++++++++++++--------------------------------------- 1 files changed, 42 insertions(+), 117 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java index 7c47f40..aa20f02 100644 --- a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java @@ -1,11 +1,9 @@ package com.dayu.recharge.activity; import android.content.Context; -import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; -import android.view.View; import android.view.inputmethod.InputMethodManager; import com.dayu.recharge.MyApplication; @@ -14,12 +12,7 @@ import com.dayu.recharge.dbBean.IpBean; import com.dayu.recharge.utils.TipUtil; import com.example.pickerviewlibrary.picker.TeaPickerView; -import com.example.pickerviewlibrary.picker.entity.PickerData; -import com.example.pickerviewlibrary.picker.listener.OnPickerClickListener; import com.tencent.bugly.crashreport.CrashReport; - -import java.lang.reflect.Method; -import java.util.zip.CRC32; /** * Copyright (C), 2023, @@ -51,66 +44,48 @@ } private void initView() { - adminBinding.setupOk.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (!TextUtils.isEmpty(adminData.getCun()) - && !TextUtils.isEmpty(adminBinding.adminSerial.getText().toString()) - ) { - if (Integer.valueOf(adminBinding.adminSerial.getText().toString()) <= 16777215) { - adminBinding.adminAddressCode.setText(adminData.getAddressCode()); - adminData.setSerial(adminBinding.adminSerial.getText().toString()); - baseDao.adminDao().insert(adminData); - setData(); - IpBean ipBean = MyApplication.myApplication.ipBean; - if (ipBean != null) { - MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode()); - } - TipUtil.show(AdminSetupActivity.this, "璁剧疆鎴愬姛", new TipUtil.TipListener() { - @Override - public void onCancle() { - AdminSetupActivity.this.finish(); - } - }); - } else { - TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215"); + adminBinding.setupOk.setOnClickListener(v -> { + if (!TextUtils.isEmpty(adminData.getCun()) + && !TextUtils.isEmpty(adminBinding.adminSerial.getText().toString()) + ) { + if (Integer.valueOf(adminBinding.adminSerial.getText().toString()) <= 16777215) { + adminBinding.adminAddressCode.setText(adminData.getAddressCode()); + adminData.setSerial(adminBinding.adminSerial.getText().toString()); + baseDao.adminDao().insert(adminData); + setData(); + IpBean ipBean = MyApplication.myApplication.ipBean; + if (ipBean != null) { + MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode()); } + TipUtil.show(AdminSetupActivity.this, "璁剧疆鎴愬姛", () -> AdminSetupActivity.this.finish()); } else { - TipUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�"); + TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215"); } + } else { + TipUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�"); } }); - adminBinding.choseAddress.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(adminBinding.adminSerial.getWindowToken(), 0); - intiPickerView(); - } + adminBinding.choseAddress.setOnClickListener(v -> { + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(adminBinding.adminSerial.getWindowToken(), 0); + intiPickerView(); }); pickerView = new TeaPickerView(this); - new Thread(new Runnable() { - @Override - public void run() { - pickerView.initAddressData(); - } - }).start(); + new Thread(() -> pickerView.initAddressData()).start(); } private void setData() { try { - AdminDataBean adminData = baseDao.adminDao().findFirst(); - - if (adminData != null) { - this.adminData = adminData; + adminData = baseDao.adminDao().findFirst(); + if (adminData.isHasAddressCode()) { adminBinding.adminSerial.setText(adminData.getSerial()); adminBinding.adminAddressCode.setText(adminData.getAddressCode()); adminBinding.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun()); } else { - adminBinding.adminSerial.setText("12" + generateUniqueNumber(getSN())); + adminBinding.adminSerial.setText(adminData.getSerial()); } } catch (Exception e) { @@ -130,28 +105,25 @@ .setRadius(25) .build(); pickerView.show(adminBinding.choseAddress); - pickerView.setOnPickerClickListener(new OnPickerClickListener() { - @Override - public void OnPickerClick(PickerData pickerData) { - adminData.setSheng("娌冲崡"); - adminData.setShi(pickerData.getFirstText().getName()); - adminData.setXian(pickerData.getSecondText().getName()); - if (pickerData.getThirdText() != null) { - adminData.setZhen(pickerData.getThirdText().getName()); - } else { - adminData.setZhen(""); - } - if (pickerData.getFourthText() != null) { - adminData.setCun(pickerData.getFourthText().getName()); - adminData.setAddressCode(pickerData.getFourthText().getCode()); - } else { - adminData.setCun(""); - adminData.setAddressCode(pickerData.getSecondText().getCode()); - } - adminBinding.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun()); - adminBinding.adminAddressCode.setText(adminData.getAddressCode()); - pickerView.dismiss(); + pickerView.setOnPickerClickListener(pickerData -> { + adminData.setSheng("娌冲崡"); + adminData.setShi(pickerData.getFirstText().getName()); + adminData.setXian(pickerData.getSecondText().getName()); + if (pickerData.getThirdText() != null) { + adminData.setZhen(pickerData.getThirdText().getName()); + } else { + adminData.setZhen(""); } + if (pickerData.getFourthText() != null) { + adminData.setCun(pickerData.getFourthText().getName()); + adminData.setAddressCode(pickerData.getFourthText().getCode()); + } else { + adminData.setCun(""); + adminData.setAddressCode(pickerData.getSecondText().getCode()); + } + adminBinding.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun()); + adminBinding.adminAddressCode.setText(adminData.getAddressCode()); + pickerView.dismiss(); }); } catch (Exception e) { CrashReport.postCatchedException(e); @@ -160,52 +132,5 @@ } } - public static String getSN() { - String serial = null; - try { - Class<?> c = Class.forName("android.os.SystemProperties"); - Method get = c.getMethod("get", String.class); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - try { - serial = (String) get.invoke(c, "ro.sunmi.serial"); - } catch (Exception e) { - e.printStackTrace(); - } - return serial; - } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - serial = Build.getSerial(); - return serial; - } else { - //瀹夊崜8浠ヤ笅浣跨敤Build.SERIAL鐩稿悓鏂瑰紡 - //return Build.SERIAL; - try { - serial = (String) get.invoke(c, "ro.serialno"); - } catch (Exception e) { - e.printStackTrace(); - } - return serial; - } - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } catch (NoSuchMethodException e) { - throw new RuntimeException(e); - } - } - - public static String generateUniqueNumber(String input) { - try { - // 浣跨敤CRC32鍝堝笇鍑芥暟 - CRC32 crc32 = new CRC32(); - crc32.update(input.getBytes()); - long crcValue = crc32.getValue(); - // 灏嗗搱甯屽�兼槧灏勫埌6浣嶆暟瀛楃殑鑼冨洿 - long sixDigitNumber = Math.abs(crcValue) % 1000000; - // 鏍煎紡鍖栦负6浣嶆暟瀛楃殑瀛楃涓� - return String.format("%06d", sixDigitNumber); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } } -- Gitblit v1.8.0