|
@@ -0,0 +1,241 @@
|
|
|
+package com.wdkl.app.ncs.callingbed.fragment
|
|
|
+
|
|
|
+import android.os.Handler
|
|
|
+import android.os.Looper
|
|
|
+import com.enation.javashop.net.engine.model.NetState
|
|
|
+import com.wdkl.app.ncs.callingbed.R
|
|
|
+import com.wdkl.app.ncs.callingbed.databinding.TestFragmentLayBinding
|
|
|
+import com.wdkl.app.ncs.callingbed.helper.MediaPlayHelper
|
|
|
+import com.wdkl.app.ncs.callingbed.helper.RecordHelper
|
|
|
+import com.wdkl.app.ncs.callingbed.helper.SoundPoolManager
|
|
|
+import com.wdkl.app.ncs.callingbed.launch.CallingbedLaunch
|
|
|
+import com.wdkl.ncs.android.lib.base.BaseFragment
|
|
|
+import com.wdkl.ncs.android.lib.vo.filter
|
|
|
+import com.wdkl.ncs.android.middleware.common.Constant
|
|
|
+import com.wdkl.ncs.android.middleware.common.MessageEvent
|
|
|
+import com.wdkl.ncs.android.middleware.logic.contract.callingbed.QrCodeFragmentContract
|
|
|
+import com.wdkl.ncs.android.middleware.logic.presenter.callingbed.QrCodeFragmentPresenter
|
|
|
+import kotlinx.android.synthetic.main.test_fragment_lay.*
|
|
|
+import org.greenrobot.eventbus.EventBus
|
|
|
+import org.greenrobot.eventbus.Subscribe
|
|
|
+import org.greenrobot.eventbus.ThreadMode
|
|
|
+import serialporttest.utils.SerialPortUtil
|
|
|
+
|
|
|
+class TestFragment : BaseFragment<QrCodeFragmentPresenter, TestFragmentLayBinding>(), QrCodeFragmentContract.View {
|
|
|
+ val TAG = "TestFragment"
|
|
|
+
|
|
|
+ var info = ""
|
|
|
+ var buttonTest = false
|
|
|
+ var testButton1 = false
|
|
|
+ var testButton2 = false
|
|
|
+ var testButton3 = false
|
|
|
+ var testButton4 = false
|
|
|
+ var testButton5 = false
|
|
|
+ var testButton6 = false
|
|
|
+ var testButton7 = false
|
|
|
+
|
|
|
+ //private var mCamera: Camera? = null
|
|
|
+
|
|
|
+ private val handler = Handler(Looper.getMainLooper())
|
|
|
+
|
|
|
+ override fun getLayId(): Int {
|
|
|
+ return R.layout.test_fragment_lay
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun bindDagger() {
|
|
|
+ CallingbedLaunch.component.inject(this)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun init() {
|
|
|
+ RecordHelper.getInstance().init()
|
|
|
+ SoundPoolManager.getInstance().playSound(4, 1.0f, 1.0f, 0)
|
|
|
+
|
|
|
+ //startCameraPreview()
|
|
|
+
|
|
|
+ //2分钟后没有测试完直接退出
|
|
|
+ handler.postDelayed({
|
|
|
+ EventBus.getDefault().post(MessageEvent("BackToMain", Constant.EVENT_BACK_MAIN))
|
|
|
+ }, 150000)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun bindEvent() {
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun startTest() {
|
|
|
+ Thread {
|
|
|
+ info += "--> 麦克风测试:\r\n"
|
|
|
+ showInfo(info)
|
|
|
+ SoundPoolManager.getInstance().playSound(3, 1.0f, 1.0f, 0)
|
|
|
+ Thread.sleep(2000)
|
|
|
+ info += "开始录音...\r\n"
|
|
|
+ showInfo(info)
|
|
|
+ RecordHelper.getInstance().recordTestStart()
|
|
|
+ Thread.sleep(2500)
|
|
|
+ RecordHelper.getInstance().recordTestStop()
|
|
|
+ Thread.sleep(500)
|
|
|
+ info += "播放录音...\r\n"
|
|
|
+ showInfo(info)
|
|
|
+ MediaPlayHelper.getInstance().playUrlMusic(RecordHelper.getInstance().audiofilePath, 1.0f, false)
|
|
|
+
|
|
|
+ Thread.sleep(3000)
|
|
|
+ RecordHelper.getInstance().deleteAudioFile()
|
|
|
+
|
|
|
+ info += "--> 指示灯测试\r\n"
|
|
|
+ showInfo(info)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "0", "000000", "F")
|
|
|
+ Thread.sleep(300)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "0", "999999", "F")
|
|
|
+ Thread.sleep(500)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "1", "000000", "F")
|
|
|
+ Thread.sleep(300)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "1", "999999", "F")
|
|
|
+ Thread.sleep(500)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "2", "000000", "F")
|
|
|
+ Thread.sleep(300)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "2", "999999", "F")
|
|
|
+ Thread.sleep(500)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "3", "000000", "F")
|
|
|
+ Thread.sleep(300)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "3", "999999", "F")
|
|
|
+ Thread.sleep(500)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "4", "000000", "F")
|
|
|
+ Thread.sleep(300)
|
|
|
+ SerialPortUtil.getInstance().sendCommand(SerialPortUtil.NURSELIGHT + "4", "999999", "F")
|
|
|
+ Thread.sleep(1000)
|
|
|
+
|
|
|
+ info += "测试结束,即将退出!"
|
|
|
+ showInfo(info)
|
|
|
+
|
|
|
+ Thread.sleep(6000)
|
|
|
+ EventBus.getDefault().post(MessageEvent("BackToMain", Constant.EVENT_BACK_MAIN))
|
|
|
+ }.start()
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun showInfo(text: String) {
|
|
|
+ activity.runOnUiThread {
|
|
|
+ if (tv_test_info != null) {
|
|
|
+ tv_test_info.text = text
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*private fun startCameraPreview() {
|
|
|
+ val num = Camera.getNumberOfCameras()
|
|
|
+ if (num > 0) {
|
|
|
+ try {
|
|
|
+ mCamera = Camera.open()
|
|
|
+ } catch (e: Exception) {
|
|
|
+ tv_camera.visibility = View.VISIBLE
|
|
|
+ tv_camera.text = "摄像头打开失败"
|
|
|
+ e.printStackTrace()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ camera_preview_surface.getHolder().addCallback(object : SurfaceHolder.Callback {
|
|
|
+ override fun surfaceCreated(holder: SurfaceHolder?) {
|
|
|
+
|
|
|
+ try {
|
|
|
+ mCamera!!.setPreviewDisplay(camera_preview_surface.getHolder())
|
|
|
+ mCamera!!.startPreview()
|
|
|
+ } catch (e: Exception) {
|
|
|
+ e.printStackTrace()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun surfaceChanged(
|
|
|
+ holder: SurfaceHolder?,
|
|
|
+ format: Int,
|
|
|
+ width: Int,
|
|
|
+ height: Int
|
|
|
+ ) {
|
|
|
+ //
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun surfaceDestroyed(holder: SurfaceHolder?) {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ tv_camera.visibility = View.VISIBLE
|
|
|
+ tv_camera.text = "没有摄像头"
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+
|
|
|
+ override fun onStart() {
|
|
|
+ EventBus.getDefault().register(this)
|
|
|
+ super.onStart()
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onStop() {
|
|
|
+ EventBus.getDefault().unregister(this)
|
|
|
+ super.onStop()
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun destory() {
|
|
|
+ /*if (mCamera != null) {
|
|
|
+ mCamera!!.stopPreview()
|
|
|
+ mCamera!!.release()
|
|
|
+ mCamera = null
|
|
|
+ }*/
|
|
|
+ handler.removeCallbacksAndMessages(null)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onError(message: String, type: Int) {
|
|
|
+ //
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun complete(message: String, type: Int) {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun start() {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun networkMonitor(state: NetState) {
|
|
|
+ state.filter(onWifi = {
|
|
|
+
|
|
|
+ },onMobile = {
|
|
|
+
|
|
|
+ },offline = {
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Subscribe(threadMode = ThreadMode.MAIN)
|
|
|
+ fun onMoonEvent(messageEvent: MessageEvent) {
|
|
|
+ if (Constant.EVENT_SERIAL_TEST == messageEvent.type) {
|
|
|
+ if (!buttonTest) {
|
|
|
+ val message = messageEvent.message as String
|
|
|
+ if (message == "call1" && !testButton1) {
|
|
|
+ info += "##面板呼叫键## \r\n"
|
|
|
+ testButton1 = true
|
|
|
+ } else if (message == "call2" && !testButton2) {
|
|
|
+ info += "##手柄按键## \r\n"
|
|
|
+ testButton2 = true
|
|
|
+ } else if (message == "btn1" && !testButton3) {
|
|
|
+ info += "##面板触摸键1## \r\n"
|
|
|
+ testButton3 = true
|
|
|
+ } else if (message == "btn2" && !testButton4) {
|
|
|
+ info += "##面板触摸键2## \r\n"
|
|
|
+ testButton4 = true
|
|
|
+ } else if (message == "btn3" && !testButton5) {
|
|
|
+ info += "##面板触摸键3## \r\n"
|
|
|
+ testButton5 = true
|
|
|
+ } else if (message == "btn4" && !testButton6) {
|
|
|
+ info += "##面板触摸键4## \r\n"
|
|
|
+ testButton6 = true
|
|
|
+ } else if (message == "btn5" && !testButton7) {
|
|
|
+ info += "##面板触摸键5## \r\n"
|
|
|
+ testButton7 = true
|
|
|
+ }
|
|
|
+
|
|
|
+ showInfo(info)
|
|
|
+
|
|
|
+ if (testButton1 && testButton2 && testButton3 && testButton4 && testButton5 && testButton6 && testButton7) {
|
|
|
+ buttonTest = true
|
|
|
+ startTest()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|