From 75417d96b932dc5da0b3457fa1bc663fa64034f7 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 29 十一月 2023 17:45:49 +0800
Subject: [PATCH] 修改权限逻辑,获取权限后再生成数据库 数据库保存在sd防止用户删除后没有数据了

---
 app/src/main/java/com/dayu/recharge/MyApplication.java               |  128 ++++++++++++-------------
 app/src/main/java/com/dayu/recharge/net/SocketNet.java               |   37 +++---
 app/src/main/java/com/dayu/recharge/activity/LoginActivity.java      |   41 +++++++-
 app/src/main/java/com/dayu/recharge/activity/SysIpActivity.java      |    8 
 app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java        |   11 +
 app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java    |   12 +-
 app/src/main/java/com/dayu/recharge/utils/DeviceNumberUtils.java     |    3 
 app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java |   13 +-
 app/src/main/java/com/dayu/recharge/activity/HomeActivity.java       |   15 ---
 9 files changed, 140 insertions(+), 128 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index da04377..41f25f0 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -1,6 +1,7 @@
 package com.dayu.recharge;
 
 import android.app.Application;
+import android.nfc.Tag;
 import android.os.Handler;
 import android.os.Message;
 import android.text.TextUtils;
@@ -9,6 +10,7 @@
 import com.dayu.recharge.dao.BaseDaoSingleton;
 import com.dayu.recharge.dbBean.DeviceNumber;
 import com.dayu.recharge.dbBean.IpBean;
+import com.dayu.recharge.utils.DeviceNumberUtils;
 import com.dayu.recharge.utils.ToastUtil;
 import com.easysocket.EasySocket;
 import com.easysocket.config.EasySocketOptions;
@@ -34,7 +36,7 @@
 import java.util.TimerTask;
 
 public class MyApplication extends Application {
-
+    public static String TAG = "MyApplication";
     public static MyApplication myApplication;
     private String address;
 
@@ -52,7 +54,8 @@
         myApplication = this;
         isAidl = true;
         AidlUtil.getInstance().connectPrinterService(this);
-        initEasySocket(false, null);
+
+//        initEasySocket(false, null);
 
         CrashReport.initCrashReport(getApplicationContext(), "45551598b8", true);
     }
