Browse Source

添加获取护士 以及组长转接时长接口
优化UI
事件界面添加呼叫按钮

wjk 4 năm trước cách đây
mục cha
commit
9eb31e8b8a
23 tập tin đã thay đổi với 347 bổ sung162 xóa
  1. 1 1
      WebRTC/src/main/java/com/wdkl/core/consts/Urls.java
  2. 2 2
      app/src/main/AndroidManifest.xml
  3. 1 0
      common/src/main/res/values/colors.xml
  4. 6 1
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/EventActivity.kt
  5. 6 0
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchContactsActivity.kt
  6. 7 2
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchEventDetailActivity.kt
  7. 100 26
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt
  8. 21 6
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHomeActivity.kt
  9. 13 1
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt
  10. 5 0
      home/src/main/res/drawable/item_selector.xml
  11. 2 2
      home/src/main/res/layout/adapter_watch_call_records_item.xml
  12. 7 4
      home/src/main/res/layout/adapter_watch_contacts_item.xml
  13. 4 4
      home/src/main/res/layout/takeover_item.xml
  14. 2 1
      home/src/main/res/layout/user_setting_layout.xml
  15. 12 10
      home/src/main/res/layout/watch_activity_event_detail.xml
  16. 2 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/api/UrlManager.kt
  17. 7 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/api/WatchDeviceInfoAndTCPMailingAddressApi.kt
  18. 8 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchHomeActivityContract.kt
  19. 4 4
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchDevicePresenter.kt
  20. 25 8
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchHomeActivityPresenter.kt
  21. 107 84
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/dos/PartSettingDO.java
  22. 4 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java
  23. 1 1
      rtc-chat/src/main/java/com/wdkl/skywebrtc/engine/webrtc/WebRTCEngine.java

+ 1 - 1
WebRTC/src/main/java/com/wdkl/core/consts/Urls.java

@@ -10,7 +10,7 @@ public class Urls {
     //public final static String IP = "42.192.40.58:5000";
 //    public final static String IP = "172.28.100.100:5000";
 
-    public final static String IP = "8.129.220.143:5000";
+    public final static String IP = "120.76.246.253:5000";
 
     private final static String HOST = "http://" + IP + "/";
 

+ 2 - 2
app/src/main/AndroidManifest.xml

@@ -47,9 +47,9 @@
 
 <!--        <activity android:name="com.wdkl.ncs.android.component.welcome.activity.WelcomeActivity"-->
 <!--            >-->
-        <activity android:name="com.wdkl.ncs.android.component.home.activity.WatchRegisterActivity">
+<!--        <activity android:name="com.wdkl.ncs.android.component.home.activity.WatchRegisterActivity">-->
 <!--        <activity android:name="com.starrtc.demo.demo.SplashActivity">-->
-<!--        <activity android:name="com.wdkl.ncs.android.component.home.activity.WatchHome2Activity">&ndash;&gt;-->
+        <activity android:name="com.wdkl.ncs.android.component.home.activity.WatchHome2Activity">-->
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
 

+ 1 - 0
common/src/main/res/values/colors.xml

@@ -9,5 +9,6 @@
     <color name="color_gray">#e4e6e5</color>
     <color name="color_red">#ea3a3d</color>
     <color name="color_pop_header">#878a8a</color>
+    <color name="color_gray2">#808080</color>
 
 </resources>

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

@@ -19,7 +19,9 @@ import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityCont
 import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
 import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
 import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
 import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
 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.EventUtil
@@ -188,6 +190,9 @@ class EventActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivityEven
 
     }
 
+    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
+    }
+
     override fun onError(message: String, type: Int) {
     }
 
@@ -199,7 +204,7 @@ class EventActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivityEven
 
     override fun networkMonitor(state: NetState) {
     }
-    override fun showData(data: DeviceDO) {
+    override fun showData(data: DeviceVO) {
     }
 
     override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {

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

@@ -97,6 +97,9 @@ class WatchContactsActivity : BaseActivity<WatchActivityPresenter, WatchContacts
         }
 
         adapter.setOnItemClickListener { data, position ->
+//            adapter.setThisPosition(position)
+//            adapter.notifyDataSetChanged()
+
             //todo 临时写的测试语音通话功能
             var customerId = data.customerId
             if(data.customerId == null){
@@ -110,6 +113,9 @@ class WatchContactsActivity : BaseActivity<WatchActivityPresenter, WatchContacts
             startActivity(intent)
 
         }
+
+
+
     }
 
     override fun render(data: ArrayList<WatchContactsVO>) {

+ 7 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchEventDetailActivity.kt

@@ -31,7 +31,9 @@ import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityCont
 import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
 import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
 import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
 import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
 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
@@ -71,6 +73,9 @@ class WatchEventDetailActivity : BaseActivity<WatchHomeActivityPresenter, WatchA
     override fun render(appInfo: AppVersionDO) {
     }
 
+    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
+    }
+
     override fun onError(message: String, type: Int) {
     }
 
@@ -191,7 +196,7 @@ class WatchEventDetailActivity : BaseActivity<WatchHomeActivityPresenter, WatchA
                 }
             } else {
                 call_out_linlyout.visibility = View.GONE
-                call_relyout.visibility = View.VISIBLE
+//                call_relyout.visibility = View.VISIBLE
                 if (tcpModel?.type == TcpType.VOICE) {
                     //todo 腕表没有按主机这边设计 没数据
                     if (interactionVO?.actionEnd != null) {
@@ -237,7 +242,7 @@ class WatchEventDetailActivity : BaseActivity<WatchHomeActivityPresenter, WatchA
             }
         }
     }
