|
@@ -5,6 +5,7 @@ import android.util.Log
|
|
import android.view.View
|
|
import android.view.View
|
|
import com.alibaba.android.vlayout.DelegateAdapter
|
|
import com.alibaba.android.vlayout.DelegateAdapter
|
|
import com.alibaba.android.vlayout.VirtualLayoutManager
|
|
import com.alibaba.android.vlayout.VirtualLayoutManager
|
|
|
|
+import com.alibaba.fastjson.JSONObject
|
|
import com.enation.javashop.android.jrouter.external.annotation.Router
|
|
import com.enation.javashop.android.jrouter.external.annotation.Router
|
|
import com.enation.javashop.net.engine.model.NetState
|
|
import com.enation.javashop.net.engine.model.NetState
|
|
import com.scwang.smartrefresh.layout.footer.ClassicsFooter
|
|
import com.scwang.smartrefresh.layout.footer.ClassicsFooter
|
|
@@ -13,6 +14,7 @@ import com.wdkl.ncs.android.component.home.adapter.RoomItemAdapter
|
|
import com.wdkl.ncs.android.component.home.adapter.WatchContactsItemAdapter
|
|
import com.wdkl.ncs.android.component.home.adapter.WatchContactsItemAdapter
|
|
import com.wdkl.ncs.android.component.home.databinding.WatchContactsLayBinding
|
|
import com.wdkl.ncs.android.component.home.databinding.WatchContactsLayBinding
|
|
import com.wdkl.ncs.android.component.home.launch.HomeLaunch
|
|
import com.wdkl.ncs.android.component.home.launch.HomeLaunch
|
|
|
|
+import com.wdkl.ncs.android.component.home.ui.CallSingleActivity
|
|
import com.wdkl.ncs.android.middleware.common.Constants
|
|
import com.wdkl.ncs.android.middleware.common.Constants
|
|
import com.wdkl.ncs.android.lib.utils.showMessage
|
|
import com.wdkl.ncs.android.lib.utils.showMessage
|
|
import com.wdkl.ncs.android.middleware.logic.contract.home.WatchActivityContract
|
|
import com.wdkl.ncs.android.middleware.logic.contract.home.WatchActivityContract
|
|
@@ -20,6 +22,9 @@ import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchActivityPresent
|
|
import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
|
|
import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
|
|
import com.wdkl.ncs.android.lib.vo.MessageEvent
|
|
import com.wdkl.ncs.android.lib.vo.MessageEvent
|
|
import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
|
|
import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
|
|
|
|
+import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
|
|
+import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
|
|
|
|
+import com.wdkl.ncs.android.middleware.tcp.dto.TcpCallback
|
|
import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
|
|
import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
|
|
@@ -35,9 +40,9 @@ class WatchContactsActivity : BaseActivity<WatchActivityPresenter, WatchContacts
|
|
private val adapter = WatchContactsItemAdapter(ArrayList(),this)
|
|
private val adapter = WatchContactsItemAdapter(ArrayList(),this)
|
|
private val roomAdapter = RoomItemAdapter(ArrayList(), this)
|
|
private val roomAdapter = RoomItemAdapter(ArrayList(), this)
|
|
private var checkId = 0
|
|
private var checkId = 0
|
|
|
|
+ private var roomDevices: ArrayList<DeviceVO>? = null
|
|
|
|
|
|
private lateinit var virtualLayoutManager: VirtualLayoutManager
|
|
private lateinit var virtualLayoutManager: VirtualLayoutManager
|
|
-
|
|
|
|
private lateinit var delegateAdapter: DelegateAdapter
|
|
private lateinit var delegateAdapter: DelegateAdapter
|
|
|
|
|
|
|
|
|
|
@@ -103,15 +108,15 @@ class WatchContactsActivity : BaseActivity<WatchActivityPresenter, WatchContacts
|
|
}
|
|
}
|
|
|
|
|
|
private fun loadData() {
|
|
private fun loadData() {
|
|
|
|
+ //加载门口机设备列表
|
|
|
|
+ if (Constants.partId != -1) {
|
|
|
|
+ presenter.loadDeviceVos(DeviceTypeEnum.DOOR_DEVICE.value(), Constants.partId)
|
|
|
|
+ }
|
|
|
|
+
|
|
if (checkId == R.id.rb_tab_room) {
|
|
if (checkId == R.id.rb_tab_room) {
|
|
//房间列表
|
|
//房间列表
|
|
watch_contacts_list.visibility = View.GONE
|
|
watch_contacts_list.visibility = View.GONE
|
|
room_list.visibility = View.VISIBLE
|
|
room_list.visibility = View.VISIBLE
|
|
- if (Constants.partId != -1) {
|
|
|
|
- presenter.loadDeviceVos(DeviceTypeEnum.DOOR_DEVICE.value(), Constants.partId)
|
|
|
|
- } else {
|
|
|
|
- showMessage("partId null!")
|
|
|
|
- }
|
|
|
|
} else {
|
|
} else {
|
|
//床位列表
|
|
//床位列表
|
|
watch_contacts_list.visibility = View.VISIBLE
|
|
watch_contacts_list.visibility = View.VISIBLE
|
|
@@ -158,9 +163,34 @@ class WatchContactsActivity : BaseActivity<WatchActivityPresenter, WatchContacts
|
|
intent.putExtra("action", "CUSTOMER_RECORDS")
|
|
intent.putExtra("action", "CUSTOMER_RECORDS")
|
|
intent.putExtra("customer_id", ""+customerId)
|
|
intent.putExtra("customer_id", ""+customerId)
|
|
startActivity(intent)
|
|
startActivity(intent)
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ adapter.setCallClick(object :WatchContactsItemAdapter.CallClick{
|
|
|
|
+ override fun onCallClick(contact: WatchContactsVO) {
|
|
|
|
+ //查询需要呼叫的分机设备的上级设备即门口机,然后发起呼叫
|
|
|
|
+ if (roomDevices != null) {
|
|
|
|
+ for (device in roomDevices!!) {
|
|
|
|
+ if (device.frameId == contact.frameParentId) {
|
|
|
|
+ //发起呼叫
|
|
|
|
+ val tcpModel = VoiceUtil.voiceCall(Constants.deviceId, device.id)
|
|
|
|
+ val intent = Intent(activity, 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, "")
|
|
|
|
+ //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
|
+ startActivity(intent)
|
|
|
|
+
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ showMessage("没有设备")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
group_bed_room.setOnCheckedChangeListener { group, checkedId ->
|
|
group_bed_room.setOnCheckedChangeListener { group, checkedId ->
|
|
checkId = checkedId
|
|
checkId = checkedId
|
|
loadData()
|
|
loadData()
|
|
@@ -196,6 +226,7 @@ class WatchContactsActivity : BaseActivity<WatchActivityPresenter, WatchContacts
|
|
refresh.finishRefresh()
|
|
refresh.finishRefresh()
|
|
refresh.finishLoadMore()
|
|
refresh.finishLoadMore()
|
|
|
|
|
|
|
|
+ roomDevices = devices
|
|
if (devices.size > 0) {
|
|
if (devices.size > 0) {
|
|
roomAdapter.data.clear()
|
|
roomAdapter.data.clear()
|
|
roomAdapter.data.addAll(devices)
|
|
roomAdapter.data.addAll(devices)
|