|
@@ -44,6 +44,7 @@ import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
|
|
import kotlinx.android.synthetic.main.callingdoor_main_lay.*
|
|
import kotlinx.android.synthetic.main.callingdoor_main_lay.*
|
|
|
|
+import kotlinx.android.synthetic.main.view_bed_name.*
|
|
import kotlinx.android.synthetic.main.view_title_layout.*
|
|
import kotlinx.android.synthetic.main.view_title_layout.*
|
|
import org.greenrobot.eventbus.EventBus
|
|
import org.greenrobot.eventbus.EventBus
|
|
import org.greenrobot.eventbus.Subscribe
|
|
import org.greenrobot.eventbus.Subscribe
|
|
@@ -72,6 +73,7 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
//通话界面fragment
|
|
//通话界面fragment
|
|
private var skyCallFragment: Fragment? = null
|
|
private var skyCallFragment: Fragment? = null
|
|
|
|
|
|
|
|
+ private var initialized :Boolean = false
|
|
private var updating :Boolean = false
|
|
private var updating :Boolean = false
|
|
|
|
|
|
private var clickTime : Long = 0
|
|
private var clickTime : Long = 0
|
|
@@ -310,6 +312,29 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
|
|
|
|
+ Constant.TCP_SERVER_URL = tcpSeverDTO.localIp
|
|
|
|
+ Constant.TCP_PORT = tcpSeverDTO.tcpPort
|
|
|
|
+ Constant.TCP_HEART_BEAT = tcpSeverDTO.readerIdleTime
|
|
|
|
+
|
|
|
|
+ //开启TCP连接
|
|
|
|
+ startTcp()
|
|
|
|
+ showMessage("tcp开始连接...host: " + Constant.TCP_SERVER_URL + ", port: " + Constant.TCP_PORT)
|
|
|
|
+
|
|
|
|
+ Thread(Runnable {
|
|
|
|
+ while (!initialized) {
|
|
|
|
+ runOnUiThread(Runnable {
|
|
|
|
+ initDevice()
|
|
|
|
+ })
|
|
|
|
+ try {
|
|
|
|
+ Thread.sleep(8000)
|
|
|
|
+ } catch (e: Exception) {
|
|
|
|
+ //
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }).start()
|
|
|
|
+ }
|
|
|
|
+
|
|
//显示设备信息
|
|
//显示设备信息
|
|
override fun showDeviceInfo(deviceInfo: DeviceRoomInfoVO) {
|
|
override fun showDeviceInfo(deviceInfo: DeviceRoomInfoVO) {
|
|
//显示床位信息界面
|
|
//显示床位信息界面
|
|
@@ -328,9 +353,22 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
Constant.DEVICE_SOFT_VER = deviceInfo.softVer
|
|
Constant.DEVICE_SOFT_VER = deviceInfo.softVer
|
|
Constant.DEVICE_HARD_VER = deviceInfo.hardVer
|
|
Constant.DEVICE_HARD_VER = deviceInfo.hardVer
|
|
Constant.DEVICE_NAME = deviceInfo.name
|
|
Constant.DEVICE_NAME = deviceInfo.name
|
|
|
|
+ if (deviceInfo.status != null) {
|
|
|
|
+ Constant.DEVICE_STATUS = deviceInfo.status
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ initialized = true
|
|
view_title_layout_tv_hospital_name.text = deviceInfo.hospitalName + deviceInfo.partName
|
|
view_title_layout_tv_hospital_name.text = deviceInfo.hospitalName + deviceInfo.partName
|
|
- tv_room_name.text = Constant.ROOM_NAME
|
|
|
|
|
|
+ if (TextUtils.isEmpty(Constant.SIP_ID)) {
|
|
|
|
+ showMessage("SIP ID为空")
|
|
|
|
+ }
|
|
|
|
+ if (Constant.DEVICE_STATUS == 0) {
|
|
|
|
+ tv_room_name.text = "设备未启用"
|
|
|
|
+ tv_room_name.setTextColor(resources.getColor(R.color.red_color))
|
|
|
|
+ } else {
|
|
|
|
+ tv_room_name.text = Constant.ROOM_NAME
|
|
|
|
+ tv_room_name.setTextColor(resources.getColor(R.color.main_color))
|
|
|
|
+ }
|
|
|
|
|
|
if (deviceInfo.frameId != null) {
|
|
if (deviceInfo.frameId != null) {
|
|
Constant.FRAME_ID = deviceInfo.frameId
|
|
Constant.FRAME_ID = deviceInfo.frameId
|
|
@@ -378,16 +416,6 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
updateSettings(true)
|
|
updateSettings(true)
|
|
}
|
|
}
|
|
|
|
|
|
- override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
|
|
|
|
- Constant.TCP_SERVER_URL = tcpSeverDTO.localIp
|
|
|
|
- Constant.TCP_PORT = tcpSeverDTO.tcpPort
|
|
|
|
- Constant.TCP_HEART_BEAT = tcpSeverDTO.readerIdleTime
|
|
|
|
-
|
|
|
|
- //开启TCP连接
|
|
|
|
- startTcp()
|
|
|
|
- showMessage("tcp开始连接...host: " + Constant.TCP_SERVER_URL + ", port: " + Constant.TCP_PORT)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
override fun loadAppVersion(appInfo: AppVersionDO) {
|
|
override fun loadAppVersion(appInfo: AppVersionDO) {
|
|
Log.d("AppUpdate", "loadAppVersion111 =====>> versionNo: " + appInfo.versionNo + ", path: " + appInfo.appPath)
|
|
Log.d("AppUpdate", "loadAppVersion111 =====>> versionNo: " + appInfo.versionNo + ", path: " + appInfo.appPath)
|
|
showMessage("获取版本成功,当前版本号: " + BuildConfig.VERSION_CODE + ", 服务器版本号: " + appInfo.versionNo)
|
|
showMessage("获取版本成功,当前版本号: " + BuildConfig.VERSION_CODE + ", 服务器版本号: " + appInfo.versionNo)
|
|
@@ -455,7 +483,9 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
if (System.currentTimeMillis() - clickSosTime > 10000) {
|
|
if (System.currentTimeMillis() - clickSosTime > 10000) {
|
|
runOnUiThread {
|
|
runOnUiThread {
|
|
clickSosTime = System.currentTimeMillis()
|
|
clickSosTime = System.currentTimeMillis()
|
|
- SOSHelper.sosStart()
|
|
|
|
|
|
+ if (Constant.TCP_CONNECTED) {
|
|
|
|
+ SOSHelper.sosStart()
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -475,6 +505,11 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
|
|
|
|
//开始呼叫
|
|
//开始呼叫
|
|
fun startCall(type: Int) {
|
|
fun startCall(type: Int) {
|
|
|
|
+ if (Constant.DEVICE_STATUS != 1) {
|
|
|
|
+ showMessage("设备未启用,无法呼叫")
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
//通话之前先判断webrtc socket和tcp是否连接正常,否则不能建立通话
|
|
//通话之前先判断webrtc socket和tcp是否连接正常,否则不能建立通话
|
|
if (SocketManager.getInstance().socketOpen() && Constant.TCP_CONNECTED) {
|
|
if (SocketManager.getInstance().socketOpen() && Constant.TCP_CONNECTED) {
|
|
//去电界面
|
|
//去电界面
|
|
@@ -566,6 +601,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
checkAppVersion()
|
|
checkAppVersion()
|
|
} else if (tcpModel.action == TcpAction.DeviceAction.SYSTEM_SETTING) {
|
|
} else if (tcpModel.action == TcpAction.DeviceAction.SYSTEM_SETTING) {
|
|
presenter.loadPartSettings(Constant.PART_ID)
|
|
presenter.loadPartSettings(Constant.PART_ID)
|
|
|
|
+ } else if (tcpModel.action == TcpAction.DeviceAction.RESTART) {
|
|
|
|
+ initDevice()
|
|
}
|
|
}
|
|
} else if (tcpModel.action == TcpAction.DataAction.REFRESH) {
|
|
} else if (tcpModel.action == TcpAction.DataAction.REFRESH) {
|
|
//重新加载数据
|
|
//重新加载数据
|
|
@@ -652,7 +689,7 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
private fun updateTcpState() {
|
|
private fun updateTcpState() {
|
|
if (Constant.TCP_CONNECTED) {
|
|
if (Constant.TCP_CONNECTED) {
|
|
view_title_layout_iv_tcp.setImageResource(R.mipmap.ic_tcp_success)
|
|
view_title_layout_iv_tcp.setImageResource(R.mipmap.ic_tcp_success)
|
|
- if (SocketManager.getInstance().userState == 0) {
|
|
|
|
|
|
+ if (initialized && SocketManager.getInstance().userState == 0) {
|
|
//如果socket断开了则重连
|
|
//如果socket断开了则重连
|
|
connectSocket()
|
|
connectSocket()
|
|
}
|
|
}
|
|
@@ -702,17 +739,22 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
|| intent.action == Intent.ACTION_TIME_CHANGED
|
|
|| intent.action == Intent.ACTION_TIME_CHANGED
|
|
|| intent.action == Intent.ACTION_TIMEZONE_CHANGED) {
|
|
|| intent.action == Intent.ACTION_TIMEZONE_CHANGED) {
|
|
updateNetState()
|
|
updateNetState()
|
|
- updateSettings(false)
|
|
|
|
- updateTcpState()
|
|
|
|
|
|
+ if (initialized) {
|
|
|
|
+ updateSettings(false)
|
|
|
|
+ updateTcpState()
|
|
|
|
|
|
- if (SocketManager.getInstance().userState == 1) {
|
|
|
|
- view_title_layout_tv_point.setBackgroundResource(R.color.green)
|
|
|
|
- } else {
|
|
|
|
- view_title_layout_tv_point.setBackgroundResource(R.color.red_color)
|
|
|
|
|
|
+ if (SocketManager.getInstance().userState == 1) {
|
|
|
|
+ view_title_layout_tv_point.setBackgroundResource(R.color.green)
|
|
|
|
+ } else {
|
|
|
|
+ view_title_layout_tv_point.setBackgroundResource(R.color.red_color)
|
|
|
|
+ }
|
|
|
|
+ } else if (TextUtils.isEmpty(Constant.TCP_SERVER_URL)) {
|
|
|
|
+ //还未连接tcp服务器
|
|
|
|
+ presenter.loadTcpServerHost()
|
|
}
|
|
}
|
|
} else if (intent.action == ConnectivityManager.CONNECTIVITY_ACTION) {
|
|
} else if (intent.action == ConnectivityManager.CONNECTIVITY_ACTION) {
|
|
updateNetState()
|
|
updateNetState()
|
|
- if (NetHelper.getInstance().networkAvailable()) {
|
|
|
|
|
|
+ if (initialized && NetHelper.getInstance().networkAvailable()) {
|
|
if (!Constant.TCP_CONNECTED) {
|
|
if (!Constant.TCP_CONNECTED) {
|
|
TcpClient.getInstance().doConnect()
|
|
TcpClient.getInstance().doConnect()
|
|
}
|
|
}
|