-    override fun showData(data: DeviceDO) {
+    override fun showData(data: DeviceVO) {
     }
 
     override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {

+ 100 - 26
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt

@@ -5,8 +5,12 @@ import android.content.BroadcastReceiver
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
+import android.content.pm.PackageManager
 import android.graphics.Color
 import android.net.wifi.WifiManager
+import android.provider.Settings
+import android.support.v4.app.ActivityCompat
+import android.support.v4.content.ContextCompat
 import android.telephony.PhoneStateListener
 import android.telephony.SignalStrength
 import android.telephony.TelephonyManager
@@ -25,9 +29,12 @@ import com.wdkl.ncs.android.component.home.BuildConfig
 import com.wdkl.ncs.android.component.home.R
 import com.wdkl.ncs.android.component.home.SOSEmergencyCallActivity
 import com.wdkl.ncs.android.component.home.broadcast.BatteryBroadcastReceiver
+import com.wdkl.ncs.android.component.home.databinding.WatchActivityHome2Binding
 import com.wdkl.ncs.android.component.home.databinding.WatchActivityHomeBinding
 import com.wdkl.ncs.android.component.home.launch.HomeLaunch
 import com.wdkl.ncs.android.component.home.service.APPService
+import com.wdkl.ncs.android.component.home.service.TcpHandleService
+import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.home.util.NetHelper
 import com.wdkl.ncs.android.component.home.util.SpeechUtil
 import com.wdkl.ncs.android.component.home.util.Util
@@ -42,7 +49,9 @@ import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityCont
 import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
 import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
 import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
 import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
 
 import com.wdkl.ncs.android.middleware.tcp.TcpClient
 
@@ -72,10 +81,9 @@ import org.greenrobot.eventbus.ThreadMode
 import kotlin.collections.ArrayList
 
 //@Router(path = "/watch/home")
-class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivityHomeBinding>(), WatchHomeActivityContract.View, View.OnClickListener, View.OnLongClickListener,
+class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivityHome2Binding>(), WatchHomeActivityContract.View, View.OnClickListener, View.OnLongClickListener,
        IUserState {
 
-
     var TAG = WatchHome2Activity::class.java.getSimpleName()
 
     //监听网络变化
@@ -85,7 +93,9 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
     private var netType: Int = -1
 
     lateinit var batteryBroadcastReceiver: BatteryBroadcastReceiver
+    private var isRegister = true
 
+    private val WRITE_EXTERNAL_STORAGE_REQUEST_CODE = 127//这个值是自定义的一个int值,在申请多个权限时要
 
     override fun getLayId(): Int {
         return R.layout.watch_activity_home2
@@ -99,9 +109,37 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
 //        AppTool.SystemUI.showNavigationBar(this,false)
 //        AppTool.SystemUI.ImmersiveWithBottomBarColor(this, Color.BLACK)
 
-        presenter.loadTcpServerHost()
+        val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
+
+        if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
+            ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_PHONE_STATE), WRITE_EXTERNAL_STORAGE_REQUEST_CODE)
+        } else {
+            //TODO
+        }
+
 
-        requestPermissions()
+        Constants.imei = Util().getIMEI(this)
+        Log.e(TAG, "IMEI " + Util().getIMEI(this))
+
+        Constants.mac = NetHelper.getInstance().macAddress
+        //Constants.mac = "4C:C0:0A:8E:D6:BB"
+        Log.e(TAG, "mac " + Constants.mac)
+        tv_mac_addr.text = "MAC地址: " + Constants.mac + "\n" + "IMEI号:" + Constants.imei
+
+        Thread(Runnable {
+            while (isRegister) {
+                Log.e(TAG,"注册心跳")
+                runOnUiThread(Runnable {
+                    presenter.loadTcpServerHost()
+
+                })
+                try {
+                    Thread.sleep(3000)
+                } catch (e: Exception) {
+                }
+            }
+
+        }).start()
 
 
     }
