diff --git a/C5/app/src/main/AndroidManifest.xml b/C5/app/src/main/AndroidManifest.xml
index d4d43dc..9d9c109 100644
--- a/C5/app/src/main/AndroidManifest.xml
+++ b/C5/app/src/main/AndroidManifest.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.sunvote.xpadapp"
android:versionCode="70"
- android:versionName="1.4.0.2">
+ android:versionName="1.4.0.3">
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java b/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java
index 1b459e7..75c0e42 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java
@@ -274,7 +274,8 @@ public class MainActivity extends BaseActivity implements ComListener {
clearApkFile();
FirmUpdateFragment.clearUpdateFile();
- setOnlineFragment();
+// setOnlineFragment();
+ setOfflineFragment();
if(!isUnlock()){
setUnlockScreen();
}
@@ -1713,7 +1714,7 @@ public class MainActivity extends BaseActivity implements ComListener {
}
- mOnlineInfo = info;
+ mOnlineInfo = (OnLineInfo) info.clone();
runOnUiThread(new Runnable() {
@Override
public void run() {
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/presenter/XPadPresenter.java b/C5/app/src/main/java/com/sunvote/xpadapp/presenter/XPadPresenter.java
index 69e8bb2..2ef5366 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/presenter/XPadPresenter.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/presenter/XPadPresenter.java
@@ -193,7 +193,7 @@ public class XPadPresenter implements ComListener {
public void onOnLineEvent(OnLineInfo info) {
lastRecvHeartBeatTime = System.currentTimeMillis();
cl.onOnLineEvent(info);
- if(mModelInfo==null){
+ if(mModelInfo==null && info.onLine == 1){
getWorkMode();
}
try {
@@ -201,7 +201,7 @@ public class XPadPresenter implements ComListener {
} catch (InterruptedException e) {
LogUtil.e(TAG,e);
}
- if(mKeypadInfo == null){
+ if(mKeypadInfo == null && info.onLine == 1){
getKeypadParam();
}
diff --git a/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApi.java b/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApi.java
index 03fc79e..bb5b399 100644
--- a/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApi.java
+++ b/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApi.java
@@ -93,13 +93,13 @@ public class XPadApi implements XPadApiInterface {
mBuffer[4] = 0x70;
mBuffer[5] = 0x03;
writeToCom(mBuffer);
- }
+
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
- byte[] mBuffer = new byte[0x1F + 4];
+ mBuffer = new byte[0x1F + 4];
Arrays.fill(mBuffer, (byte) 0x0);
mBuffer[0] = (byte) 0xF5;
mBuffer[1] = (byte) 0xAA;
@@ -109,6 +109,10 @@ public class XPadApi implements XPadApiInterface {
mBuffer[4] = 0x70;
mBuffer[5] = 0x04;
writeToCom(mBuffer);
+ }else{
+ onLineInfo.onLine = 2 ;
+ m_listener.onOnLineEvent(onLineInfo);
+ }
return true;
}
});
diff --git a/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApiInterface.java b/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApiInterface.java
index 116e8df..2b164e3 100644
--- a/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApiInterface.java
+++ b/C5/app/src/main/java/com/sunvote/xpadcomm/XPadApiInterface.java
@@ -181,6 +181,23 @@ public interface XPadApiInterface {
return Arrays.hashCode(new Object[]{onLine, idMode, chan, rssi, tx, rx, baseId, keyId, keySn, comError});
}
+
+ @Override
+ public Object clone(){
+ OnLineInfo lineInfo = new OnLineInfo();
+ lineInfo.onLine = onLine;
+ lineInfo.idMode = idMode;
+ lineInfo.chan = chan;
+ lineInfo.rssi = rssi;
+ lineInfo.tx = tx;
+ lineInfo.rx = rx;
+ lineInfo.baseId = baseId;
+ lineInfo.keyId = keyId;
+ lineInfo.keySn = new String(keySn);
+ lineInfo.comError = comError;
+
+ return lineInfo;
+ }
}
diff --git a/C5/app/src/main/java/com/sunvote/xpadcomm/usb/UsbTransferManager.java b/C5/app/src/main/java/com/sunvote/xpadcomm/usb/UsbTransferManager.java
index a5e51c8..515802f 100644
--- a/C5/app/src/main/java/com/sunvote/xpadcomm/usb/UsbTransferManager.java
+++ b/C5/app/src/main/java/com/sunvote/xpadcomm/usb/UsbTransferManager.java
@@ -272,6 +272,9 @@ public class UsbTransferManager {
workHandler.post(usbConnectionReceiverTask);
}
}else{
+ if(onUsbConnectListener != null){
+ onUsbConnectListener.onConnect(false);
+ }
LogUtil.d(TAG, "未连接:" + ref);
}
return ref;