@@ -144,86 +147,79 @@
         if (!TextUtils.isEmpty(ip)
                 && !TextUtils.isEmpty(String.valueOf(port))
                 && !TextUtils.isEmpty(addressCode)) {
-            if (EasySocket.getInstance().getDefconnection() != null) {
-                isDoInitMachine = true;
-                InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean();
-                initMachineRequestBean.setControl("01");
-                //130107200008	112	闈掓硥灞呭浼�
-                initMachineRequestBean.setAddress(addressCode);
-                initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this));
-                initMachineRequestBean.setAFN("91");
-//
-                Log.i("Socket", "娉ㄥ唽鎶ユ枃");
-                SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() {
-                    @Override
-                    public void onSocketResponse(SocketData readData) {
 
-                        if (CRC8.isCRC8(readData.getOriginDataBytes())) {
-                            //鏍¢獙CRC鎴愬姛
-                            InitMachineBackBean initMachineBackBean = new InitMachineBackBean();
+            Log.i("initMachineRequestBean", "寮�濮嬫敞鍐岃澶�");
+                if (EasySocket.getInstance().getDefconnection() != null) {
+                    isDoInitMachine = true;
+                    InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean();
+                    initMachineRequestBean.setControl("01");
+                    //130107200008	112	闈掓硥灞呭浼�
+                    initMachineRequestBean.setAddress(addressCode);
+                    initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this));
+                    initMachineRequestBean.setAFN("91");
+                    SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() {
+                        @Override
+                        public void onSocketResponse(SocketData readData) {
 
-                            String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18));
-                            //纭鏀跺埌娉ㄥ唽鍙锋姤鏂�
-                            ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean();
-                            confirmMachineRequestBean.setControl("01");
-                            //130107200008	112	闈掓硥灞呭浼�
-                            confirmMachineRequestBean.setAddress(addressCode);
-                            confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this));
-                            confirmMachineRequestBean.setAFN("92");
-                            confirmMachineRequestBean.setInitCode(initCode);
-                            Log.i("Socket", "纭娉ㄥ唽鎶ユ枃");
-                            SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() {
+                            if (CRC8.isCRC8(readData.getOriginDataBytes())) {
+                                //鏍¢獙CRC鎴愬姛
+                                InitMachineBackBean initMachineBackBean = new InitMachineBackBean();
+                                String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18));
+                                //纭鏀跺埌娉ㄥ唽鍙锋姤鏂�
+                                ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean();
+                                confirmMachineRequestBean.setControl("01");
+                                //130107200008	112	闈掓硥灞呭浼�
+                                confirmMachineRequestBean.setAddress(addressCode);
+                                confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this));
+                                confirmMachineRequestBean.setAFN("92");
+                                confirmMachineRequestBean.setInitCode(initCode);
+                                Log.i("Socket", "纭娉ㄥ唽鎶ユ枃");
+                                SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() {
 
-                                @Override
-                                public void onSocketResponse(SocketData readData) {
-                                    isDoInitMachine = false;
-                                    if (CRC8.isCRC8(readData.getOriginDataBytes())) {
-                                        byte stateByte = readData.getBodyBytes()[2];
-                                        String state = BcdUtil.bcdToStr(stateByte);
-                                        //BCD鐮�00鎴愬姛01澶辫触(娉ㄥ唽鍙蜂笉鏄湇鍔″櫒杩斿洖淇℃伅)
-                                        if (state.equalsIgnoreCase("00")) {
-                                            //淇濆瓨璁惧娉ㄥ唽鍙�
-                                            DeviceNumber deviceNumber = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
-                                            if (deviceNumber != null) {
-                                                deviceNumber.setDeviceRegistrationNumber(initCode);
-                                            } else {
-                                                deviceNumber = new DeviceNumber();
-                                                deviceNumber.setDeviceRegistrationNumber(initCode);
-                                            }
-                                            BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().insert(deviceNumber);
-
+                                    @Override
+                                    public void onSocketResponse(SocketData readData) {
+                                        isDoInitMachine = false;
+                                        if (CRC8.isCRC8(readData.getOriginDataBytes())) {
+                                            byte stateByte = readData.getBodyBytes()[2];
+                                            String state = BcdUtil.bcdToStr(stateByte);
+                                            //BCD鐮�00鎴愬姛01澶辫触(娉ㄥ唽鍙蜂笉鏄湇鍔″櫒杩斿洖淇℃伅)
+                                            if (state.equalsIgnoreCase("00")) {
+                                                //淇濆瓨璁惧娉ㄥ唽鍙�
+                                                if (!TextUtils.isEmpty(initCode)){
+                                                    DeviceNumberUtils.setDeviceNumber(initCode);
+                                                }
+                                                Log.i(TAG, "onSuccess: 璁惧娉ㄥ唽鍙凤細" + initCode);
 //                                            WSHelper.getInstance(MyApplication.this).put("initCode", initCode);
-                                            ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�");
+                                                ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�");
+                                            } else {
+                                                //鏍¢獙CRC閿欒
+                                                ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
+                                            }
                                         } else {
                                             //鏍¢獙CRC閿欒
-                                            ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
+                                            ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒");
                                         }
-                                    } else {
-                                        //鏍¢獙CRC閿欒
-                                        ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒");
                                     }
-                                }
 
-                                @Override
-                                public void onSocketError(int code, String msg) {
+                                    @Override
+                                    public void onSocketError(int code, String msg) {
 
-                                }
-                            });
-                        } else {//鏍¢獙CRC閿欒
-                            ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒");
+                                    }
+                                });
+                            } else {//鏍¢獙CRC閿欒
+                                ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒");
+                            }
                         }
-                    }
 
-                    @Override
-                    public void onSocketError(int code, String msg) {
+                        @Override
+                        public void onSocketError(int code, String msg) {
 
-                    }
-                });
+                        }
+                    });
 
+                }
             }
 
-
-        }
     }
 
     private void createSocket(String ip, int port) {
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 cfac406..7c47f40 100644
--- a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
@@ -61,20 +61,17 @@
                         adminBinding.adminAddressCode.setText(adminData.getAddressCode());
                         adminData.setSerial(adminBinding.adminSerial.getText().toString());
                         baseDao.adminDao().insert(adminData);
-                        MyApplication.myApplication.initEasySocket(false, null);
-
+                        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();
                             }
                         });
