From 3ce7d9cbccabf7f94d8203a98796599cd9dd5411 Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期二, 11 二月 2020 17:14:27 +0800
Subject: [PATCH] 修改了上坡起步。

---
 lib/src/main/java/com/anyun/exam/lib/RemoteService.java |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/lib/src/main/java/com/anyun/exam/lib/RemoteService.java b/lib/src/main/java/com/anyun/exam/lib/RemoteService.java
index 5cd8834..d6ba6fd 100644
--- a/lib/src/main/java/com/anyun/exam/lib/RemoteService.java
+++ b/lib/src/main/java/com/anyun/exam/lib/RemoteService.java
@@ -16,6 +16,7 @@
 
 import androidx.annotation.Nullable;
 
+import java.io.UnsupportedEncodingException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
@@ -52,8 +53,18 @@
 
         @Override
         public void SendCmd(int cmd, String value) throws RemoteException {
-            Log.d(TAG, "Process " + Process.myPid() + " Thread " + Thread.currentThread().getId() + " RecvMsgFromMainProc cmd = " + String.format(" %04X ", cmd) + " length " + value.length() + " value " + value.trim());
-            MainProcMsgEntry(cmd, value.trim());
+            if (cmd == 0x8100) {
+                try {
+                    byte [] file = value.getBytes("ISO-8859-1");
+                    Log.d(TAG, byte2hex(file));
+                    MainProcBinMsgEntry(cmd, file, file.length);
+                } catch (UnsupportedEncodingException e) {
+                    Log.d(TAG, "UnsupportedEncodingException");
+                }
+            } else {
+                Log.d(TAG, "Process " + Process.myPid() + " Thread " + Thread.currentThread().getId() + " RecvMsgFromMainProc cmd = " + String.format(" %04X ", cmd) + " length " + value.length() + " value " + value.trim());
+                MainProcMsgEntry(cmd, value.trim());
+            }
         }
     };
     @Nullable
@@ -108,6 +119,9 @@
         if (!mIsServiceDestroyed.get()){
             onMessageArrived(cmd, value);
         }
+
+
+
         Log.d(TAG, "SendMsgToMainProc cmd = " + String.format("%04X", cmd) + " json = " + value);
     }
 
@@ -136,6 +150,23 @@
         }
     }
 
+    private String byte2hex(byte [] buffer){
+        StringBuilder h = new StringBuilder();
+
+        Log.d(TAG, "byte buffer length = " + buffer.length);
+
+        for(int i = 0; i < buffer.length; i++){
+            String temp = Integer.toHexString(buffer[i] & 0xFF);
+            if(temp.length() == 1){
+                temp = "0" + temp;
+            }
+            h.append(temp);
+            h.append(" ");
+        }
+
+        return h.toString();
+    }
+
     // Used to load the 'native-lib' library on application startup.
     static {
         System.loadLibrary("native-lib");
@@ -143,4 +174,5 @@
 
     public native void startNative();
     public native void MainProcMsgEntry(int cmd, String value);
+    public native void MainProcBinMsgEntry(int cmd, byte []data, int length);
 }

--
Gitblit v1.8.0