@@ -164,6 +202,9 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
     override fun userLogout() {
         sip_state_tv.setBackgroundColor(Color.parseColor("#FF0000"))
         Log.e(TAG, "webrtc 注册失败")
+        var intent = Intent(this,WatchRegisterActivity::class.java)
+        startActivity(intent)
+        finish()
     }
 
     private fun unRegReceiver() {
@@ -177,6 +218,10 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
         state_linlyout.setOnClickListener(this)
         user_name_linlyout.setOnLongClickListener(this)
         other_linyout.setOnClickListener(this)
+        setting_tv.setOnClickListener({
+            val intent = Intent(Settings.ACTION_SETTINGS)
+            startActivity(intent)
+        })
     }
 
     override fun destory() {
@@ -220,7 +265,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
     /**
      * 返回的设备信息
      */
-    override fun showData(data: DeviceDO) {
+    override fun showData(data: DeviceVO) {
         watch_activity_register_layout.visibility = View.GONE
         watch_activity_home_linyout.visibility = View.VISIBLE
 
@@ -232,11 +277,13 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
         Constants.sip_ip = "192.168.1.162"
         Constants.sip_id = data.sipId
         Constants.sip_password = data.sipPassword
-//        Constants.user_name = data.memberName
+        Constants.user_name = data.memberName
         Constants.user_role_name = data.name
 
-        if (TextUtils.isEmpty(Constants.ids) || TextUtils.isEmpty(Constants.sip_id) || TextUtils.isEmpty(Constants.user_name)
-                || TextUtils.isEmpty(Constants.user_role_name)) {
+        if (TextUtils.isEmpty(Constants.ids) || TextUtils.isEmpty(Constants.sip_id)
+//                || TextUtils.isEmpty(Constants.user_name)
+//                || TextUtils.isEmpty(Constants.user_role_name)
+        ) {
             showMessage("初始化数据时服务器返回数据不全,请联系管理员")
             tv_feedback_device_info.text = "初始化数据时服务器返回数据不全,请联系管理员"
             return
@@ -252,6 +299,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
 //
 ////        initSDK("000100")
         initSDK(data.sipId)
+        presenter.getDeviceSettingData(""+Constants.part_id)
         initInterfaceData()
         showMessage("初始化完成")
     }
@@ -260,12 +308,17 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
      * 返回的tcp信息
      */
     override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
-        Constants.tcp_server = tcpSeverDTO.publicIp
-        Constants.tcp_port = tcpSeverDTO.tcpPort
-        Constants.heart_beat = tcpSeverDTO.readerIdleTime
+        isRegister = false
+        if(tcpSeverDTO.publicIp!= null && tcpSeverDTO.tcpPort != null && tcpSeverDTO.readerIdleTime != null){
+            Constants.tcp_server = tcpSeverDTO.publicIp
+            Constants.tcp_port = tcpSeverDTO.tcpPort
+            Constants.heart_beat = tcpSeverDTO.readerIdleTime
+
+            startConnectTcpServer()
+            showMessage("开始连接TCP服务器...")
+            requestPermissions()
+        }
 
-        startConnectTcpServer()
-        showMessage("开始连接TCP服务器...")
 
     }
 
@@ -303,10 +356,12 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
     fun initInterfaceData() {
         watch_name_tv.text = Constants.user_name
 
-        if (Constants.user_role_name!!.contains("腕表")) {
-            watch_role_name_tv.text = Constants.user_role_name!!.substring(0, (Constants.user_role_name)!!.indexOf("腕表"))
-        } else {
-            watch_role_name_tv.text = Constants.user_role_name
+        if (Constants.user_name!=null){
+            if (Constants.user_role_name!!.contains("腕表")) {
+                watch_role_name_tv.text = Constants.user_role_name!!.substring(0, (Constants.user_role_name)!!.indexOf("腕表"))
+            } else {
+                watch_role_name_tv.text = Constants.user_role_name
+            }
         }
 
         //开始ping网络,30秒ping一次
@@ -336,7 +391,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
                         if (lastSignal > 0) {
                             var mobileNetworkSignal = lastSignal
                         }
-                        Log.e(TAG, "wzlll 数据连接信号强度:" + lastSignal)
+                        Log.i(TAG, "wifi信号强度:" + lastSignal)
                     }
                 }, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
             }
@@ -358,6 +413,20 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
 
     }
 
+    /**
+     * 设置设备数据
+     */
+    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
+        Log.i(TAG,"收到设置设备数据 transferDuration"+partSettingDO.transferDuration)
+        Log.i(TAG,"收到设置设备数据 transferDurationLeader"+partSettingDO.transferDurationLeader)
+        if(partSettingDO != null){
+            if (!Constants.user_role_name!!.contains("护士组长")&& Constants.user_role_name!!.contains("护士")) {
+                SettingConfig.setCountdownTime(application, partSettingDO.transferDuration)
+            }else if(Constants.user_role_name!!.contains("护士组长")){
+                SettingConfig.setCountdownTime(application, partSettingDO.transferDurationLeader)
+            }
+        }
+    }
 
     override fun onError(message: String, type: Int) {
     }
@@ -440,10 +509,15 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
                 startActivity(intent)
             }
             R.id.user_name_linlyout -> {
-                var intent = Intent(this, WatchCallRecordsActivity::class.java)
-                intent.putExtra("action", "UNREAD")
-                intent.putExtra("customer_id", "")
-                startActivity(intent)
+                if (Constants.user_name==null){
+                    var intent = Intent(this, TakeoverActivity().javaClass)
+                    startActivity(intent)
+                } else {
+                    var intent = Intent(this, WatchCallRecordsActivity::class.java)
+                    intent.putExtra("action", "UNREAD")
+                    intent.putExtra("customer_id", "")
+                    startActivity(intent)
+                }
 
             }
             R.id.state_linlyout -> {
@@ -462,9 +536,9 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
      */
     override fun onLongClick(p0: View): Boolean {
         when (p0.id) {
-            R.id.user_name_linlyout -> {
-//                val intent = Intent(this, WatchUserSettingActivity::class.java)
-//                startActivity(intent)
+            R.id.user_name_linlyout ->{
+                var intent = Intent(this, TakeoverActivity().javaClass)
+                startActivity(intent)
             }
         }
         return true
@@ -490,7 +564,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
             //唤醒屏幕并解锁屏幕
             Util().wakeUpAndUnlock(this)
 
-        } else if (messageEvent.tag == Constants.EVENT_TCP_APP_UPDATE) {
+        } else if (messageEvent.tag == 13) {
             //更新APP
             checkAppVersion()
         } else if (messageEvent.tag == Constants.EVENT_SIP_REGISTER_STATUS) {

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

@@ -24,6 +24,7 @@ import com.wdkl.ncs.android.component.home.SOSEmergencyCallActivity
 import com.wdkl.ncs.android.component.home.broadcast.BatteryBroadcastReceiver
 import com.wdkl.ncs.android.component.home.databinding.WatchActivityHomeBinding
 import com.wdkl.ncs.android.component.home.launch.HomeLaunch
+import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.home.util.NetHelper
 import com.wdkl.ncs.android.component.home.util.SpeechUtil
 import com.wdkl.ncs.android.component.home.util.Util
@@ -36,12 +37,11 @@ import com.wdkl.ncs.android.lib.utils.showMessage
 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.dos.AppVersionDO
-import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
 import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
-
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
 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.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
@@ -50,7 +50,6 @@ import com.wdkl.ncs.android.middleware.utils.MessageEvent
 import kotlinx.android.synthetic.main.watch_activity_home.*
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
-import kotlin.collections.ArrayList
 
 @Router(path = "/watch/home")
 class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivityHomeBinding>(), WatchHomeActivityContract.View, View.OnClickListener, View.OnLongClickListener,IUserState {
@@ -216,7 +215,23 @@ class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivity
             }
         }
     }
-    override fun showData(data: DeviceDO) {
+
+    /**
+     * 设置设备数据
+     */
+    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
+        Log.i(TAG,"收到设置设备数据 transferDuration"+partSettingDO.transferDuration)
+        Log.i(TAG,"收到设置设备数据 transferDurationLeader"+partSettingDO.transferDurationLeader)
+        if(partSettingDO != null){
+            if (!Constants.user_role_name!!.contains("护士组长")&& Constants.user_role_name!!.contains("护士")) {
+                SettingConfig.setCountdownTime(application, partSettingDO.transferDuration)
+            }else if(Constants.user_role_name!!.contains("护士组长")){
+                SettingConfig.setCountdownTime(application, partSettingDO.transferDurationLeader)
+            }
+        }
+    }
+
+    override fun showData(data: DeviceVO) {
     }
 
     override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {

+ 13 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt

@@ -1,5 +1,6 @@
 package com.wdkl.ncs.android.component.home.adapter
 
+import android.graphics.Color
 import android.util.Log
 import android.view.ViewGroup
 import com.alibaba.android.vlayout.LayoutHelper
@@ -11,6 +12,10 @@ import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
 import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
 
 class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>) : BaseDelegateAdapter<BaseRecyclerViewHolder<AdapterWatchContactsItemBinding>, WatchContactsVO>(){
+
+
+    private var thisPosition: Int = -1
+
     override fun dataProvider(): Any {
         return data
     }
@@ -18,7 +23,9 @@ class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>) : BaseDelega
     override fun itemFilter(position: Int): Boolean {
         return true
     }
-
+    fun setThisPosition(thisPosition:Int) {
+        this.thisPosition = thisPosition
+    }
     override fun getItemCount(): Int {
         return data.size
     }
@@ -36,6 +43,11 @@ class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>) : BaseDelega
         holder?.bind {
             binding ->
             val itemData = getItem(position)
+//            if(position == thisPosition){
+//                binding.itemRelayout.setBackgroundColor(Color.parseColor("#DCDCDC"))
+//            }else{
+//                binding.itemRelayout.setBackgroundColor(Color.parseColor("#ffffff"))
+//            }
             binding.roomNumberTv.text = itemData.frameFullName
             binding.nameTv.text = itemData.customerNamed
         }