-                        setData();
-                        IpBean ipBean = baseDao.ipDao().findFirst();
-                        if (ipBean != null) {
-                            MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode());
-                        }
-
                     } else {
                         TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
                     }
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 fa0d0f9..fd36401 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
@@ -112,12 +112,12 @@
 
     }
 
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        if (mNfcAdapter != null)
-            mNfcAdapter.disableReaderMode(this);
-    }
+//    @Override
+//    protected void onDestroy() {
+//        super.onDestroy();
+//        if (mNfcAdapter != null)
+//            mNfcAdapter.disableReaderMode(this);
+//    }
 
     /**
      * 妫�娴嬪伐浣�,鍒ゆ柇璁惧鐨凬FC鏀寔鎯呭喌
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 62eae53..4d52f56 100644
--- a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -35,25 +35,10 @@
         homeBinding = ActivityHomeBinding.inflate(LayoutInflater.from(this));
         setContentView(homeBinding.getRoot());
         initView();
-        getPermission();
         rushState();
     }
 
-    private void getPermission() {
-        PermissionX.init(HomeActivity.this).permissions(Manifest.permission.READ_PHONE_STATE)
-                .onExplainRequestReason((scope, deniedList) -> {
 
-// val message = "PermissionX闇�瑕佹偍鍚屾剰浠ヤ笅鏉冮檺鎵嶈兘姝e父浣跨敤"
-                })
-                .request((allGranted, grantedList, deniedList) -> {
-                    if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃
-
-                    } else {//鎮ㄦ嫆缁濅簡濡備笅鏉冮檺锛�$deniedList
-
-
-                    }
-                });
-    }
 
     public void rushState() {
         if (MyApplication.myApplication.isConncet) {
diff --git a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
index 673b1de..91b0873 100644
--- a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -1,14 +1,22 @@
 package com.dayu.recharge.activity;
 
+import android.Manifest;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.Toast;
 
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.dayu.recharge.MyApplication;
+import com.dayu.recharge.dao.BaseDaoSingleton;
 import com.dayu.recharge.databinding.ActivityLoginBinding;
 import com.dayu.recharge.dbBean.PassWordBean;
 import com.dayu.recharge.utils.WSMD5;
+import com.permissionx.guolindev.PermissionX;
+
+import java.io.File;
 
 
 /**
@@ -17,7 +25,7 @@
  * Date: 2023-11-10 19:52
  * Description: 鐧诲綍鐣岄潰
  */
-public class LoginActivity extends BaseActivity {
+public class LoginActivity extends AppCompatActivity {
 
     ActivityLoginBinding binding;
     PassWordBean passWordBean;
@@ -27,11 +35,7 @@
         super.onCreate(savedInstanceState);
         binding = ActivityLoginBinding.inflate(LayoutInflater.from(this));
         setContentView(binding.getRoot());
-        try {
-            passWordBean = baseDao.loginPsDao().findFirst();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+        getPermission();
         initView();
     }
 
@@ -48,4 +52,29 @@
             }
         });
     }
+
+    private void getPermission() {
+        PermissionX.init(LoginActivity.this).permissions(Manifest.permission.READ_PHONE_STATE,
+                        Manifest.permission.READ_EXTERNAL_STORAGE,
+                        Manifest.permission.WRITE_EXTERNAL_STORAGE)
+                .onExplainRequestReason((scope, deniedList) -> {
+                })
+                .request((allGranted, grantedList, deniedList) -> {
+                    if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃
+                        MyApplication.myApplication.initEasySocket(false, null);
+                        try {
+                            File file = new File(BaseDaoSingleton.SqlitePath);
+                            if (!file.exists()) {
+                                file.mkdirs();
+                            }
+                            passWordBean = BaseDaoSingleton.getInstance(this).loginPsDao().findFirst();
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    } else {//鎮ㄦ嫆缁濅簡濡備笅鏉冮檺锛�$deniedList
+
+
+                    }
+                });
+    }
 }
diff --git a/app/src/main/java/com/dayu/recharge/activity/SysIpActivity.java b/app/src/main/java/com/dayu/recharge/activity/SysIpActivity.java
index d0c2d12..9d3dd15 100644
--- a/app/src/main/java/com/dayu/recharge/activity/SysIpActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/SysIpActivity.java
@@ -52,7 +52,7 @@
                     String oldIp = ipBean.getIp();
                     int oldPort = ipBean.getPort();
                     if (!oldIp.equals(ipBinding.ip.getText().toString())|| oldPort != Integer.valueOf(ipBinding.port.getText().toString())) {
-                        DeviceNumberUtils.setDeviceNumber("");
+//                        DeviceNumberUtils.setDeviceNumber("");
                     }
                 }
                 if (ipBean == null) {
@@ -64,9 +64,9 @@
                 AdminDataBean adminData = baseDao.adminDao().findFirst();
                 //淇敼IP鍚庨噸鏂拌繛鎺�
                 MyApplication.myApplication.initEasySocket(false, null);
-                if (adminData != null) {
-                    MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode());
-                }
+//                if (adminData != null) {
+//                    MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode());
+//                }
                 Toast.makeText(SysIpActivity.this, "淇濆瓨鎴愬姛", Toast.LENGTH_LONG).show();
             }
         });
diff --git a/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java b/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java
index c55fdc6..07d53c1 100644
--- a/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java
+++ b/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java
@@ -1,11 +1,14 @@
 package com.dayu.recharge.dao;
 
 import android.content.Context;
+import android.os.Environment;
 import android.os.FileUtils;
 
 import androidx.room.Room;
 
 import com.dayu.recharge.utils.MyFileUtil;
