-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":507,"versionName":"2008281155","enabled":true,"outputFile":"ICSer_V507_2008281155_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V507_2008281155_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":508,"versionName":"2008282016","enabled":true,"outputFile":"ICSer_V508_2008282016_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V508_2008282016_release.apk","properties":{}}]
\ No newline at end of file
//更新系统的IMEI\r
boolean ret=DeviceInfoUtil.updateImei(mRuntime);\r
ICLogger.i("Update IMEI "+ret);\r
- if (is_login_send_success) {\r
+ //只有曾经login成功过,且上一次成功时间超过15分钟,才会自主断开网络。\r
+ long currenttime=System.currentTimeMillis();\r
+ ICLogger.i("只有曾经login或者心跳发送成功过,且上一次成功时间超过15分钟,才会自主断开网络! last longin time "+\r
+ mRuntime.lastLoginSuccessTime+" ms from last login time "+(currenttime-mRuntime.lastLoginSuccessTime));\r
+ if ((mRuntime.lastLoginSuccessTime>0) && ((currenttime- mRuntime.lastLoginSuccessTime) > 15 * 60 * 1000)) {\r
+ ICLogger.i("超时自主断开网络!");\r
+ CoreService.getInstance().disconnect_server();\r
+ }else {\r
+ if (is_login_send_success) {\r
connection.send(protocolAPIHelper.genStringMessage("heartbeat", protocolAPIHelper.getHeartbeatMSG(mRuntime)));\r
Observable.timer(1000L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
- public void call(Long param1Long) {\r
- connection.send(protocolAPIHelper.genStringMessage("binding", protocolAPIHelper.getBindingMSG()));\r
-\r
- }\r
+ public void call(Long param1Long) {\r
+ connection.send(protocolAPIHelper.genStringMessage("binding", protocolAPIHelper.getBindingMSG()));\r
+ }\r
});\r
+ } else {\r
+ connection.send(protocolAPIHelper.genStringMessage("heartbeat", protocolAPIHelper.getLoginMSG(mRuntime)));\r
+ }\r
}\r
- else\r
- connection.send(protocolAPIHelper.genStringMessage("heartbeat", protocolAPIHelper.getLoginMSG(mRuntime)));\r
-\r
}\r
}\r
\r
paramRuntime.setServerProtocolConnected(true);\r
// isConnected = true;\r
is_heartBeat_send_success=true;\r
-\r
+ paramRuntime.lastLoginSuccessTime=System.currentTimeMillis();\r
// LauncherCtrl.getInstance(this.mContext).setStatusBarIcon("server_connected", STATUS_BAR_STATE_SERVER_CONNECTED_ON);\r
// Deliver.triggerSendThread(); //链接上就尝试清除 buffer中的数据\r
\r
}\r
}else if (paramStringMessage.cmd().equals("login")) {\r
//广播服务器连接成功的消息\r
- // paramRuntime.getContextProxy().sendBroadcastServerConnectionChanged(true);\r
+ paramRuntime.getContextProxy().sendBroadcastServerConnectionChanged(true);\r
//登录包收到就停止重链接服务器\r
CoreService.getInstance().stopConnectionRetryTimer();\r
is_login_send_success=true;\r
\r
//心跳开始发送的时候,先重置response检测标志\r
is_heartBeat_send_success=false;\r
+\r
+ paramRuntime.lastLoginSuccessTime=System.currentTimeMillis();\r
//发送心跳包\r
Observable.timer(3500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
public void call(Long param1Long) {\r