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;