+
+import java.io.File;
 
 /**
  * Copyright (C), 2023,
@@ -16,19 +19,21 @@
 public class BaseDaoSingleton {
     public static AppDatabase baseDao;
     public static AppDatabase AsynchBaseDao;
-//MyFileUtil.SqlitePath +
+    public static String SqlitePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "dayu" + File.separator + "data" + File.separator;
+
+    //MyFileUtil.SqlitePath +
     public static AppDatabase getInstance(Context context) {
         if (baseDao == null) {
             baseDao = Room.databaseBuilder(
                     context,
                     AppDatabase.class,
-                    "ConfigurationData"
+                    SqlitePath + "ConfigurationData"
             ).allowMainThreadQueries().build();
         }
         return baseDao;
     }
 
-    public static AppDatabase getAsynchInstance(Context context){
+    public static AppDatabase getAsynchInstance(Context context) {
 
         if (AsynchBaseDao == null) {
             AsynchBaseDao = Room.databaseBuilder(
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 dd42aa1..3f0aaed 100644
--- a/app/src/main/java/com/dayu/recharge/net/SocketNet.java
+++ b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
@@ -2,6 +2,7 @@
 
 import android.content.Context;
 import android.os.Handler;
+import android.text.TextUtils;
 import android.util.Log;
 
 import com.dayu.recharge.activity.HomeActivity;
@@ -94,28 +95,22 @@
          */
         @Override
         public void onSocketConnSuccess(SocketAddress socketAddress) {
-            Log.i("SocketActionListener", "杩炴帴鎴愬姛");
+            Log.i("SocketActionListener1111", "杩炴帴鎴愬姛");
             MyApplication.myApplication.isConncet = true;
-            rushState();
-            DeviceNumber initCode = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
-            if (initCode == null && !MyApplication.myApplication.isDoInitMachine) {
-                new Handler().postDelayed(new Runnable() {
-                    @Override
-                    public void run() {
+            AdminDataBean adminData = BaseDaoSingleton.getInstance(MyApplication.myApplication).adminDao().findFirst();
+            Log.i("SocketActionListener1111", "isDoInitMachine==" + MyApplication.myApplication.isDoInitMachine + "");
+            if (!MyApplication.myApplication.isDoInitMachine) {
+                Log.i("SocketActionListener1111", "isDoInitMachine");
+                if (MyApplication.myApplication.ipBean != null && adminData != null) {
+                    if (!TextUtils.isEmpty(adminData.getAddressCode())) {
+                        Log.i("SocketActionListener1111", "initMachineRequestBean");
+                        MyApplication.myApplication.initMachineRequestBean(MyApplication.myApplication.ipBean.getIp(), MyApplication.myApplication.ipBean.getPort(), adminData.getAddressCode());
 
-                        AdminDataBean adminData = BaseDaoSingleton.getInstance(MyApplication.myApplication).adminDao().findFirst();
-                        if (MyApplication.myApplication.ipBean != null && adminData != null) {
-                            MyApplication.myApplication.initMachineRequestBean(MyApplication.myApplication.ipBean.getIp(), MyApplication.myApplication.ipBean.getPort(), adminData.getAddressCode());
-                        }
                     }
-                }, 500);
+                }
 
             }
-//            if (dataMessage != null) {
-//                EasySocket.getInstance().upMessage(dataMessage);
-//            }
-
-
+            rushState();
         }
 
         /**
@@ -176,8 +171,12 @@
     };
 
     private void rushState() {
-        if (HomeActivity.homeActivity != null) {
-            HomeActivity.homeActivity.rushState();
+        try {
+            if (HomeActivity.homeActivity != null) {
+                HomeActivity.homeActivity.rushState();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
     }
 
diff --git a/app/src/main/java/com/dayu/recharge/utils/DeviceNumberUtils.java b/app/src/main/java/com/dayu/recharge/utils/DeviceNumberUtils.java
index 47f0605..42a2ead 100644
--- a/app/src/main/java/com/dayu/recharge/utils/DeviceNumberUtils.java
+++ b/app/src/main/java/com/dayu/recharge/utils/DeviceNumberUtils.java
@@ -13,6 +13,7 @@
  */
 public class DeviceNumberUtils {
 
+    //   鑾峰彇鍏呭�兼満璁惧搴忓垪鍙�
     public static String getDeviceNumber() {
         DeviceNumber deviceNumber = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
         if (deviceNumber != null) {
@@ -22,7 +23,7 @@
         }
     }
 
-
+    //    璁剧疆鍏呭�兼満璁惧搴忓垪鍙�
     public static void setDeviceNumber(String deviceRegistrationNumber) {
         DeviceNumber deviceNumber = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
         if (deviceNumber != null) {

--
Gitblit v1.8.0