+ 5 - 0
home/src/main/res/drawable/item_selector.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@color/color_gray2" android:state_pressed="true"/>
+    <item android:drawable="@color/color_white"/>
+</selector>

+ 2 - 2
home/src/main/res/layout/adapter_watch_call_records_item.xml

@@ -3,8 +3,8 @@
 
     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="#ffffff"
+        android:layout_height="70px"
+        android:background="@drawable/item_selector"
         android:layout_marginTop="6px">
 
         <LinearLayout

+ 7 - 4
home/src/main/res/layout/adapter_watch_contacts_item.xml

@@ -4,13 +4,16 @@
     <RelativeLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
-        android:layout_height="50px"
+        android:layout_height="70px"
         android:layout_marginTop="7px"
         android:background="#FFFFFF">
 
         <RelativeLayout
+            android:id="@+id/item_relayout"
             android:layout_width="match_parent"
-            android:layout_height="match_parent">
+            android:layout_height="match_parent"
+            android:background="@drawable/item_selector"
+            >
 
             <TextView
                 android:id="@+id/room_number_tv"
@@ -20,7 +23,7 @@
                 android:layout_marginLeft="13px"
                 android:text="玫瑰房"
                 android:textColor="#F78B8F"
-                android:textSize="16px" />
+                android:textSize="16sp" />
 
             <TextView
                 android:id="@+id/name_tv"
@@ -31,7 +34,7 @@
                 android:layout_toRightOf="@+id/room_number_tv"
                 android:text="张女士"
                 android:textColor="#F78B8F"
-                android:textSize="16px" />
+                android:textSize="16sp" />
 
             <ImageView
                 android:layout_width="wrap_content"

+ 4 - 4
home/src/main/res/layout/takeover_item.xml

@@ -3,13 +3,13 @@
     <RelativeLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
-        android:layout_height="50px"
+        android:layout_height="70px"
         android:layout_marginTop="7px"
-        android:background="#FFFFFF">
+        android:background="@drawable/item_selector">
 
         <RelativeLayout
             android:layout_width="match_parent"
-            android:layout_height="50px">
+            android:layout_height="match_parent">
 
             <TextView
                 android:id="@+id/clerk_name"
@@ -18,7 +18,7 @@
                 android:layout_centerVertical="true"
                 android:layout_marginLeft="20px"
                 android:textColor="#F78B8F"
-                android:textSize="32px" />
+                android:textSize="16sp" />
 
         </RelativeLayout>
 

+ 2 - 1
home/src/main/res/layout/user_setting_layout.xml

@@ -79,7 +79,8 @@
                 android:layout_marginTop="20px"
                 android:layout_marginRight="10px"
                 android:layout_marginBottom="30px"
-                android:orientation="vertical">
+                android:orientation="vertical"
+                android:visibility="gone">
 
                 <TextView
                     android:id="@+id/countdown_time_tv"

+ 12 - 10
home/src/main/res/layout/watch_activity_event_detail.xml

@@ -70,7 +70,7 @@
             android:layout_alignParentBottom="true"
             android:layout_centerHorizontal="true"
             android:layout_marginBottom="16dp"
-            android:visibility="gone">
+           >
 
             <ImageView
                 android:layout_width="wrap_content"
