|
@@ -20,6 +20,7 @@ import com.google.gson.Gson
|
|
import com.wdkl.app.ncs.callingdoor.BuildConfig
|
|
import com.wdkl.app.ncs.callingdoor.BuildConfig
|
|
import com.wdkl.app.ncs.callingdoor.R
|
|
import com.wdkl.app.ncs.callingdoor.R
|
|
import com.wdkl.app.ncs.callingdoor.agreement.CallingdoorAgreement
|
|
import com.wdkl.app.ncs.callingdoor.agreement.CallingdoorAgreement
|
|
|
|
+import com.wdkl.app.ncs.callingdoor.bean.Trans433Data
|
|
import com.wdkl.app.ncs.callingdoor.databinding.CallingdoorMainLayBinding
|
|
import com.wdkl.app.ncs.callingdoor.databinding.CallingdoorMainLayBinding
|
|
import com.wdkl.app.ncs.callingdoor.fragment.*
|
|
import com.wdkl.app.ncs.callingdoor.fragment.*
|
|
import com.wdkl.app.ncs.callingdoor.helper.*
|
|
import com.wdkl.app.ncs.callingdoor.helper.*
|
|
@@ -74,6 +75,8 @@ import org.greenrobot.eventbus.EventBus
|
|
import org.greenrobot.eventbus.Subscribe
|
|
import org.greenrobot.eventbus.Subscribe
|
|
import org.greenrobot.eventbus.ThreadMode
|
|
import org.greenrobot.eventbus.ThreadMode
|
|
import serialporttest.utils.SerialPortUtil
|
|
import serialporttest.utils.SerialPortUtil
|
|
|
|
+import serialporttest.utils.SerialPortUtil433
|
|
|
|
+import serialporttest.utils.StringUtils
|
|
import java.io.*
|
|
import java.io.*
|
|
import java.lang.Process
|
|
import java.lang.Process
|
|
import java.util.*
|
|
import java.util.*
|
|
@@ -90,11 +93,11 @@ import kotlin.collections.ArrayList
|
|
|
|
|
|
@Router(path = "/callingdoor/main")
|
|
@Router(path = "/callingdoor/main")
|
|
class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, CallingdoorMainLayBinding>(), CallingdoorActivityContract.View, CallingdoorAgreement,
|
|
class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, CallingdoorMainLayBinding>(), CallingdoorActivityContract.View, CallingdoorAgreement,
|
|
- SerialPortUtil.ISerialPortBedOnclickEvent, SerialPortUtil.ISerialPortBedOnclickString {
|
|
|
|
|
|
+ SerialPortUtil.ISerialPortBedOnclickEvent, SerialPortUtil.ISerialPortBedOnclickString, SerialPortUtil433.ISerialPort433Data {
|
|
var TAG = CallingdoorActivity::class.java.getSimpleName()
|
|
var TAG = CallingdoorActivity::class.java.getSimpleName()
|
|
|
|
|
|
private lateinit var receiver: TimeReceiver
|
|
private lateinit var receiver: TimeReceiver
|
|
- private lateinit var curFragment: String
|
|
|
|
|
|
+ private var curFragment = ""
|
|
|
|
|
|
//首页
|
|
//首页
|
|
private val mainFragment = "main_fragment"
|
|
private val mainFragment = "main_fragment"
|
|
@@ -126,6 +129,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
|
|
|
|
private var bedCalls = ArrayList<String>()
|
|
private var bedCalls = ArrayList<String>()
|
|
|
|
|
|
|
|
+ private var trans433Data: Trans433Data? = null
|
|
|
|
+
|
|
//网络异常计数
|
|
//网络异常计数
|
|
private var netErrCount : Int = 0
|
|
private var netErrCount : Int = 0
|
|
|
|
|
|
@@ -178,10 +183,10 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
updateNetState()
|
|
updateNetState()
|
|
|
|
|
|
if ("rk3128".equals(Build.MODEL) || "rk3368".equals(Build.MODEL)) {
|
|
if ("rk3128".equals(Build.MODEL) || "rk3368".equals(Build.MODEL)) {
|
|
- //串口监听
|
|
|
|
- setSerialListener()
|
|
|
|
-
|
|
|
|
AppTool.Time.delay(1500) {
|
|
AppTool.Time.delay(1500) {
|
|
|
|
+ //串口监听
|
|
|
|
+ setSerialListener()
|
|
|
|
+
|
|
//打开MIC
|
|
//打开MIC
|
|
SerialPortHelper.setMIC(false)
|
|
SerialPortHelper.setMIC(false)
|
|
SerialPortHelper.setHandsFree(true)
|
|
SerialPortHelper.setHandsFree(true)
|
|
@@ -701,6 +706,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
SerialPortUtil.getInstance().setOnDataReceiveStringListener(this)
|
|
SerialPortUtil.getInstance().setOnDataReceiveStringListener(this)
|
|
//开启串口心跳
|
|
//开启串口心跳
|
|
SerialPortUtil.getInstance().startHeartBeat()
|
|
SerialPortUtil.getInstance().startHeartBeat()
|
|
|
|
+
|
|
|
|
+ SerialPortUtil433.getInstance().setOn433DataReceiveListener(this)
|
|
}
|
|
}
|
|
|
|
|
|
override fun checkAppVersion() {
|
|
override fun checkAppVersion() {
|
|
@@ -731,6 +738,7 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
if ("rk3128".equals(Build.MODEL) || "rk3368".equals(Build.MODEL)) {
|
|
if ("rk3128".equals(Build.MODEL) || "rk3368".equals(Build.MODEL)) {
|
|
SerialPortUtil.getInstance().closeHeart()
|
|
SerialPortUtil.getInstance().closeHeart()
|
|
SerialPortUtil.getInstance().closeSerialPort()
|
|
SerialPortUtil.getInstance().closeSerialPort()
|
|
|
|
+ SerialPortUtil433.getInstance().closeSerialPort()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1087,6 +1095,40 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ override fun onSerial433Data(buffer: ByteArray?, size: Int) {
|
|
|
|
+ val bytes = Arrays.copyOfRange(buffer, 0, size)
|
|
|
|
+ val receiveData: String = StringUtils.bytesToHex(bytes)
|
|
|
|
+ //val receiveString = String(bytes, 0, size)
|
|
|
|
+ Log.e(TAG, "receive433Data: $receiveData")
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ if (receiveData.startsWith("fd") && receiveData.endsWith("df")) {
|
|
|
|
+ //当前系统时间
|
|
|
|
+ val curTime = System.currentTimeMillis()
|
|
|
|
+ //收到的按键数据掐头去尾: fdb50831df --> b50831
|
|
|
|
+ val cmd = receiveData.substring(2, receiveData.indexOf("df"))
|
|
|
|
+ if (trans433Data != null) {
|
|
|
|
+ //如果与上次数据相同,1500毫秒内不再重复发
|
|
|
|
+ if (trans433Data!!.cmd == cmd && curTime - trans433Data!!.time < 1500) {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ trans433Data!!.time = curTime
|
|
|
|
+ trans433Data!!.cmd = cmd
|
|
|
|
+ } else {
|
|
|
|
+ trans433Data = Trans433Data(curTime, cmd)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //发送数据: ffcc020006b50831
|
|
|
|
+ if (Constant.TCP_CONNECTED && !TextUtils.isEmpty(trans433Data!!.cmd)) {
|
|
|
|
+ TcpClient.getInstance().sendMsg(AlarmMessageUtil.getAlarmMessage(trans433Data!!.cmd))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } catch (ex: Exception) {
|
|
|
|
+ ex.printStackTrace()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
//开始呼叫
|
|
//开始呼叫
|
|
fun startCall(type: Int) {
|
|
fun startCall(type: Int) {
|
|
if (Constant.DEVICE_STATUS != 1) {
|
|
if (Constant.DEVICE_STATUS != 1) {
|