|
@@ -0,0 +1,143 @@
|
|
|
+package com.wdkl.ncs.android.component.home.activity
|
|
|
+
|
|
|
+import android.util.Log
|
|
|
+import android.widget.Toast
|
|
|
+import com.enation.javashop.android.jrouter.external.annotation.Autowired
|
|
|
+import com.enation.javashop.android.jrouter.external.annotation.Router
|
|
|
+import com.enation.javashop.net.engine.model.NetState
|
|
|
+import com.enation.javashop.utils.base.tool.CommonTool
|
|
|
+import com.google.gson.FieldNamingPolicy
|
|
|
+import com.google.gson.Gson
|
|
|
+import com.google.gson.GsonBuilder
|
|
|
+import com.wdkl.ncs.android.component.home.R
|
|
|
+import com.wdkl.ncs.android.component.home.databinding.WatchActivityEventDetailBinding
|
|
|
+import com.wdkl.ncs.android.component.home.launch.HomeLaunch
|
|
|
+import com.wdkl.ncs.android.component.nursehome.common.Constants
|
|
|
+import com.wdkl.ncs.android.component.nursehome.util.TimeTransition
|
|
|
+import com.wdkl.ncs.android.lib.base.BaseActivity
|
|
|
+import com.wdkl.ncs.android.lib.base.BaseContract
|
|
|
+import com.wdkl.ncs.android.lib.utils.push
|
|
|
+import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
|
|
|
+import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
|
|
|
+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.EventUtil
|
|
|
+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.TcpType
|
|
|
+import com.wdkl.ncs.android.middleware.utils.MessageEvent
|
|
|
+import kotlinx.android.synthetic.main.watch_activity_event.*
|
|
|
+import kotlinx.android.synthetic.main.watch_activity_event_detail.*
|
|
|
+import org.greenrobot.eventbus.Subscribe
|
|
|
+import org.greenrobot.eventbus.ThreadMode
|
|
|
+
|
|
|
+@Router(path = "/event/detail")
|
|
|
+class WatchEventDetailActivity: BaseActivity<WatchHomeActivityPresenter, WatchActivityEventDetailBinding>(), WatchHomeActivityContract.View{
|
|
|
+ override fun render() {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onError(message: String, type: Int) {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun complete(message: String, type: Int) {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun start() {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun networkMonitor(state: NetState) {
|
|
|
+ }
|
|
|
+
|
|
|
+ var TAG = WatchEventDetailActivity::class.java.getSimpleName()
|
|
|
+
|
|
|
+ override fun bindDagger() {
|
|
|
+ HomeLaunch.component.inject(this)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun bindEvent() {
|
|
|
+ back.setOnClickListener {
|
|
|
+ push("/watch/callrecords", { postcard ->
|
|
|
+ postcard.withString("action","ALL")
|
|
|
+ postcard.withString("customer_id","")
|
|
|
+ })
|
|
|
+ }
|
|
|
+ event_status_img.setOnClickListener {
|
|
|
+ event_status_img.isEnabled = false
|
|
|
+ if (tcpModel?.type == TcpType.EVENT) {
|
|
|
+ var tcpModel = EventUtil.eventResponse(Integer.parseInt(Constants.ids), interactionVO!!.fromDeviceId, interactionVO!!.id)
|
|
|
+ TcpClient.getInstance().sendMsg(tcpModel.toJson())
|
|
|
+ } else if (tcpModel?.type == TcpType.IM) {
|
|
|
+ //todo: 语音播放
|
|
|
+ Log.i(TAG, "语音播放")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun destory() {
|
|
|
+ }
|
|
|
+
|
|
|
+ //参数自动注入
|
|
|
+ @Autowired(name= "tcpModelStr",required = true)
|
|
|
+ @JvmField var tcpModelStr: String = ""
|
|
|
+
|
|
|
+ var interactionVO:InteractionVO? = null
|
|
|
+ var tcpModel:TcpModel? = null
|
|
|
+
|
|
|
+ override fun init() {
|
|
|
+ Log.i(TAG, "参数 tcpModelStr : " + tcpModelStr)
|
|
|
+ tcpModel = TcpModel.getModelByJson(tcpModelStr)
|
|
|
+ //var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
|
|
|
+ interactionVO = Gson().fromJson(tcpModel?.data.toString(), InteractionVO::class.java)
|
|
|
+
|
|
|
+ if (interactionVO!=null) {
|
|
|
+ baby_mother_name.setText(interactionVO?.fromMemberName)
|
|
|
+
|
|
|
+ if (tcpModel?.type == TcpType.IM){
|
|
|
+ event_text.setText("语音留言")
|
|
|
+ if (interactionVO?.actionEnd != null) {
|
|
|
+ event_end_text.setText(TimeTransition().stampToDate(interactionVO!!.actionEnd*1000))
|
|
|
+ event_status_img.isEnabled = false
|
|
|
+ event_status_img.setImageResource(com.starrtc.demo.R.drawable.icon_hd_live_item)
|
|
|
+ } else {
|
|
|
+ event_status_img.setImageResource(com.starrtc.demo.R.drawable.icon_hd_live)
|
|
|
+ }
|
|
|
+ } else if (tcpModel?.type == TcpType.EVENT){
|
|
|
+ event_text.setText(interactionVO?.data)
|
|
|
+
|
|
|
+ if (interactionVO?.actionEnd != null) {
|
|
|
+ event_end_text.setText(TimeTransition().stampToDate(interactionVO!!.actionEnd*1000))
|
|
|
+ event_status_img.isEnabled = false
|
|
|
+ event_status_img.setImageResource(com.starrtc.demo.R.drawable.icon_switch_on)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun getLayId(): Int {
|
|
|
+ return R.layout.watch_activity_event_detail
|
|
|
+ }
|
|
|
+
|
|
|
+ @Subscribe(threadMode = ThreadMode.MAIN)
|
|
|
+ fun onMoonEvent(messageEvent: MessageEvent){
|
|
|
+ if (messageEvent.tag==0){
|
|
|
+ var resTcpModel = messageEvent.getMessage() as TcpModel
|
|
|
+ if (resTcpModel.type == TcpType.DATA && resTcpModel.action == TcpAction.DataAction.INTERACTION){
|
|
|
+ if (resTcpModel.data!=null) {
|
|
|
+
|
|
|
+ val responseInteractionVO = Gson().fromJson<InteractionVO>(resTcpModel.getData().toString(), InteractionVO::class.java)
|
|
|
+
|
|
|
+ if (tcpModel?.type == TcpType.IM){
|
|
|
+ event_status_img.setImageResource(com.starrtc.demo.R.drawable.icon_hd_live_item)
|
|
|
+ Toast.makeText(this, "已播放", Toast.LENGTH_SHORT)
|
|
|
+ } else if (tcpModel?.type == TcpType.EVENT){
|
|
|
+ event_status_img.setImageResource(com.starrtc.demo.R.drawable.icon_switch_on)
|
|
|
+ Toast.makeText(this, "已响应", Toast.LENGTH_SHORT)
|
|
|
+ }
|
|
|
+
|
|
|
+ event_end_text.setText(TimeTransition().stampToDate(responseInteractionVO.actionEnd * 1000))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|