@@ -92,8 +92,9 @@
 
             <ImageView
                 android:id="@+id/back"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
+                android:layout_width="60px"
+                android:layout_height="60px"
+                android:layout_gravity="center_vertical"
                 android:src="@drawable/btn_back" />
 
             <LinearLayout
@@ -109,13 +110,14 @@
                     android:layout_height="wrap_content"
                     android:layout_marginRight="5dp"
                     android:text="" />
-                <!--            <ImageView-->
-                <!--                android:id="@+id/event_status_img"-->
-                <!--                android:layout_width="80px"-->
-                <!--                android:layout_height="35px"-->
-                <!--                android:layout_marginLeft="20px"-->
-                <!--                android:layout_marginRight="5dp"-->
-                <!--                android:src="@drawable/icon_switch_off" />-->
+                 <!--  -->
+<!--                            <ImageView-->
+<!--                                android:id="@+id/event_status_img"-->
+<!--                                android:layout_width="80px"-->
+<!--                                android:layout_height="35px"-->
+<!--                                android:layout_marginLeft="20px"-->
+<!--                                android:layout_marginRight="5dp"-->
+<!--                                android:src="@drawable/icon_switch_off" />-->
                 <ImageView
                     android:id="@+id/event_status_img"
                     android:layout_width="120px"

+ 2 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/api/UrlManager.kt

