소스 검색

修改mac匹配不区分大小写,修改显示调试信息不区分mac地址,修改语音播报重复3次

weizhengliang 2 년 전
부모
커밋
94678341dc
2개의 변경된 파일41개의 추가작업 그리고 25개의 파일을 삭제
  1. 40 24
      app/src/main/java/com/wdkl/ncs/s433/receiver/MainActivity.java
  2. 1 1
      app/src/main/java/com/wdkl/ncs/s433/receiver/utils/SpeechUtil.java

+ 40 - 24
app/src/main/java/com/wdkl/ncs/s433/receiver/MainActivity.java

@@ -64,6 +64,7 @@ public class MainActivity extends SerialPortActivity  {
     String callbackString = "";
 
     private SmdtManager smdtManager;
+    private boolean debugShow = false;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -253,9 +254,44 @@ public class MainActivity extends SerialPortActivity  {
                 String tcpData = tempData.substring(sepIndex);
                 Log.e("Application", "tempData: " + tempData + ", mac: " + mac + ", tcpData: " + tcpData);
 
+                TcpModel tcpModel = TcpModel.getModelByJson(tcpData);
+                if (tcpModel != null) {
+                    //调试信息,给所有能收到433信号的点阵屏发送,1分钟后清除
+                    if (TcpAction.S433Action.EXIST == tcpModel.getAction()) {
+                        if (debugShow) {
+                            return;
+                        }
+
+                        debugShow = true;
+                        sendString(callbackString);
+
+                        //显示调试信息
+                        final String debugInfo = "host IP: " + localIP
+                                + "\nhost mac: " + macAddress
+                                + "\nled IP: " + SettingConfig.getLedIp(getApplicationContext())
+                                + "\napp version: " + BuildConfig.VERSION_NAME;
+                        LedManagerUtils.getInstance().updateProgram(debugInfo, 1);
+                        //1分钟后清除调试信息
+                        new Thread(new Runnable() {
+                            @Override
+                            public void run() {
+                                try {
+                                    Thread.sleep(60000);
+
+                                    debugShow = false;
+                                    LedManagerUtils.getInstance().updateProgram(debugInfo, 2);
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                }
+                            }
+                        }).start();
+
+                        return;
+                    }
+                }
+
                 //如果是发送给本机,则返回ack,并处理点阵屏数据
-                if (macAddress.equals(mac)) {
-                    TcpModel tcpModel = TcpModel.getModelByJson(tcpData);
+                if (macAddress.equalsIgnoreCase(mac)) {
                     if (tcpModel != null) {
                         parseTcpData(tcpModel);
                     }
@@ -263,7 +299,7 @@ public class MainActivity extends SerialPortActivity  {
                     sendString(callbackString);
                 }
 
-                if (BuildConfig.DEBUG) {
+                //if (BuildConfig.DEBUG) {
                     //调试版本输出信息
                     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     final String showMsg = sdf.format(new Date()) + " 收到数据:" + data + "\n";
@@ -276,7 +312,7 @@ public class MainActivity extends SerialPortActivity  {
                             }
                         }
                     });
-                }
+                //}
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -378,26 +414,6 @@ public class MainActivity extends SerialPortActivity  {
                 long time = Long.parseLong(jsonObject.getString("time")) * 1000;
 
                 setSysTime(time, timezone);
-            } else if (TcpAction.S433Action.EXIST == tcpModel.getAction()) {
-                //显示调试信息
-                final String debugInfo = "host IP: " + localIP
-                        + "\nhost mac: " + macAddress
-                        + "\nled IP: " + SettingConfig.getLedIp(getApplicationContext())
-                        + "\napp version: " + BuildConfig.VERSION_NAME;
-                LedManagerUtils.getInstance().updateProgram(debugInfo, 1);
-                //1分钟后清除调试信息
-                new Thread(new Runnable() {
-                    @Override
-                    public void run() {
-                        try {
-                            Thread.sleep(60000);
-
-                            LedManagerUtils.getInstance().updateProgram(debugInfo, 2);
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-                    }
-                }).start();
             }
         } catch (Exception ex) {
             ex.printStackTrace();

+ 1 - 1
app/src/main/java/com/wdkl/ncs/s433/receiver/utils/SpeechUtil.java

@@ -24,7 +24,7 @@ public class SpeechUtil {
     private static SpeechUtil speech;
     private int loopIndex = 0;
     private int speakIndex = 0;
-    private int loopCount = 5;
+    private int loopCount = 3;
     private boolean isStop = true;
     public volatile static ArrayList<String> speechTextList = new ArrayList<>();
     private boolean isSpeechLoop = true;