|
@@ -3,6 +3,7 @@ package com.wdkl.ncs.android.component.home.adapter
|
|
|
import android.content.Context
|
|
|
import android.content.Intent
|
|
|
import android.net.Uri
|
|
|
+import android.text.TextUtils
|
|
|
import android.util.Log
|
|
|
import android.view.ViewGroup
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
@@ -14,6 +15,7 @@ import com.enation.javashop.utils.base.widget.LoadingDialog
|
|
|
import com.wdkl.ncs.android.component.home.R
|
|
|
import com.wdkl.ncs.android.component.home.activity.VoiceMsgActivity
|
|
|
import com.wdkl.ncs.android.component.home.databinding.AdapterWatchContactsItemBinding
|
|
|
+import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig
|
|
|
import com.wdkl.ncs.android.component.home.ui.CallSingleActivity
|
|
|
import com.wdkl.ncs.android.middleware.common.Constants
|
|
|
import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
|
|
@@ -34,6 +36,8 @@ class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>, val context:
|
|
|
private var thisPosition: Int = -1
|
|
|
private lateinit var loadingDialog: LoadingDialog
|
|
|
|
|
|
+ private var callClick: CallClick? = null
|
|
|
+
|
|
|
override fun dataProvider(): Any {
|
|
|
return data
|
|
|
}
|
|
@@ -76,36 +80,17 @@ class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>, val context:
|
|
|
context.startActivity(intent)
|
|
|
}
|
|
|
|
|
|
- binding.awciBtnCallOut.setOnClickListener{
|
|
|
+ binding.awciBtnCallOut.setOnClickListener {
|
|
|
if (Constants.bedPhoneType == CommunicationEnum.MOBILE_PHONE.value()) {
|
|
|
try {
|
|
|
- if (itemData.phoneNumber != null) {
|
|
|
+ if (!TextUtils.isEmpty(itemData.phoneNumber)) {
|
|
|
val intent = Intent(Intent.ACTION_CALL, Uri.parse("tel:" + itemData.phoneNumber))
|
|
|
context.startActivity(intent)
|
|
|
|
|
|
if (!Constants.uploadCalllog) {
|
|
|
//发送tcp
|
|
|
val tcpModel = PhoneUtil.phoneCall(Constants.deviceId, itemData.deviceId)
|
|
|
- val transaction: TcpCallback = object : TcpCallback(tcpModel.tid) {
|
|
|
- override fun onSuccess(jsonObject: JSONObject) {
|
|
|
- //
|
|
|
- }
|
|
|
-
|
|
|
- override fun onFailed(jsonObject: JSONObject) {
|
|
|
- // 这里写发送失败的方法
|
|
|
- }
|
|
|
- }
|
|
|
- TcpClient.getInstance().sendTcp(tcpModel, true, transaction)
|
|
|
-
|
|
|
- /*NettyClient.instance.sendMsg(tcpModel.toJson())
|
|
|
- .subscribe { res: Boolean ->
|
|
|
- if (res) {
|
|
|
- Log.d(TAG, "TCP.发送消息完成")
|
|
|
- } else {
|
|
|
- Log.e(TAG, "TCP.发送消息失败")
|
|
|
- HandleTcpConnect.instance.tcpReConnectWithMsgShow()
|
|
|
- }
|
|
|
- }*/
|
|
|
+ TcpClient.getInstance().sendTcp(tcpModel, false, null)
|
|
|
}
|
|
|
} else {
|
|
|
showMessage(R.string.call_phone_failed)
|
|
@@ -115,19 +100,34 @@ class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>, val context:
|
|
|
}
|
|
|
} else {
|
|
|
DeviceChannel.calling = true
|
|
|
- //通话
|
|
|
- val tcpModel = VoiceUtil.voiceCall(Constants.deviceId, itemData.deviceId)
|
|
|
- val intent = Intent(context, CallSingleActivity::class.java)
|
|
|
- intent.putExtra(CallSingleActivity.EXTRA_ROOM_ID, Constants.sipId)
|
|
|
- intent.putExtra(CallSingleActivity.EXTRA_MO, true)
|
|
|
- intent.putExtra(CallSingleActivity.EXTRA_AUDIO_ONLY, true)
|
|
|
- intent.putExtra(CallSingleActivity.EXTRA_TCPMODEL, tcpModel)
|
|
|
- intent.putExtra(CallSingleActivity.EXTRA_SHOWNAME, itemData.frameFullName + " " + itemData.customerNamed)
|
|
|
- //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
- context.startActivity(intent)
|
|
|
+ if (SettingConfig.getCallExDoorway(context)) {
|
|
|
+ //呼叫手柄分机对应的门口机
|
|
|
+ if (callClick != null) {
|
|
|
+ callClick?.onCallClick(itemData)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //通话
|
|
|
+ val tcpModel = VoiceUtil.voiceCall(Constants.deviceId, itemData.deviceId)
|
|
|
+ val intent = Intent(context, CallSingleActivity::class.java)
|
|
|
+ intent.putExtra(CallSingleActivity.EXTRA_ROOM_ID, Constants.sipId)
|
|
|
+ intent.putExtra(CallSingleActivity.EXTRA_MO, true)
|
|
|
+ intent.putExtra(CallSingleActivity.EXTRA_AUDIO_ONLY, true)
|
|
|
+ intent.putExtra(CallSingleActivity.EXTRA_TCPMODEL, tcpModel)
|
|
|
+ intent.putExtra(CallSingleActivity.EXTRA_SHOWNAME, itemData.frameFullName)
|
|
|
+ //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
+ context.startActivity(intent)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ fun setCallClick(click: CallClick) {
|
|
|
+ callClick = click
|
|
|
+ }
|
|
|
+
|
|
|
+ interface CallClick {
|
|
|
+ fun onCallClick(contact: WatchContactsVO)
|
|
|
+ }
|
|
|
}
|