@@ -56,7 +56,8 @@ private class DevUrlManager : UrlManager{
     override val base: String
 //        get() = "http://dev.base.wdklian.com"
 //        get() = "http://8.129.220.143"
-        get() = "http://192.168.1.188"
+//        get() = "http://192.168.1.188"
+      get() = "http://192.168.1.102"
 
     override val device_url: String
 //        get() = "${base}:6005/"

+ 7 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/api/WatchDeviceInfoAndTCPMailingAddressApi.kt

@@ -8,11 +8,16 @@ import retrofit2.http.Path
 import retrofit2.http.Query
 
 interface WatchDeviceInfoAndTCPMailingAddressApi {
-
+     //根据Mac地址查询设备数据
     @GET("/watch/getDeviceByEthMac/{ethMac}")
     fun getDeviceMessage(@Path("ethMac")ethMac:String): Observable<ResponseBody>
 
-    //tcp服务器地址
+    //获取tcp服务器地址
     @GET("/ncs_url/getHostIP")
     fun getTcpServerHost(): Observable<ResponseBody>
+
+    //获取设备设置数据
+    @GET("/watch/getPartSetting/{partId}")
+    fun getDeviceSettingData(@Path("partId")partId:String): Observable<ResponseBody>
+
 }

+ 8 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchHomeActivityContract.kt

@@ -3,17 +3,21 @@ package com.wdkl.ncs.android.middleware.logic.contract.home
 import com.wdkl.ncs.android.lib.base.BaseContract
 import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
 import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
 import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
 import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
 
 interface WatchHomeActivityContract{
     interface View : BaseContract.BaseView{
         //显示设备信息
-        fun showData(data : DeviceDO)
+        fun showData(data : DeviceVO)
         //显示tcp通讯地址
         fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO)
         //版本号信息
         fun render(appInfo: AppVersionDO)
+        //设置设备设置数据
+        fun setDeviceSettingData(partSettingDO: PartSettingDO)
     }
     interface Presenter : BaseContract.BasePresenter{
         //获取设备信息
@@ -22,5 +26,8 @@ interface WatchHomeActivityContract{
         fun loadTcpServerHost()
         //获取版本信息
         fun getAppVersion(partId: Int, deviceType: Int)
+
+        //获取设备设置数据
+        fun getDeviceSettingData(partId:String)
     }
 }

+ 4 - 4
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchDevicePresenter.kt

@@ -45,7 +45,7 @@ class WatchDevicePresenter@Inject constructor() :RxPresenter<WatchDeviceContract
 
         override fun onNextWithConnection(result: Any, connectionQuality: ConnectionQuality) {
             when (result) {
-                is DeviceDO -> {
+                is DeviceVO -> {
                     providerView().complete()
                     providerView().showData(result as DeviceVO)
                 }
@@ -75,11 +75,11 @@ class WatchDevicePresenter@Inject constructor() :RxPresenter<WatchDeviceContract
     override fun loadData(ethMac:String) {
 
         registerDeviceApi.getDeviceMessage(ethMac).map {
-            var deviceDO = DeviceVO()
+            var deviceVO = DeviceVO()
 
             var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-            deviceDO = gson.fromJson(it.getJsonString(), DeviceVO::class.java)
-          return@map deviceDO
+            deviceVO = gson.fromJson(it.getJsonString(), DeviceVO::class.java)
+          return@map deviceVO
         }
                 .compose(ThreadFromUtils.defaultSchedulers())
                 .subscribe(observable)

+ 25 - 8
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchHomeActivityPresenter.kt

@@ -17,16 +17,15 @@ import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
 import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
 import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
 import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
 import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
 import io.reactivex.disposables.Disposable
 import javax.inject.Inject
 
 class WatchHomeActivityPresenter @Inject constructor(): RxPresenter<WatchHomeActivityContract.View>(),WatchHomeActivityContract.Presenter{
 
 
-
-
-
     /**
      *获取当前设备数据api
      */
@@ -50,9 +49,10 @@ class WatchHomeActivityPresenter @Inject constructor(): RxPresenter<WatchHomeAct
         override fun onNextWithConnection(result: Any, connectionQuality: ConnectionQuality) {
             providerView().complete()
             when (result) {
-                is DeviceDO -> {
+                is DeviceVO -> {
+                    //设备信息
                     providerView().complete()
-                    providerView().showData(result as DeviceDO)
+                    providerView().showData(result as DeviceVO)
                 }
 
                 is TcpSeverDTO -> {
@@ -65,6 +65,11 @@ class WatchHomeActivityPresenter @Inject constructor(): RxPresenter<WatchHomeAct
                      providerView().complete("")
                      providerView().render(result as AppVersionDO)
                  }
+                is PartSettingDO -> {
+                    //设备设置数据
+                    providerView().complete("")
+                    providerView().setDeviceSettingData(result as PartSettingDO)
+                }
 
             }
 
@@ -90,11 +95,11 @@ class WatchHomeActivityPresenter @Inject constructor(): RxPresenter<WatchHomeAct
     override fun loadData(ethMac:String) {
 
         registerDeviceApi.getDeviceMessage(ethMac).map {
-            var deviceDO = DeviceDO()
+            var deviceVO = DeviceVO()
 
             var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-            deviceDO = gson.fromJson(it.getJsonString(), DeviceDO::class.java)
-            return@map deviceDO
+            deviceVO = gson.fromJson(it.getJsonString(), DeviceVO::class.java)
+            return@map deviceVO
         }
                 .compose(ThreadFromUtils.defaultSchedulers())
                 .subscribe(observer)
@@ -129,4 +134,16 @@ class WatchHomeActivityPresenter @Inject constructor(): RxPresenter<WatchHomeAct
 
 
     }
+
+    override fun getDeviceSettingData(partId: String) {
+        registerDeviceApi.getDeviceSettingData(partId).map {
+            var partSettingDO = PartSettingDO()
+
+            var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
+            partSettingDO = gson.fromJson(it.getJsonString(), PartSettingDO::class.java)
+            return@map partSettingDO
+        }
+                .compose(ThreadFromUtils.defaultSchedulers())
+                .subscribe(observer)
+    }
 }

+ 107 - 84
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/dos/PartSettingDO.java

@@ -58,55 +58,55 @@ public class PartSettingDO implements Serializable {
      */
     @Column(name = "day_light")
     @ApiModelProperty(value = "白天背光亮度", required = false)
-    private Boolean dayLight;
+    private Integer dayLight;
     /**
      * 白天通话音量
      */
     @Column(name = "day_vol")
     @ApiModelProperty(value = "白天通话音量", required = false)
-    private Boolean dayVol;
+    private Integer dayVol;
     /**
      * 白天响铃音量
      */
     @Column(name = "day_ring_vol")
     @ApiModelProperty(value = "白天响铃音量", required = false)
-    private Boolean dayRingVol;
+    private Integer dayRingVol;
     /**
      * 白天响铃次数
      */
     @Column(name = "day_ring_times")
     @ApiModelProperty(value = "白天响铃次数", required = false)
-    private Boolean dayRingTimes;
+    private Integer dayRingTimes;
     /**
      * 白天护理灯亮度
      */
     @Column(name = "day_nurse_led")
     @ApiModelProperty(value = "白天护理灯亮度", required = false)
-    private Boolean dayNurseLed;
+    private Integer dayNurseLed;
     /**
      * 白天门口机通话音量
      */
     @Column(name = "day_door_vol")
     @ApiModelProperty(value = "白天门口机通话音量", required = false)
-    private Boolean dayDoorVol;
+    private Integer dayDoorVol;
     /**
      * 白天床头机通话音量
      */
     @Column(name = "day_bed_vol")
     @ApiModelProperty(value = "白天床头机通话音量", required = false)
-    private Boolean dayBedVol;
+    private Integer dayBedVol;
     /**
      * 白天转换盒通话音量
      */
     @Column(name = "day_transfer_box_vol")
     @ApiModelProperty(value = "白天转换盒通话音量", required = false)
-    private Boolean dayTransferBoxVol;
+    private Integer dayTransferBoxVol;
     /**
      * 白天转换盒系统音量
      */
     @Column(name = "day_transfer_box_system_vol")
     @ApiModelProperty(value = "白天转换盒系统音量", required = false)
-    private Boolean dayTransferBoxSystemVol;
+    private Integer dayTransferBoxSystemVol;
     /**
      * 夜晚开始时间
      */
@@ -118,73 +118,94 @@ public class PartSettingDO implements Serializable {
      */
     @Column(name = "night_light")
     @ApiModelProperty(value = "夜晚背光亮度", required = false)
-    private Boolean nightLight;
+    private Integer nightLight;
     /**
      * 夜晚通话音量
      */
     @Column(name = "night_vol")
     @ApiModelProperty(value = "夜晚通话音量", required = false)
-    private Boolean nightVol;
+    private Integer nightVol;
     /**
      * 夜晚响铃音量
      */
     @Column(name = "night_ring_vol")
     @ApiModelProperty(value = "夜晚响铃音量", required = false)
-    private Boolean nightRingVol;
+    private Integer nightRingVol;
     /**
      * 夜晚响铃次数
      */
     @Column(name = "night_ring_times")
     @ApiModelProperty(value = "夜晚响铃次数", required = false)
-    private Boolean nightRingTimes;
+    private Integer nightRingTimes;
     /**
      * 夜晚护理灯亮度
      */
     @Column(name = "night_nurse_led")
     @ApiModelProperty(value = "夜晚护理灯亮度", required = false)
-    private Boolean nightNurseLed;
+    private Integer nightNurseLed;
     /**
      * 夜晚门口机通话音量
      */
     @Column(name = "night_door_vol")
     @ApiModelProperty(value = "夜晚门口机通话音量", required = false)
-    private Boolean nightDoorVol;
+    private Integer nightDoorVol;
     /**
      * 夜晚床头机通话音量
      */
     @Column(name = "night_bed_vol")
     @ApiModelProperty(value = "夜晚床头机通话音量", required = false)
-    private Boolean nightBedVol;
+    private Integer nightBedVol;
     /**
      * 夜晚转换盒通话音量
      */
     @Column(name = "night_transfer_box_vol")
     @ApiModelProperty(value = "夜晚转换盒通话音量", required = false)
-    private Boolean nightTransferBoxVol;
+    private Integer nightTransferBoxVol;
     /**
      * 夜晚转换盒系统音量
      */
     @Column(name = "night_transfer_box_system_vol")
     @ApiModelProperty(value = "夜晚转换盒系统音量", required = false)
-    private Boolean nightTransferBoxSystemVol;
+    private Integer nightTransferBoxSystemVol;
     /**
      * 护士机熄屏时间,单位:秒
      */
     @Column(name = "sleep_seconds_nurse")
     @ApiModelProperty(value = "护士机熄屏时间,单位:秒", required = false)
-    private Boolean sleepSecondsNurse;
+    private Integer sleepSecondsNurse;
     /**
      * 门口机熄屏时间,单位:秒
      */
     @Column(name = "sleep_seconds_door")
     @ApiModelProperty(value = "门口机熄屏时间,单位:秒", required = false)
-    private Boolean sleepSecondsDoor;
+    private Integer sleepSecondsDoor;
     /**
      * 病床分机熄屏时间,单位:秒
      */
     @Column(name = "sleep_seconds_bed")
     @ApiModelProperty(value = "病床分机熄屏时间,单位:秒", required = false)
-    private Boolean sleepSecondsBed;
+    private Integer sleepSecondsBed;
+
+    /**
+     * 呼叫响应超时,单位:秒
+     */
+    @Column(name = "sip_overtime")
+    @ApiModelProperty(value = "呼叫响应超时,单位:秒", required = false)
+    private Integer sipOvertime;
+
+    /**
+     * 护士转接时长,单位:秒
+     */
+    @Column(name = "transfer_duration")
+    @ApiModelProperty(value = "护士转接时长,单位:秒", required = false)
+    private Integer transferDuration;
+
+    /**
+     * 护士组长转接时长,单位:秒
+     */
+    @Column(name = "transfer_duration_leader")
+    @ApiModelProperty(value = "护士组长转接时长,单位:秒", required = false)
+    private Integer transferDurationLeader;
 
 
     @PrimaryKeyField
@@ -242,87 +263,78 @@ public class PartSettingDO implements Serializable {
     }
 
 
-    public Boolean getDayLight() {
+    public Integer getDayLight() {
         return dayLight;
     }
 
-    public void setDayLight(Boolean dayLight) {
+    public void setDayLight(Integer dayLight) {
         this.dayLight = dayLight;
     }
 
-
-    public Boolean getDayVol() {
+    public Integer getDayVol() {
         return dayVol;
     }
 
-    public void setDayVol(Boolean dayVol) {
+    public void setDayVol(Integer dayVol) {
         this.dayVol = dayVol;
     }
 
-
-    public Boolean getDayRingVol() {
+    public Integer getDayRingVol() {
         return dayRingVol;
     }
 
-    public void setDayRingVol(Boolean dayRingVol) {
+    public void setDayRingVol(Integer dayRingVol) {
         this.dayRingVol = dayRingVol;
     }
 
-
-    public Boolean getDayRingTimes() {
+    public Integer getDayRingTimes() {
         return dayRingTimes;
     }
 
-    public void setDayRingTimes(Boolean dayRingTimes) {
+    public void setDayRingTimes(Integer dayRingTimes) {
         this.dayRingTimes = dayRingTimes;
     }
 
-
-    public Boolean getDayNurseLed() {
+    public Integer getDayNurseLed() {
         return dayNurseLed;
     }
 
-    public void setDayNurseLed(Boolean dayNurseLed) {
+    public void setDayNurseLed(Integer dayNurseLed) {
         this.dayNurseLed = dayNurseLed;
     }
 
-
-    public Boolean getDayDoorVol() {
+    public Integer getDayDoorVol() {
         return dayDoorVol;
     }
 
-    public void setDayDoorVol(Boolean dayDoorVol) {
+    public void setDayDoorVol(Integer dayDoorVol) {
         this.dayDoorVol = dayDoorVol;
     }
 
-
-    public Boolean getDayBedVol() {
+    public Integer getDayBedVol() {
         return dayBedVol;
     }
 
-    public void setDayBedVol(Boolean dayBedVol) {
+    public void setDayBedVol(Integer dayBedVol) {
         this.dayBedVol = dayBedVol;
     }
 
-
-    public Boolean getDayTransferBoxVol() {
+    public Integer getDayTransferBoxVol() {
         return dayTransferBoxVol;
     }
 
-    public void setDayTransferBoxVol(Boolean dayTransferBoxVol) {
+    public void setDayTransferBoxVol(Integer dayTransferBoxVol) {
         this.dayTransferBoxVol = dayTransferBoxVol;
     }
 
-
-    public Boolean getDayTransferBoxSystemVol() {
+    public Integer getDayTransferBoxSystemVol() {
         return dayTransferBoxSystemVol;
     }
 
-    public void setDayTransferBoxSystemVol(Boolean dayTransferBoxSystemVol) {
+    public void setDayTransferBoxSystemVol(Integer dayTransferBoxSystemVol) {
         this.dayTransferBoxSystemVol = dayTransferBoxSystemVol;
     }
 
-
     public String getNightStart() {
         return nightStart;
     }
@@ -331,112 +343,123 @@ public class PartSettingDO implements Serializable {
         this.nightStart = nightStart;
     }
 
-
-    public Boolean getNightLight() {
+    public Integer getNightLight() {
         return nightLight;
     }
 
-    public void setNightLight(Boolean nightLight) {
+    public void setNightLight(Integer nightLight) {
         this.nightLight = nightLight;
     }
 
-
-    public Boolean getNightVol() {
+    public Integer getNightVol() {
         return nightVol;
     }
 
-    public void setNightVol(Boolean nightVol) {
+    public void setNightVol(Integer nightVol) {
         this.nightVol = nightVol;
     }
 
-
-    public Boolean getNightRingVol() {
+    public Integer getNightRingVol() {
         return nightRingVol;
     }
 
-    public void setNightRingVol(Boolean nightRingVol) {
+    public void setNightRingVol(Integer nightRingVol) {
         this.nightRingVol = nightRingVol;
     }
 
-
-    public Boolean getNightRingTimes() {
+    public Integer getNightRingTimes() {
         return nightRingTimes;
     }
 
-    public void setNightRingTimes(Boolean nightRingTimes) {
+    public void setNightRingTimes(Integer nightRingTimes) {
         this.nightRingTimes = nightRingTimes;
     }
 
-
-    public Boolean getNightNurseLed() {
+    public Integer getNightNurseLed() {
         return nightNurseLed;
     }
 
-    public void setNightNurseLed(Boolean nightNurseLed) {
+    public void setNightNurseLed(Integer nightNurseLed) {
         this.nightNurseLed = nightNurseLed;
     }
 
-
-    public Boolean getNightDoorVol() {
+    public Integer getNightDoorVol() {
         return nightDoorVol;
     }
 
-    public void setNightDoorVol(Boolean nightDoorVol) {
+    public void setNightDoorVol(Integer nightDoorVol) {
         this.nightDoorVol = nightDoorVol;
     }
 
-
-    public Boolean getNightBedVol() {
+    public Integer getNightBedVol() {
         return nightBedVol;
     }
 
-    public void setNightBedVol(Boolean nightBedVol) {
+    public void setNightBedVol(Integer nightBedVol) {
         this.nightBedVol = nightBedVol;
     }
 
-
-    public Boolean getNightTransferBoxVol() {
+    public Integer getNightTransferBoxVol() {
         return nightTransferBoxVol;
     }
 
-    public void setNightTransferBoxVol(Boolean nightTransferBoxVol) {
+    public void setNightTransferBoxVol(Integer nightTransferBoxVol) {
         this.nightTransferBoxVol = nightTransferBoxVol;
     }
 
-
-    public Boolean getNightTransferBoxSystemVol() {
+    public Integer getNightTransferBoxSystemVol() {
         return nightTransferBoxSystemVol;
     }
 
-    public void setNightTransferBoxSystemVol(Boolean nightTransferBoxSystemVol) {
+    public void setNightTransferBoxSystemVol(Integer nightTransferBoxSystemVol) {
         this.nightTransferBoxSystemVol = nightTransferBoxSystemVol;
     }
 
-
-    public Boolean getSleepSecondsNurse() {
+    public Integer getSleepSecondsNurse() {
         return sleepSecondsNurse;
     }
 
-    public void setSleepSecondsNurse(Boolean sleepSecondsNurse) {
+    public void setSleepSecondsNurse(Integer sleepSecondsNurse) {
         this.sleepSecondsNurse = sleepSecondsNurse;
     }
 
-
-    public Boolean getSleepSecondsDoor() {
+    public Integer getSleepSecondsDoor() {
         return sleepSecondsDoor;
     }
 
-    public void setSleepSecondsDoor(Boolean sleepSecondsDoor) {
+    public void setSleepSecondsDoor(Integer sleepSecondsDoor) {
         this.sleepSecondsDoor = sleepSecondsDoor;
     }
 
-
-    public Boolean getSleepSecondsBed() {
+    public Integer getSleepSecondsBed() {
         return sleepSecondsBed;
     }
 
-    public void setSleepSecondsBed(Boolean sleepSecondsBed) {
+    public void setSleepSecondsBed(Integer sleepSecondsBed) {
         this.sleepSecondsBed = sleepSecondsBed;
     }
 
+    public Integer getSipOvertime() {
+        return sipOvertime;
+    }
+
+    public void setSipOvertime(Integer sipOvertime) {
+        this.sipOvertime = sipOvertime;
+    }
+
+    public Integer getTransferDuration() {
+        return transferDuration;
+    }
+
+    public void setTransferDuration(Integer transferDuration) {
+        this.transferDuration = transferDuration;
+    }
+
+    public Integer getTransferDurationLeader() {
+        return transferDurationLeader;
+    }
+
+    public void setTransferDurationLeader(Integer transferDurationLeader) {
+        this.transferDurationLeader = transferDurationLeader;
+    }
 }

+ 4 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java

@@ -172,8 +172,10 @@ public interface TcpAction {
         CONNECT("连接"),
         APP_UPDATE("APP更新"),
         DEVICE_REFRESH("设备刷新"),
+        SYSTEM_SETTING("系统设置"),
         DEVICE_CHANGE("设备更换"),
         USER_CHANGE("用户绑定");
+
         private String description;
         DeviceAction(String description){
             this.description = description;
@@ -253,7 +255,8 @@ public interface TcpAction {
     }
 
     enum BroadcastAction implements TcpAction {
-        START("开始");
+        START("开始"),
+        STOP("停止");
         private String description;
         BroadcastAction(String description){
             this.description = description;

+ 1 - 1
rtc-chat/src/main/java/com/wdkl/skywebrtc/engine/webrtc/WebRTCEngine.java

@@ -65,7 +65,7 @@ public class WebRTCEngine implements IEngine, Peer.IPeerEvent {
 
 
     // 服务器实例列表
-    private String serverIP = "8.129.220.143";
+    private String serverIP = "120.76.246.253";
     private String turnUser = "dsg";
     private String turnUserPwd = "123456";