Browse Source

## [1.0.12] version 12 - 2020-07-09
### Changed
- SOS置于通话状态中,呼叫时对当前设备做占线处理
- 升级时对当前设备做占线处理
- 切换设备时对当前设备做占线处理
- 换班时对当前设备做占线处理
---

allen 4 năm trước cách đây
mục cha
commit
26c7401144

+ 2 - 2
build.gradle

@@ -47,12 +47,12 @@ buildscript {
     /**
      * APP版本码
      */
-    ext.app_version_code = 11
+    ext.app_version_code = 12
 
     /**
      * APP版本号
      */
-    ext.app_version = "1.0.11"
+    ext.app_version = "1.0.12"
 
     /**
      * 项目依赖库

+ 17 - 6
home/src/main/code/com/wdkl/ncs/android/component/home/activity/SOSEmergencyCallActivity.kt

@@ -2,13 +2,14 @@ package com.wdkl.ncs.android.component.home.activity
 
 import android.app.Activity
 import android.content.Context
+import android.media.AudioManager
 import android.os.Bundle
 import android.os.VibrationEffect
 import android.os.Vibrator
-import android.util.Log
 import android.view.KeyEvent
 import android.view.View
 import com.google.gson.Gson
+import com.wdkl.core.voip.AsyncPlayer
 import com.wdkl.ncs.android.component.home.R
 import com.wdkl.ncs.android.component.home.util.MediaPlayHelper
 import com.wdkl.ncs.android.component.nursehome.common.Constants
@@ -16,12 +17,13 @@ import com.wdkl.ncs.android.lib.utils.AppTool
 import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
 import com.wdkl.ncs.android.middleware.tcp.TcpClient
+import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel
 import com.wdkl.ncs.android.middleware.tcp.channel.OtherUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
-import kotlinx.android.synthetic.main.activity_sos_emergency_call.*
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
 import com.wdkl.ncs.android.middleware.utils.MessageEvent
+import kotlinx.android.synthetic.main.activity_sos_emergency_call.*
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
@@ -33,6 +35,7 @@ class SOSEmergencyCallActivity : Activity(), View.OnClickListener {
     var tcpModel: TcpModel? = null
     var interactionVO: InteractionVO? = null
     lateinit var mVibrator: Vibrator
+    lateinit var asyncPlayer: AsyncPlayer
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -50,7 +53,9 @@ class SOSEmergencyCallActivity : Activity(), View.OnClickListener {
             mVibrator.vibrate(pattern, 0)
         }
         init()
-        MediaPlayHelper.getInstance().playResMusic(R.raw.sos2, 1.0f, true)
+        asyncPlayer = AsyncPlayer(TAG)
+        asyncPlayer.play(this,R.raw.sos2,true, AudioManager.STREAM_MUSIC)
+        //MediaPlayHelper.getInstance().playResMusic(R.raw.sos2, 1.0f, true)
     }
 
     override fun onStart() {
@@ -67,7 +72,9 @@ class SOSEmergencyCallActivity : Activity(), View.OnClickListener {
     override fun onClick(p0: View) {
         when (p0.id) {
             R.id.hang_up_imagev -> {
-                MediaPlayHelper.getInstance().stopMusic()
+                DeviceChannel.calling = false    //解除通话状态中
+                asyncPlayer.stop()
+//                MediaPlayHelper.getInstance().stopMusic()
                 //给服务器发送处理SOStcp
                 var otherUtilTcpModel = OtherUtil.SOSCancel(Constants.deviceId.toInt(), tcpModel?.fromId, interactionVO?.id)
                 TcpClient.getInstance().sendMsg(otherUtilTcpModel.toJson())
@@ -80,8 +87,10 @@ class SOSEmergencyCallActivity : Activity(), View.OnClickListener {
 
     override fun onStop() {
         super.onStop()
+        DeviceChannel.calling = false    //解除通话状态中
         mVibrator.cancel()
-        MediaPlayHelper.getInstance().stopMusic()
+        asyncPlayer.stop()
+//        MediaPlayHelper.getInstance().stopMusic()
         EventBus.getDefault().unregister(this)
     }
 
@@ -93,7 +102,9 @@ class SOSEmergencyCallActivity : Activity(), View.OnClickListener {
                 TcpType.SOS -> if (tcpModel.getAction() === TcpAction.SOSAction.CANCEL) {
                     val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                     showMessage(interactionVO.toRoleName + " " + interactionVO.toMemberName + " 已处理")
-                    MediaPlayHelper.getInstance().stopMusic()
+                    DeviceChannel.calling = false    //解除通话状态中
+                    asyncPlayer.stop()
+//                    MediaPlayHelper.getInstance().stopMusic()
                     mVibrator.cancel()
                     AppTool.Time.delay(1000) {
                         finish()

+ 4 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/service/TcpHandleService.kt

@@ -127,8 +127,8 @@ class TcpHandleService : Service(){
                     Thread.sleep(3000)
                 }
 
+                DeviceChannel.calling = true    //置于通话状态中,不可呼叫
                 Util.wakeUpAndUnlock(this)
-
                 var tcpModel = messageEvent.getMessage() as TcpModel
                 if (tcpModel.type == TcpType.SOS && tcpModel.action === TcpAction.SOSAction.CALL) {
                     var intent = Intent()
@@ -143,6 +143,7 @@ class TcpHandleService : Service(){
                 while (DeviceChannel.calling) {    //通话中不处理,一直等待至结束
                     Thread.sleep(3000)
                 }
+                DeviceChannel.calling = true    //置于通话状态中,不可呼叫
                 Util.wakeUpAndUnlock(this)
                 AppUtils.restartApp()
             }
@@ -152,6 +153,7 @@ class TcpHandleService : Service(){
                     Thread.sleep(3000)
                 }
 
+                DeviceChannel.calling = true    //置于通话状态中,不可呼叫
                 Util.wakeUpAndUnlock(this)
                 var tcpModel = messageEvent.getMessage() as TcpModel
                 if (tcpModel.action == TcpAction.DeviceAction.RESTART) {
@@ -164,6 +166,7 @@ class TcpHandleService : Service(){
                     Thread.sleep(3000)
                 }
 
+                DeviceChannel.calling = true    //置于通话状态中,不可呼叫
                 Util.wakeUpAndUnlock(this)
                 var tcpModel = messageEvent.getMessage() as TcpModel
                 if (tcpModel.action == TcpAction.DeviceAction.APP_UPDATE) {

+ 9 - 1
readme.md

@@ -25,7 +25,15 @@
 在发布新版本时,可以直接将Unreleased区块中的内容移动至新发 布版本的描述区块就可以了
 
 ---
-## [1.0.10] version 10 - 2020-07-08
+## [1.0.12] version 12 - 2020-07-09
+### Changed
+- SOS置于通话状态中,呼叫时对当前设备做占线处理
+- 升级时对当前设备做占线处理
+- 切换设备时对当前设备做占线处理
+- 换班时对当前设备做占线处理
+---
+
+## [1.0.11] version 11 - 2020-07-08
 ### Changed
 - 去掉10%以下电量持续告警
 ---