diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0b021a..ede224a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@
-
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0b021a..ede224a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@
-
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
index d0b9221..683407c 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
@@ -12,11 +12,6 @@
object Disclosure : CurrentScene()
/**
- * 环境检测
- */
- object Environment : CurrentScene()
-
- /**
* 人员监护
*/
object Guardian : CurrentScene()
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0b021a..ede224a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@
-
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
index d0b9221..683407c 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
@@ -12,11 +12,6 @@
object Disclosure : CurrentScene()
/**
- * 环境检测
- */
- object Environment : CurrentScene()
-
- /**
* 人员监护
*/
object Guardian : CurrentScene()
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
index 4f7b554..63ae413 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
@@ -64,25 +64,11 @@
const val TCP_CONNECTED_CODE = 103
const val TCP_DISCONNECTED_CODE = 104
- //施工交底
- val START_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x04, 0x00, 0x98.toByte())
- val END_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x05, 0x00, 0x99.toByte())
-
//作业前检测
- val START_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x06, 0x00, 0x9A.toByte())
- val CONFIRM_BLOWER_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x08, 0x00, 0x9C.toByte())
val CONFIRM_AIR_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x19, 0x00, 0xAD.toByte())
- val END_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x09, 0x00, 0x9D.toByte())
//劳保检测
- val START_SUPPLIES_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x0A, 0x00, 0x9E.toByte())
val START_VIDEO_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x11, 0x00, 0xA5.toByte())
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0b021a..ede224a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@
-
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
index d0b9221..683407c 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
@@ -12,11 +12,6 @@
object Disclosure : CurrentScene()
/**
- * 环境检测
- */
- object Environment : CurrentScene()
-
- /**
* 人员监护
*/
object Guardian : CurrentScene()
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
index 4f7b554..63ae413 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
@@ -64,25 +64,11 @@
const val TCP_CONNECTED_CODE = 103
const val TCP_DISCONNECTED_CODE = 104
- //施工交底
- val START_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x04, 0x00, 0x98.toByte())
- val END_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x05, 0x00, 0x99.toByte())
-
//作业前检测
- val START_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x06, 0x00, 0x9A.toByte())
- val CONFIRM_BLOWER_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x08, 0x00, 0x9C.toByte())
val CONFIRM_AIR_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x19, 0x00, 0xAD.toByte())
- val END_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x09, 0x00, 0x9D.toByte())
//劳保检测
- val START_SUPPLIES_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x0A, 0x00, 0x9E.toByte())
val START_VIDEO_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x11, 0x00, 0xA5.toByte())
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
index e88ee37..fa76606 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
@@ -1,13 +1,16 @@
package com.casic.br.operationsite.test.util.tcp
-import kotlinx.coroutines.CoroutineScope
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.LifecycleRegistry
+import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-class SocketManager private constructor() : ISocketListener {
+class SocketManager private constructor() : LifecycleOwner, ISocketListener {
private val kTag = "SocketManager"
+ private val registry = LifecycleRegistry(this)
var nettyClient: SocketClient = SocketClient()
companion object {
@@ -15,14 +18,14 @@
}
fun connectTcpServer(hostname: String, port: Int) {
- Thread {
+ lifecycleScope.launch(Dispatchers.IO) {
if (!nettyClient.connectStatus) {
- nettyClient.setSocketListener(this)
+ nettyClient.setSocketListener(this@SocketManager)
nettyClient.connect(hostname, port)
} else {
nettyClient.disconnect()
}
- }.start()
+ }
}
override fun onMessageResponse(data: ByteArray?) {
@@ -34,14 +37,16 @@
}
fun send(data: ByteArray) {
- CoroutineScope(Dispatchers.Main).launch {
- withContext(Dispatchers.IO) {
- nettyClient.sendData(data)
- }
+ lifecycleScope.launch(Dispatchers.IO) {
+ nettyClient.sendData(data)
}
}
fun close() {
nettyClient.disconnect()
}
+
+ override fun getLifecycle(): Lifecycle {
+ return registry
+ }
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0b021a..ede224a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@
-
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
index d0b9221..683407c 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
@@ -12,11 +12,6 @@
object Disclosure : CurrentScene()
/**
- * 环境检测
- */
- object Environment : CurrentScene()
-
- /**
* 人员监护
*/
object Guardian : CurrentScene()
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
index 4f7b554..63ae413 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
@@ -64,25 +64,11 @@
const val TCP_CONNECTED_CODE = 103
const val TCP_DISCONNECTED_CODE = 104
- //施工交底
- val START_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x04, 0x00, 0x98.toByte())
- val END_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x05, 0x00, 0x99.toByte())
-
//作业前检测
- val START_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x06, 0x00, 0x9A.toByte())
- val CONFIRM_BLOWER_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x08, 0x00, 0x9C.toByte())
val CONFIRM_AIR_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x19, 0x00, 0xAD.toByte())
- val END_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x09, 0x00, 0x9D.toByte())
//劳保检测
- val START_SUPPLIES_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x0A, 0x00, 0x9E.toByte())
val START_VIDEO_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x11, 0x00, 0xA5.toByte())
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
index e88ee37..fa76606 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
@@ -1,13 +1,16 @@
package com.casic.br.operationsite.test.util.tcp
-import kotlinx.coroutines.CoroutineScope
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.LifecycleRegistry
+import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-class SocketManager private constructor() : ISocketListener {
+class SocketManager private constructor() : LifecycleOwner, ISocketListener {
private val kTag = "SocketManager"
+ private val registry = LifecycleRegistry(this)
var nettyClient: SocketClient = SocketClient()
companion object {
@@ -15,14 +18,14 @@
}
fun connectTcpServer(hostname: String, port: Int) {
- Thread {
+ lifecycleScope.launch(Dispatchers.IO) {
if (!nettyClient.connectStatus) {
- nettyClient.setSocketListener(this)
+ nettyClient.setSocketListener(this@SocketManager)
nettyClient.connect(hostname, port)
} else {
nettyClient.disconnect()
}
- }.start()
+ }
}
override fun onMessageResponse(data: ByteArray?) {
@@ -34,14 +37,16 @@
}
fun send(data: ByteArray) {
- CoroutineScope(Dispatchers.Main).launch {
- withContext(Dispatchers.IO) {
- nettyClient.sendData(data)
- }
+ lifecycleScope.launch(Dispatchers.IO) {
+ nettyClient.sendData(data)
}
}
fun close() {
nettyClient.disconnect()
}
+
+ override fun getLifecycle(): Lifecycle {
+ return registry
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt b/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
index b5741e9..4eddb03 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
@@ -126,7 +126,6 @@
}
CurrentScene.Disclosure -> {}
- CurrentScene.Environment -> {}
CurrentScene.Guardian -> {
val msg = GuardiansActivity.weakReferenceHandler.obtainMessage()
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0b021a..ede224a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@
-
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
index d0b9221..683407c 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
@@ -12,11 +12,6 @@
object Disclosure : CurrentScene()
/**
- * 环境检测
- */
- object Environment : CurrentScene()
-
- /**
* 人员监护
*/
object Guardian : CurrentScene()
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
index 4f7b554..63ae413 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
@@ -64,25 +64,11 @@
const val TCP_CONNECTED_CODE = 103
const val TCP_DISCONNECTED_CODE = 104
- //施工交底
- val START_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x04, 0x00, 0x98.toByte())
- val END_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x05, 0x00, 0x99.toByte())
-
//作业前检测
- val START_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x06, 0x00, 0x9A.toByte())
- val CONFIRM_BLOWER_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x08, 0x00, 0x9C.toByte())
val CONFIRM_AIR_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x19, 0x00, 0xAD.toByte())
- val END_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x09, 0x00, 0x9D.toByte())
//劳保检测
- val START_SUPPLIES_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x0A, 0x00, 0x9E.toByte())
val START_VIDEO_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x11, 0x00, 0xA5.toByte())
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
index e88ee37..fa76606 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
@@ -1,13 +1,16 @@
package com.casic.br.operationsite.test.util.tcp
-import kotlinx.coroutines.CoroutineScope
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.LifecycleRegistry
+import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-class SocketManager private constructor() : ISocketListener {
+class SocketManager private constructor() : LifecycleOwner, ISocketListener {
private val kTag = "SocketManager"
+ private val registry = LifecycleRegistry(this)
var nettyClient: SocketClient = SocketClient()
companion object {
@@ -15,14 +18,14 @@
}
fun connectTcpServer(hostname: String, port: Int) {
- Thread {
+ lifecycleScope.launch(Dispatchers.IO) {
if (!nettyClient.connectStatus) {
- nettyClient.setSocketListener(this)
+ nettyClient.setSocketListener(this@SocketManager)
nettyClient.connect(hostname, port)
} else {
nettyClient.disconnect()
}
- }.start()
+ }
}
override fun onMessageResponse(data: ByteArray?) {
@@ -34,14 +37,16 @@
}
fun send(data: ByteArray) {
- CoroutineScope(Dispatchers.Main).launch {
- withContext(Dispatchers.IO) {
- nettyClient.sendData(data)
- }
+ lifecycleScope.launch(Dispatchers.IO) {
+ nettyClient.sendData(data)
}
}
fun close() {
nettyClient.disconnect()
}
+
+ override fun getLifecycle(): Lifecycle {
+ return registry
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt b/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
index b5741e9..4eddb03 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
@@ -126,7 +126,6 @@
}
CurrentScene.Disclosure -> {}
- CurrentScene.Environment -> {}
CurrentScene.Guardian -> {
val msg = GuardiansActivity.weakReferenceHandler.obtainMessage()
diff --git a/app/src/main/java/com/casic/br/operationsite/test/view/EnvironmentActivity.kt b/app/src/main/java/com/casic/br/operationsite/test/view/EnvironmentActivity.kt
deleted file mode 100644
index d5afc88..0000000
--- a/app/src/main/java/com/casic/br/operationsite/test/view/EnvironmentActivity.kt
+++ /dev/null
@@ -1,246 +0,0 @@
-package com.casic.br.operationsite.test.view
-
-import android.os.Bundle
-import android.os.Handler
-import android.os.Message
-import android.widget.LinearLayout
-import androidx.lifecycle.ViewModelProvider
-import com.casic.br.operationsite.test.R
-import com.casic.br.operationsite.test.callback.OnImageCompressListener
-import com.casic.br.operationsite.test.databinding.ActivityEnvironmentBinding
-import com.casic.br.operationsite.test.extensions.compressImage
-import com.casic.br.operationsite.test.extensions.initImmersionBar
-import com.casic.br.operationsite.test.extensions.upload
-import com.casic.br.operationsite.test.util.CurrentScene
-import com.casic.br.operationsite.test.util.LocaleConstant
-import com.casic.br.operationsite.test.util.RuntimeCache
-import com.casic.br.operationsite.test.util.VideoPlayerManager
-import com.casic.br.operationsite.test.util.tcp.SocketManager
-import com.casic.br.operationsite.test.vm.ConstructionCheckViewModel
-import com.casic.br.operationsite.test.vm.UploadFileViewModel
-import com.casic.br.operationsite.test.vm.WorkSiteViewModel
-import com.casic.br.operationsite.test.widget.BottomControlSheet
-import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.dp2px
-import com.pengxh.kt.lite.extensions.getScreenWidth
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.utils.ActivityStackManager
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import com.pengxh.kt.lite.widget.TitleBarView
-import com.shuyu.gsyvideoplayer.GSYVideoManager
-import java.io.File
-import java.util.Timer
-import java.util.TimerTask
-import java.util.UUID
-
-
-class EnvironmentActivity : KotlinBaseActivity(), Handler.Callback {
-
- companion object {
- lateinit var weakReferenceHandler: WeakReferenceHandler
- }
-
- private val kTag = "EnvironmentActivity"
- private val context = this
- private lateinit var constructionCheckViewModel: ConstructionCheckViewModel
- private lateinit var uploadFileViewModel: UploadFileViewModel
- private lateinit var workSiteViewModel: WorkSiteViewModel
- private lateinit var timer: Timer
- private var isConfirmedFirst = false
- private var isConfirmedSecond = false
- private var isConfirmedThird = false
- private var imagePath = ""
-
- override fun handleMessage(msg: Message): Boolean {
- if (msg.what == LocaleConstant.WEBSOCKET_MESSAGE_CODE) {
- imagePath = msg.obj as String
- //自动上传到服务器
- imagePath.compressImage(this, object : OnImageCompressListener {
- override fun onSuccess(file: File) {
- //上传图片
- uploadFileViewModel.uploadImage(context, file)
- }
-
- override fun onError(e: Throwable) {
- e.printStackTrace()
- }
- })
- }
- return true
- }
-
- override fun initEvent() {
- binding.startEnvCheckButton.setOnClickListener {
- if (!SocketManager.get.nettyClient.connectStatus) {
- "指令发送失败,请确认是否处于同一网段".show(this)
- return@setOnClickListener
- }
-// SocketManager.get.send(LocaleConstant.START_ENV_COMMAND)
- constructionCheckViewModel.setCurrentPhase(
- LocaleConstant.AI_BASE_IP, "before_operation_environment"
- )
- }
-
- binding.showControlViewButton.setOnClickListener {
- BottomControlSheet(this).show()
- }
-
- binding.blowerImageView.setOnClickListener {
- navigatePageTo(0, arrayListOf(imagePath))
- }
-
- binding.confirmBlowerButton.setOnClickListener {
- if (!SocketManager.get.nettyClient.connectStatus) {
- "指令发送失败,请确认是否处于同一网段".show(this)
- return@setOnClickListener
- }
-// SocketManager.get.send(LocaleConstant.CONFIRM_BLOWER_COMMAND)
- }
-
- binding.firstConfirmButton.setOnClickListener {
- isConfirmedFirst = false
- isConfirmedSecond = true
- isConfirmedThird = false
- }
-
- binding.secondConfirmButton.setOnClickListener {
- isConfirmedFirst = false
- isConfirmedSecond = false
- isConfirmedThird = true
- }
-
- binding.thirdConfirmButton.setOnClickListener {
- if (isConfirmedSecond) {
- "请先确认井中气体浓度".show(this)
- return@setOnClickListener
- }
- isConfirmedFirst = false
- isConfirmedSecond = false
- isConfirmedThird = false
- }
-
- binding.endEnvCheckButton.setOnClickListener {
- if (!SocketManager.get.nettyClient.connectStatus) {
- "指令发送失败,请确认是否处于同一网段".show(this)
- return@setOnClickListener
- }
-// SocketManager.get.send(LocaleConstant.END_ENV_COMMAND)
- navigatePageTo()
- }
- }
-
- override fun initOnCreate(savedInstanceState: Bundle?) {
- ActivityStackManager.addActivity(this)
-
- weakReferenceHandler = WeakReferenceHandler(this)
- constructionCheckViewModel = ViewModelProvider(this)[ConstructionCheckViewModel::class.java]
-
- uploadFileViewModel = ViewModelProvider(this)[UploadFileViewModel::class.java]
- uploadFileViewModel.resultModel.observe(this) {
- if (it.code == 200) {
- val path = it.data.toString()
- if (path.isNotBlank()) {
- val map = HashMap()
- map["id"] = RuntimeCache.uploadFileTaskId
- map["deviceCode"] = "YTJ_010002"
- map["imageId"] = UUID.randomUUID().toString()
- map["scenario"] = "before_operation_environment"
- map["image"] = path
- map["index"] = "1"
- map["base64"] = ""
- map.upload()
- }
- }
- }
-
- //动态设置rtspPlayerView宽高
- val params = binding.rtspPlayerView.layoutParams as LinearLayout.LayoutParams
- val videoWidth = getScreenWidth() - 20.dp2px(this)
- val videoHeight = videoWidth * (9f / 16)
- params.width = videoWidth
- params.height = videoHeight.toInt()
- binding.rtspPlayerView.layoutParams = params
- VideoPlayerManager.setGSYVideoPlayerOptions(
- binding.rtspPlayerView, LocaleConstant.SUB_RTSP_URL
- )
-
- workSiteViewModel = ViewModelProvider(this)[WorkSiteViewModel::class.java]
- workSiteViewModel.workerResult.observe(this) {
- if (it.code == 200) {
- it.data.first().apply {
- RuntimeCache.userHelmetCode = hatCode
-
- if (isConfirmedFirst) {
- binding.firstCOValueView.text = "一氧化碳:${co}ppm"
- binding.firstCH4ValueView.text = "可燃气:${gas}%LEL"
- binding.firstH2SValueView.text = "硫化氢:${co}ppm"
- binding.firstO2ValueView.text = "氧气:${o2}%VOL"
- binding.firstValueUpdateView.text = "更新时间:${gasTime}"
- }
-
- if (isConfirmedSecond) {
- binding.secondCOValueView.text = "一氧化碳:${co}ppm"
- binding.secondCH4ValueView.text = "可燃气:${gas}%LEL"
- binding.secondH2SValueView.text = "硫化氢:${co}ppm"
- binding.secondO2ValueView.text = "氧气:${o2}%VOL"
- binding.secondValueUpdateView.text = "更新时间:${gasTime}"
- }
-
- if (isConfirmedThird) {
- binding.thirdCOValueView.text = "一氧化碳:${co}ppm"
- binding.thirdCH4ValueView.text = "可燃气:${gas}%LEL"
- binding.thirdH2SValueView.text = "硫化氢:${co}ppm"
- binding.thirdO2ValueView.text = "氧气:${o2}%VOL"
- binding.thirdValueUpdateView.text = "更新时间:${gasTime}"
- }
- }
- }
- }
- timer = Timer()
- timer.schedule(object : TimerTask() {
- override fun run() {
- workSiteViewModel.getWorkers(context, RuntimeCache.projectId)
- }
- }, 0, 2000)
- }
-
- override fun initViewBinding(): ActivityEnvironmentBinding {
- return ActivityEnvironmentBinding.inflate(layoutInflater)
- }
-
- override fun observeRequestState() {
-
- }
-
- override fun setupTopBarLayout() {
- binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
- binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
- override fun onLeftClick() {
- finish()
- }
-
- override fun onRightClick() {
-
- }
- })
- }
-
- override fun onDestroy() {
- super.onDestroy()
- GSYVideoManager.releaseAllVideos()
- timer.cancel()
- }
-
- override fun onPause() {
- super.onPause()
- GSYVideoManager.onPause()
- }
-
- override fun onResume() {
- super.onResume()
- GSYVideoManager.onResume()
- isConfirmedFirst = true
- RuntimeCache.currentScene = CurrentScene.Environment
- }
-}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0b021a..ede224a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@
-
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
index d0b9221..683407c 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/CurrentScene.kt
@@ -12,11 +12,6 @@
object Disclosure : CurrentScene()
/**
- * 环境检测
- */
- object Environment : CurrentScene()
-
- /**
* 人员监护
*/
object Guardian : CurrentScene()
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
index 4f7b554..63ae413 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/LocaleConstant.kt
@@ -64,25 +64,11 @@
const val TCP_CONNECTED_CODE = 103
const val TCP_DISCONNECTED_CODE = 104
- //施工交底
- val START_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x04, 0x00, 0x98.toByte())
- val END_CONSTRUCTION_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x05, 0x00, 0x99.toByte())
-
//作业前检测
- val START_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x06, 0x00, 0x9A.toByte())
- val CONFIRM_BLOWER_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x08, 0x00, 0x9C.toByte())
val CONFIRM_AIR_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x19, 0x00, 0xAD.toByte())
- val END_ENV_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x09, 0x00, 0x9D.toByte())
//劳保检测
- val START_SUPPLIES_COMMAND =
- byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x0A, 0x00, 0x9E.toByte())
val START_VIDEO_COMMAND =
byteArrayOf(0xAA.toByte(), 0x01, 0x00, 0x93.toByte(), 0x11, 0x00, 0xA5.toByte())
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
index e88ee37..fa76606 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/tcp/SocketManager.kt
@@ -1,13 +1,16 @@
package com.casic.br.operationsite.test.util.tcp
-import kotlinx.coroutines.CoroutineScope
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.LifecycleRegistry
+import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-class SocketManager private constructor() : ISocketListener {
+class SocketManager private constructor() : LifecycleOwner, ISocketListener {
private val kTag = "SocketManager"
+ private val registry = LifecycleRegistry(this)
var nettyClient: SocketClient = SocketClient()
companion object {
@@ -15,14 +18,14 @@
}
fun connectTcpServer(hostname: String, port: Int) {
- Thread {
+ lifecycleScope.launch(Dispatchers.IO) {
if (!nettyClient.connectStatus) {
- nettyClient.setSocketListener(this)
+ nettyClient.setSocketListener(this@SocketManager)
nettyClient.connect(hostname, port)
} else {
nettyClient.disconnect()
}
- }.start()
+ }
}
override fun onMessageResponse(data: ByteArray?) {
@@ -34,14 +37,16 @@
}
fun send(data: ByteArray) {
- CoroutineScope(Dispatchers.Main).launch {
- withContext(Dispatchers.IO) {
- nettyClient.sendData(data)
- }
+ lifecycleScope.launch(Dispatchers.IO) {
+ nettyClient.sendData(data)
}
}
fun close() {
nettyClient.disconnect()
}
+
+ override fun getLifecycle(): Lifecycle {
+ return registry
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt b/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
index b5741e9..4eddb03 100644
--- a/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
+++ b/app/src/main/java/com/casic/br/operationsite/test/util/websocket/WebSocketManager.kt
@@ -126,7 +126,6 @@
}
CurrentScene.Disclosure -> {}
- CurrentScene.Environment -> {}
CurrentScene.Guardian -> {
val msg = GuardiansActivity.weakReferenceHandler.obtainMessage()
diff --git a/app/src/main/java/com/casic/br/operationsite/test/view/EnvironmentActivity.kt b/app/src/main/java/com/casic/br/operationsite/test/view/EnvironmentActivity.kt
deleted file mode 100644
index d5afc88..0000000
--- a/app/src/main/java/com/casic/br/operationsite/test/view/EnvironmentActivity.kt
+++ /dev/null
@@ -1,246 +0,0 @@
-package com.casic.br.operationsite.test.view
-
-import android.os.Bundle
-import android.os.Handler
-import android.os.Message
-import android.widget.LinearLayout
-import androidx.lifecycle.ViewModelProvider
-import com.casic.br.operationsite.test.R
-import com.casic.br.operationsite.test.callback.OnImageCompressListener
-import com.casic.br.operationsite.test.databinding.ActivityEnvironmentBinding
-import com.casic.br.operationsite.test.extensions.compressImage
-import com.casic.br.operationsite.test.extensions.initImmersionBar
-import com.casic.br.operationsite.test.extensions.upload
-import com.casic.br.operationsite.test.util.CurrentScene
-import com.casic.br.operationsite.test.util.LocaleConstant
-import com.casic.br.operationsite.test.util.RuntimeCache
-import com.casic.br.operationsite.test.util.VideoPlayerManager
-import com.casic.br.operationsite.test.util.tcp.SocketManager
-import com.casic.br.operationsite.test.vm.ConstructionCheckViewModel
-import com.casic.br.operationsite.test.vm.UploadFileViewModel
-import com.casic.br.operationsite.test.vm.WorkSiteViewModel
-import com.casic.br.operationsite.test.widget.BottomControlSheet
-import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.dp2px
-import com.pengxh.kt.lite.extensions.getScreenWidth
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.utils.ActivityStackManager
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import com.pengxh.kt.lite.widget.TitleBarView
-import com.shuyu.gsyvideoplayer.GSYVideoManager
-import java.io.File
-import java.util.Timer
-import java.util.TimerTask
-import java.util.UUID
-
-
-class EnvironmentActivity : KotlinBaseActivity(), Handler.Callback {
-
- companion object {
- lateinit var weakReferenceHandler: WeakReferenceHandler
- }
-
- private val kTag = "EnvironmentActivity"
- private val context = this
- private lateinit var constructionCheckViewModel: ConstructionCheckViewModel
- private lateinit var uploadFileViewModel: UploadFileViewModel
- private lateinit var workSiteViewModel: WorkSiteViewModel
- private lateinit var timer: Timer
- private var isConfirmedFirst = false
- private var isConfirmedSecond = false
- private var isConfirmedThird = false
- private var imagePath = ""
-
- override fun handleMessage(msg: Message): Boolean {
- if (msg.what == LocaleConstant.WEBSOCKET_MESSAGE_CODE) {
- imagePath = msg.obj as String
- //自动上传到服务器
- imagePath.compressImage(this, object : OnImageCompressListener {
- override fun onSuccess(file: File) {
- //上传图片
- uploadFileViewModel.uploadImage(context, file)
- }
-
- override fun onError(e: Throwable) {
- e.printStackTrace()
- }
- })
- }
- return true
- }
-
- override fun initEvent() {
- binding.startEnvCheckButton.setOnClickListener {
- if (!SocketManager.get.nettyClient.connectStatus) {
- "指令发送失败,请确认是否处于同一网段".show(this)
- return@setOnClickListener
- }
-// SocketManager.get.send(LocaleConstant.START_ENV_COMMAND)
- constructionCheckViewModel.setCurrentPhase(
- LocaleConstant.AI_BASE_IP, "before_operation_environment"
- )
- }
-
- binding.showControlViewButton.setOnClickListener {
- BottomControlSheet(this).show()
- }
-
- binding.blowerImageView.setOnClickListener {
- navigatePageTo(0, arrayListOf(imagePath))
- }
-
- binding.confirmBlowerButton.setOnClickListener {
- if (!SocketManager.get.nettyClient.connectStatus) {
- "指令发送失败,请确认是否处于同一网段".show(this)
- return@setOnClickListener
- }
-// SocketManager.get.send(LocaleConstant.CONFIRM_BLOWER_COMMAND)
- }
-
- binding.firstConfirmButton.setOnClickListener {
- isConfirmedFirst = false
- isConfirmedSecond = true
- isConfirmedThird = false
- }
-
- binding.secondConfirmButton.setOnClickListener {
- isConfirmedFirst = false
- isConfirmedSecond = false
- isConfirmedThird = true
- }
-
- binding.thirdConfirmButton.setOnClickListener {
- if (isConfirmedSecond) {
- "请先确认井中气体浓度".show(this)
- return@setOnClickListener
- }
- isConfirmedFirst = false
- isConfirmedSecond = false
- isConfirmedThird = false
- }
-
- binding.endEnvCheckButton.setOnClickListener {
- if (!SocketManager.get.nettyClient.connectStatus) {
- "指令发送失败,请确认是否处于同一网段".show(this)
- return@setOnClickListener
- }
-// SocketManager.get.send(LocaleConstant.END_ENV_COMMAND)
- navigatePageTo()
- }
- }
-
- override fun initOnCreate(savedInstanceState: Bundle?) {
- ActivityStackManager.addActivity(this)
-
- weakReferenceHandler = WeakReferenceHandler(this)
- constructionCheckViewModel = ViewModelProvider(this)[ConstructionCheckViewModel::class.java]
-
- uploadFileViewModel = ViewModelProvider(this)[UploadFileViewModel::class.java]
- uploadFileViewModel.resultModel.observe(this) {
- if (it.code == 200) {
- val path = it.data.toString()
- if (path.isNotBlank()) {
- val map = HashMap()
- map["id"] = RuntimeCache.uploadFileTaskId
- map["deviceCode"] = "YTJ_010002"
- map["imageId"] = UUID.randomUUID().toString()
- map["scenario"] = "before_operation_environment"
- map["image"] = path
- map["index"] = "1"
- map["base64"] = ""
- map.upload()
- }
- }
- }
-
- //动态设置rtspPlayerView宽高
- val params = binding.rtspPlayerView.layoutParams as LinearLayout.LayoutParams
- val videoWidth = getScreenWidth() - 20.dp2px(this)
- val videoHeight = videoWidth * (9f / 16)
- params.width = videoWidth
- params.height = videoHeight.toInt()
- binding.rtspPlayerView.layoutParams = params
- VideoPlayerManager.setGSYVideoPlayerOptions(
- binding.rtspPlayerView, LocaleConstant.SUB_RTSP_URL
- )
-
- workSiteViewModel = ViewModelProvider(this)[WorkSiteViewModel::class.java]
- workSiteViewModel.workerResult.observe(this) {
- if (it.code == 200) {
- it.data.first().apply {
- RuntimeCache.userHelmetCode = hatCode
-
- if (isConfirmedFirst) {
- binding.firstCOValueView.text = "一氧化碳:${co}ppm"
- binding.firstCH4ValueView.text = "可燃气:${gas}%LEL"
- binding.firstH2SValueView.text = "硫化氢:${co}ppm"
- binding.firstO2ValueView.text = "氧气:${o2}%VOL"
- binding.firstValueUpdateView.text = "更新时间:${gasTime}"
- }
-
- if (isConfirmedSecond) {
- binding.secondCOValueView.text = "一氧化碳:${co}ppm"
- binding.secondCH4ValueView.text = "可燃气:${gas}%LEL"
- binding.secondH2SValueView.text = "硫化氢:${co}ppm"
- binding.secondO2ValueView.text = "氧气:${o2}%VOL"
- binding.secondValueUpdateView.text = "更新时间:${gasTime}"
- }
-
- if (isConfirmedThird) {
- binding.thirdCOValueView.text = "一氧化碳:${co}ppm"
- binding.thirdCH4ValueView.text = "可燃气:${gas}%LEL"
- binding.thirdH2SValueView.text = "硫化氢:${co}ppm"
- binding.thirdO2ValueView.text = "氧气:${o2}%VOL"
- binding.thirdValueUpdateView.text = "更新时间:${gasTime}"
- }
- }
- }
- }
- timer = Timer()
- timer.schedule(object : TimerTask() {
- override fun run() {
- workSiteViewModel.getWorkers(context, RuntimeCache.projectId)
- }
- }, 0, 2000)
- }
-
- override fun initViewBinding(): ActivityEnvironmentBinding {
- return ActivityEnvironmentBinding.inflate(layoutInflater)
- }
-
- override fun observeRequestState() {
-
- }
-
- override fun setupTopBarLayout() {
- binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
- binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
- override fun onLeftClick() {
- finish()
- }
-
- override fun onRightClick() {
-
- }
- })
- }
-
- override fun onDestroy() {
- super.onDestroy()
- GSYVideoManager.releaseAllVideos()
- timer.cancel()
- }
-
- override fun onPause() {
- super.onPause()
- GSYVideoManager.onPause()
- }
-
- override fun onResume() {
- super.onResume()
- GSYVideoManager.onResume()
- isConfirmedFirst = true
- RuntimeCache.currentScene = CurrentScene.Environment
- }
-}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_environment.xml b/app/src/main/res/layout/activity_environment.xml
deleted file mode 100644
index 8be9ca1..0000000
--- a/app/src/main/res/layout/activity_environment.xml
+++ /dev/null
@@ -1,356 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file