ソースを参照

1.修改连接非互联网WiFi时无法自动连接问题
2.向家坝主机去掉呼叫功能
3.广播优化
4.修改床位入住没有日期出现异常问题

weizhengliang 6 ヶ月 前
コミット
e35ad0eae0
41 ファイル変更1463 行追加935 行削除
  1. 31 12
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/CallingHostActivationActivity.kt
  2. 53 19
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHome2Activity.kt
  3. 7 6
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt
  4. 10 3
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/BroadcastListAdapter.kt
  5. 17 7
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/DeviceMenuapter.kt
  6. 1 1
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/MainFrameBedAdapter.kt
  7. 57 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/BcPreviewDialogHelper.java
  8. 8 7
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/BrstDialogHelper.java
  9. 1 1
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/DormSipCallFragment.kt
  10. 1 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/DormSkyCallFragment.kt
  11. 28 10
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/adapter/DormCallRecordsItemAdapter.kt
  12. 4 2
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/adapter/DormDialCallSearchAdapter.kt
  13. 42 34
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BedinfoFragment.kt
  14. 30 39
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcastListFragment.kt
  15. 17 10
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcastNewFragment.kt
  16. 7 7
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcastSetFragment.kt
  17. 5 2
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcasthhFragment.kt
  18. 3 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/CallRecordsFragment.kt
  19. 5 5
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/PushMessageListFragment.kt
  20. 234 238
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/SickbedFragment.kt
  21. 26 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/receiver/NetWorkChangeReceiver.kt
  22. 329 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/NetworkUtils.java
  23. 2 1
      android_host/src/main/res/layout/adapter_broadcasting_frame_part.xml
  24. 39 49
      android_host/src/main/res/layout/adapter_home_frame_bed_lay.xml
  25. 8 6
      android_host/src/main/res/layout/dorm_sky_voice_call_layout.xml
  26. 118 125
      android_host/src/main/res/layout/fragment_br_call.xml
  27. 207 250
      android_host/src/main/res/layout/fragment_br_set.xml
  28. 3 9
      android_host/src/main/res/layout/fragment_broadcast_host.xml
  29. 4 3
      android_host/src/main/res/layout/fragment_sickbed.xml
  30. 5 12
      android_host/src/main/res/layout/item_icon_lay.xml
  31. 65 0
      android_host/src/main/res/layout/main_bc_preview_dialog.xml
  32. 20 0
      android_host/src/main/res/layout/nurse_main_dorm.xml
  33. 59 66
      android_host/src/main/res/layout/view_title_layout.xml
  34. 3 10
      android_host/src/main/res/layout/work_lay.xml
  35. 2 0
      android_host/src/main/res/values-es/strings.xml
  36. 3 1
      android_host/src/main/res/values-pt/strings.xml
  37. 2 0
      android_host/src/main/res/values-ru/strings.xml
  38. 2 0
      android_host/src/main/res/values-zh/strings.xml
  39. 2 0
      android_host/src/main/res/values/strings.xml
  40. 1 0
      common/build.gradle
  41. 2 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constant.java

+ 31 - 12
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/CallingHostActivationActivity.kt

@@ -1,9 +1,9 @@
 package com.wdkl.ncs.android.component.nursehome.activity
 
-import android.content.Context
 import android.content.Intent
+import android.content.IntentFilter
 
-import android.content.res.Configuration
+import android.net.wifi.WifiManager
 import android.os.Build
 import android.os.Handler
 import android.os.Looper
@@ -17,20 +17,18 @@ import com.enation.javashop.utils.base.config.BaseConfig
 import com.wdkl.ncs.android.component.nursehome.BuildConfig
 import com.wdkl.ncs.android.component.nursehome.R
 import com.wdkl.ncs.android.component.nursehome.databinding.CallinghostActivationBinding
-import com.wdkl.ncs.android.component.nursehome.dialog.RebootDialogHelper
 import com.wdkl.ncs.android.component.nursehome.dialog.ServicesDialogHelper
 import com.wdkl.ncs.android.component.nursehome.dialog.SystemDialogHelper
 import com.wdkl.ncs.android.component.nursehome.hardware.HardWareFactroy
-import com.wdkl.ncs.android.component.nursehome.helper.SoundPoolManager
 import com.wdkl.ncs.android.component.nursehome.launch.NurseHomeLaunch
 import com.wdkl.ncs.android.component.nursehome.led.LedManagerUtils
+import com.wdkl.ncs.android.component.nursehome.receiver.NetWorkChangeReceiver
 import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.nursehome.util.*
 import com.wdkl.ncs.android.lib.base.BaseActivity
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.utils.AppTool
 import com.wdkl.ncs.android.lib.utils.EcodeHelper
-import com.wdkl.ncs.android.lib.utils.push
 import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.lib.vo.filter
 import com.wdkl.ncs.android.middleware.api.UrlManager
@@ -77,6 +75,8 @@ class CallingHostActivationActivity : BaseActivity<DevicePresenter, CallinghostA
     private var homeLaunch = false
     private var deviceInfo: DeviceInfoBean? = null
 
+    private var netWorkChangeReceiver: NetWorkChangeReceiver? = null
+
     override fun getLayId(): Int {
         return R.layout.callinghost_activation
     }
@@ -110,6 +110,7 @@ class CallingHostActivationActivity : BaseActivity<DevicePresenter, CallinghostA
         //init
         NetHelper.getInstance().init()
 
+        registerNetworkBroadcast()
 
         //初始化串口
         HardWareFactroy.getHardTools().init(this)
@@ -127,6 +128,13 @@ class CallingHostActivationActivity : BaseActivity<DevicePresenter, CallinghostA
             }
         }
 
+        //检查网络情况,如果当前打开wifi但是未连接wifi则尝试主动连接wifi(为了解决Android高版本在连接非internet网络时无法自动连接问题)
+        if (BuildConfig.flag.equals(Constant.DEV_W_KAER)) {
+            Thread {
+                NetworkUtils.checkNetworkConnect(BaseApplication.appContext)
+            }.start()
+        }
+
         if (SettingConfig.getOfflineModeRunning(activity)) {
             val devices = DaoManager.getInstance().daoSession.deviceInfoBeanDao.loadAll()
             if (devices != null && devices.size > 0) {
@@ -169,6 +177,21 @@ class CallingHostActivationActivity : BaseActivity<DevicePresenter, CallinghostA
         }
     }
 
+    private fun registerNetworkBroadcast() {
+        val intentFilter = IntentFilter()
+        // 系统的网络被更改的过滤器
+        //intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE")
+        intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
+        netWorkChangeReceiver = NetWorkChangeReceiver()
+        registerReceiver(netWorkChangeReceiver, intentFilter)
+    }
+
+    private fun unregisterNetworkBroadcast() {
+        if (netWorkChangeReceiver != null) {
+            unregisterReceiver(netWorkChangeReceiver)
+        }
+    }
+
     override fun bindEvent() {
         //设备重启
         activation_settings_button.setOnClickListener {
@@ -204,8 +227,9 @@ class CallingHostActivationActivity : BaseActivity<DevicePresenter, CallinghostA
     }
 
     override fun destory() {
-        handler.removeCallbacksAndMessages(null)
+        unregisterNetworkBroadcast()
 
+        handler.removeCallbacksAndMessages(null)
     }
 
     private fun showUI() {
@@ -399,12 +423,7 @@ class CallingHostActivationActivity : BaseActivity<DevicePresenter, CallinghostA
         * 仅对3128设备有效
          */
         if (Build.MODEL.equals("rk3128") || BuildConfig.flag == Constant.DEV_W_A133) {
-            Log.e(
-                "checkNet",
-                "checkNet --> netErrCount: " + netErrCount + ", IP isEmpty: " + TextUtils.isEmpty(
-                    NetHelper.getInstance().localIP
-                )
-            )
+            Log.e("checkNet", "checkNet --> netErrCount: " + netErrCount + ", IP isEmpty: " + TextUtils.isEmpty(NetHelper.getInstance().localIP))
             var count = SettingConfig.getNetErrResetCount(this)
             if (!Constant.TCP_CONNECTED && TextUtils.isEmpty(NetHelper.getInstance().localIP)) {
                 netErrCount++

+ 53 - 19
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHome2Activity.kt

@@ -1,6 +1,5 @@
 package com.wdkl.ncs.android.component.nursehome.activity
 
-
 import android.annotation.SuppressLint
 import android.app.NotificationManager
 import android.content.BroadcastReceiver
@@ -29,12 +28,14 @@ import com.google.gson.Gson
 import com.wdkl.ncs.android.component.nursehome.BuildConfig
 import com.wdkl.ncs.android.component.nursehome.R
 import com.wdkl.ncs.android.component.nursehome.databinding.NurseMainDormBinding
+import com.wdkl.ncs.android.component.nursehome.dialog.BcPreviewDialogHelper
 import com.wdkl.ncs.android.component.nursehome.dorm.*
 import com.wdkl.ncs.android.component.nursehome.fragment.*
 import com.wdkl.ncs.android.component.nursehome.hardware.HardWareFactroy
 import com.wdkl.ncs.android.component.nursehome.helper.SoundPoolManager
 import com.wdkl.ncs.android.component.nursehome.launch.NurseHomeLaunch
 import com.wdkl.ncs.android.component.nursehome.led.LedManagerUtils
+import com.wdkl.ncs.android.component.nursehome.receiver.NetWorkChangeReceiver
 import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.nursehome.sip.callback.PhoneCallback
 import com.wdkl.ncs.android.component.nursehome.sip.core.LinphoneManager
@@ -77,7 +78,6 @@ import com.wdkl.ncs.android.middleware.utils.CommonUtils
 import com.wdkl.ncs.android.middleware.utils.StringUtil
 import com.wdkl.ncs.janus.util.JanusConstant
 import kotlinx.android.synthetic.main.nurse_main_dorm.*
-import kotlinx.android.synthetic.main.view_title_layout.*
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
@@ -91,8 +91,6 @@ import java.util.concurrent.ScheduledExecutorService
 import java.util.concurrent.TimeUnit
 import kotlin.collections.ArrayList
 
-/**/
-
 /**
  * 宿舍端首页Activity
  */
@@ -124,13 +122,8 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
 
     private val SickbedFragment = "SickbedFragment"
 
-
-
     private val WorkFragment = "WorkFragment"
 
-
-
-
     var entraceGuardVideoFragment:EntraceGuardVideoFragment?=null
 
     //通话界面fragment
@@ -138,12 +131,12 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
 
     private var receiver :TimeReceiver? = null
 
+    private var netWorkChangeReceiver: NetWorkChangeReceiver? = null
+
     //卡尔主机
     var batteryBroadcastReceiver: BatteryBroadcastReceiver? = null
     private var executor: ScheduledExecutorService? = null
 
-    private var visIntent: Intent? = null
-
     //udp
     private var helper: UdpHelper? = null
     private var wifiManager: WifiManager? = null
@@ -307,6 +300,7 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
         }
         presenter.loadServerInfo()
         regReceiver()//注册时间广播
+        registerNetworkBroadcast()
         SoundPoolManager.getInstance().init()
         updateNetState()
         updateTime(true)
@@ -393,7 +387,20 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
     }
 
 
+    private fun registerNetworkBroadcast() {
+        val intentFilter = IntentFilter()
+        // 系统的网络被更改的过滤器
+        //intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE")
+        intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
+        netWorkChangeReceiver = NetWorkChangeReceiver()
+        registerReceiver(netWorkChangeReceiver, intentFilter)
+    }
 
+    private fun unregisterNetworkBroadcast() {
+        if (netWorkChangeReceiver != null) {
+            unregisterReceiver(netWorkChangeReceiver)
+        }
+    }
 
 
     /**
@@ -495,8 +502,10 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
         }
         //菜单
         dorm_menu_but.setOnClickListener {
-            if (!SystemSettingsFragment.equals(curFragment)) {
-                switchFragment(R.id.callingbed_main_frame, WorkFragment(), WorkFragment)
+            if (!WorkFragment.equals(curFragment)) {
+                PasswordDialogHelper.showPasswordDialog(activity) {
+                    switchFragment(R.id.callingbed_main_frame, WorkFragment(), WorkFragment)
+                }
             }
         }
         //广播
@@ -556,6 +565,7 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
         if (batteryBroadcastReceiver != null) {
             unregisterReceiver(batteryBroadcastReceiver)
         }
+        unregisterNetworkBroadcast()
 
         if (executor != null) {
             executor!!.shutdownNow()
@@ -1231,8 +1241,7 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                     //设置白天系统音量和响铃音
                     setTheSystemVolume(SettingConfig.getHostDaytimeVolume(activity))
                     activity.runOnUiThread {
-//                        day_night_state_imagev.setImageResource(R.drawable.ic_daylight)
-                        title_layout_iv_day_hl_night.setImageResource(R.mipmap.ic_daylight)
+                        title_layout_iv_day_hl_night.setImageResource(R.mipmap.ic_daylight_w)
                     }
                 }
                 Constant.day_state = 0
@@ -1244,7 +1253,7 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                     //设置晚上系统音量和响铃音
                     setTheSystemVolume(SettingConfig.getHostNightVolume(activity))
                     activity.runOnUiThread {
-                        title_layout_iv_day_hl_night.setImageResource(R.mipmap.ic_night)
+                        title_layout_iv_day_hl_night.setImageResource(R.mipmap.ic_night_w)
                     }
                 }
                 Constant.day_state = 1
@@ -1326,6 +1335,8 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
 
              if (tcpModel.getType() == TcpType.VOICE) {
                     if (tcpModel.action == TcpAction.VoiceAction.VCALL) {
+                        BcPreviewDialogHelper.dismiss()
+
                         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                         //视频通话请求
                         if (Constant.CALL_STATE == Constant.CALL_CALLING
@@ -1376,6 +1387,8 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                         }
                     }
                     else if (tcpModel.action == TcpAction.VoiceAction.CALL) {
+                        BcPreviewDialogHelper.dismiss()
+
                         showHome()
                         // 延迟1秒发送数据
                         Handler(Looper.getMainLooper()).postDelayed({
@@ -1464,9 +1477,12 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                     }
                 } else if (tcpModel.type == TcpType.SOS) {
                     if (tcpModel.action == TcpAction.SOSAction.CALL || tcpModel.action == TcpAction.SOSAction.ROOM_CALL) {
+                        BcPreviewDialogHelper.dismiss()
+
                         //紧急呼叫优先级最高,如果当前有通话或正在呼叫的需要将其打断
                         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                         RingPlayHelper.stopRingTone()
+                        MediaPlayHelper.getInstance().stopMusic()
                         SpeechUtil.getInstance().stopSpeak(false)
                         if (Constant.CALL_STATE == Constant.CALL_OUTGOING) {
                             EventBus.getDefault().post(MessageEvent("cancel", Constant.EVENT_END_CALL))
@@ -1638,6 +1654,7 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                             EventBus.getDefault().post(MessageEvent("handoff", Constant.EVENT_END_CALL))
                         }
 
+                        BcPreviewDialogHelper.dismiss()
                         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                         showSosAlert(tcpModel, false, true)
                         RingPlayHelper.stopRingTone()
@@ -1952,7 +1969,7 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                             val json = JSON.parseObject(interactionVO.data.toString())
 
                             if (json.containsKey("bId")) {
-                                var bid = json.getString("bId")
+                                val bid = json.getString("bId")
                                 addTobrIngList(interactionVO.id.toString(), bid)
                             } else {
                                 //喊话广播
@@ -1963,8 +1980,6 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                         //广播结束
                         Constant.bcStart = false
                         tv_broadcast_state.visibility = View.GONE
-
-
                     }
                 } else if (tcpModel.type == TcpType.ROOMCHECK) {
                     val json = JSON.parseObject(tcpModel.data.toString())
@@ -2100,6 +2115,15 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
             //TCP连接状态
             Constant.EVENT_TCP_STATE -> {
                 updateTcpState()
+
+                if (!Constant.TCP_CONNECTED) {
+                    //tcp连接断开,判断是否因为wifi断开导致,如果是则尝试重连
+                    if (BuildConfig.flag.equals(Constant.DEV_W_KAER)) {
+                        Thread {
+                            NetworkUtils.checkNetworkConnect(BaseApplication.appContext)
+                        }.start()
+                    }
+                }
             }
 
             Constant.EVENT_RESTART_APP -> {
@@ -2189,6 +2213,16 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                 }
             }
 
+            Constant.EVENT_WIFI_ENABLE -> {
+                //wifi打开时检查连接情况
+                if (BuildConfig.flag.equals(Constant.DEV_W_KAER)) {
+                    Thread {
+                        Thread.sleep(3000)
+                        NetworkUtils.checkNetworkConnect(BaseApplication.appContext)
+                    }.start()
+                }
+            }
+
         }
 
     }

+ 7 - 6
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -1,6 +1,5 @@
 package com.wdkl.ncs.android.component.nursehome.activity
 
-
 import android.annotation.SuppressLint
 import android.app.NotificationManager
 import android.content.BroadcastReceiver
@@ -33,6 +32,7 @@ import com.google.gson.Gson
 import com.wdkl.ncs.android.component.nursehome.BuildConfig
 import com.wdkl.ncs.android.component.nursehome.R
 import com.wdkl.ncs.android.component.nursehome.databinding.ActivityNewNurseHomeBinding
+import com.wdkl.ncs.android.component.nursehome.dialog.BcPreviewDialogHelper
 import com.wdkl.ncs.android.component.nursehome.fragment.*
 import com.wdkl.ncs.android.component.nursehome.hardware.HardWareFactroy
 import com.wdkl.ncs.android.component.nursehome.helper.SoundPoolManager
@@ -85,7 +85,6 @@ import com.wdkl.ncs.android.middleware.utils.CommonUtils
 import com.wdkl.ncs.android.middleware.utils.StringUtil
 import com.wdkl.ncs.janus.util.JanusConstant
 import kotlinx.android.synthetic.main.activity_new_nurse_home.*
-import kotlinx.android.synthetic.main.activity_nurse_home.*
 import kotlinx.android.synthetic.main.activity_nurse_home.view_title_layout_tv_point
 import kotlinx.android.synthetic.main.view_title_layout.*
 import org.greenrobot.eventbus.EventBus
@@ -638,8 +637,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
      *绑定事件
      */
     override fun bindEvent() {
-
-
         //首页
         menu_home.setOnClickListener(this)
         //病床
@@ -650,8 +647,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
         menu_doctor.setOnClickListener(this)
         //病区
         menu_ward_disease.setOnClickListener(this)
-        //病床
-        menu_ward.setOnClickListener(this)
         //移动
         menu_moving.setOnClickListener(this)
         //其他
@@ -1895,6 +1890,8 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
                 Log.e(TAG, "收到tcp消息: " + tcpModel.getType() + " " + tcpModel.getAction())
                 if (tcpModel.getType() == TcpType.VOICE) {
                     if (tcpModel.action == TcpAction.VoiceAction.VCALL) {
+                        BcPreviewDialogHelper.dismiss()
+
                         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                         //视频通话请求
                         if (Constant.CALL_STATE == Constant.CALL_CALLING
@@ -2025,9 +2022,12 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
                     }
                 } else if (tcpModel.type == TcpType.SOS) {
                     if (tcpModel.action == TcpAction.SOSAction.CALL || tcpModel.action == TcpAction.SOSAction.ROOM_CALL) {
+                        BcPreviewDialogHelper.dismiss()
+
                         //紧急呼叫优先级最高,如果当前有通话或正在呼叫的需要将其打断
                         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                         RingPlayHelper.stopRingTone()
+                        MediaPlayHelper.getInstance().stopMusic()
                         SpeechUtil.getInstance().stopSpeak(false)
                         if (Constant.CALL_STATE == Constant.CALL_OUTGOING) {
                             EventBus.getDefault().post(MessageEvent("cancel", Constant.EVENT_END_CALL))
@@ -2198,6 +2198,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
                         } else if (Constant.CALL_STATE == Constant.CALL_CALLING) {
                             EventBus.getDefault().post(MessageEvent("handoff", Constant.EVENT_END_CALL))
                         }
+                        BcPreviewDialogHelper.dismiss()
 
                         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                         showSosAlert(tcpModel, false, true)

+ 10 - 3
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/BroadcastListAdapter.kt

@@ -4,6 +4,7 @@ import android.util.Log
 import android.view.ViewGroup
 import com.alibaba.android.vlayout.LayoutHelper
 import com.alibaba.android.vlayout.layout.LinearLayoutHelper
+import com.wdkl.ncs.android.component.nursehome.BuildConfig
 import com.wdkl.ncs.android.component.nursehome.R
 import com.wdkl.ncs.android.component.nursehome.databinding.AdapterBroadcastingFramePartBinding
 import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
@@ -60,11 +61,17 @@ class BroadcastListAdapter( val data: ArrayList<BroadcastVO>) : BaseDelegateAdap
      * 绑定数据
      */
     override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterBroadcastingFramePartBinding>, position: Int) {
-        holder?.bind { binding ->
+        holder.bind { binding ->
             try {
                 val itemData = getItem(position)
                 binding.brName.text = itemData.title
-                var  Status=""
+                if (BuildConfig.device_type.equals("4")) {
+                    binding.rlBedInfo.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+                } else {
+                    binding.rlBedInfo.setBackgroundResource(R.drawable.shape_bed_bg)
+                }
+
+                var Status=""
                 if (itemData.isStatus){
                     Status= StringUtil.getResString(R.string.br_list_startup)
                 }else{
@@ -177,7 +184,7 @@ class BroadcastListAdapter( val data: ArrayList<BroadcastVO>) : BaseDelegateAdap
         }
     }
     interface OnItemClickListener {
-        fun onItemClick(ID:Int, ids: String,type: String)
+        fun onItemClick(id: Int, ids: String, type: String)
     }
 }
 

+ 17 - 7
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/DeviceMenuapter.kt

@@ -6,10 +6,12 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.ImageView
+import android.widget.LinearLayout
 import android.widget.TextView
 import androidx.recyclerview.widget.RecyclerView
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
+import com.wdkl.ncs.android.component.nursehome.BuildConfig
 import com.wdkl.ncs.android.component.nursehome.R
 import com.wdkl.ncs.android.middleware.api.UrlManager
 import com.wdkl.ncs.android.middleware.model.ActionItem
@@ -38,28 +40,34 @@ class DeviceMenuapter : RecyclerView.Adapter<DeviceMenuapter.ViewHolder>{
     }
 
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
-        val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_icon_lay, parent, false)
+        val view = LayoutInflater.from(parent.context).inflate(R.layout.item_icon_lay, parent, false)
         val viewHolder = ViewHolder(view)
 
         return viewHolder
     }
 
     override fun getItemCount(): Int {
-        return data?.size
+        return data.size
     }
 
     override fun onBindViewHolder(holder: ViewHolder, position: Int) {
-        if ( data?.get(position).name!=null){
-            holder.textView.text = data?.get(position).name
+        if (BuildConfig.device_type.equals("4")) {
+            holder.workItem.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+        } else {
+            holder.workItem.setBackgroundResource(R.drawable.shape_bed_bg)
         }
-        if (data?.get(position).icon_src!=null && !data?.get(position).icon_src.equals("")){
+
+        if ( data.get(position).name!=null){
+            holder.textView.text = data.get(position).name
+        }
+        if (data.get(position).icon_src!=null && !data.get(position).icon_src.equals("")){
             Glide.with(holder.imageView.context)
-                    .load( data?.get(position).icon_src)
+                    .load( data.get(position).icon_src)
                     .diskCacheStrategy(DiskCacheStrategy.ALL)
                     .into(holder.imageView)
         }
         holder.actionView.setOnClickListener {
-            onItemClickListener?.onItemClick(holder.itemView, position)
+            onItemClickListener.onItemClick(holder.itemView, position)
         }
     }
 
@@ -68,11 +76,13 @@ class DeviceMenuapter : RecyclerView.Adapter<DeviceMenuapter.ViewHolder>{
         var actionView : View
         var textView : TextView
         var imageView : ImageView
+        var workItem: LinearLayout
 
         constructor(itemView: View): super(itemView) {
             actionView = itemView.findViewById(R.id.ll_menu_bt)
             textView = itemView.findViewById(R.id.tx_menu)
             imageView = itemView.findViewById(R.id.img_menu)
+            workItem = itemView.findViewById(R.id.ll_work_item)
         }
     }
 

+ 1 - 1
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/MainFrameBedAdapter.kt

@@ -56,7 +56,7 @@ class MainFrameBedAdapter(var context: Context, val data: ArrayList<FrameBedVO>)
     override fun onCreateLayoutHelper(): LayoutHelper {
         Log.i("FrameBedVosAdapter", "" + data.size)
 
-        return GridLayoutHelper(6).then { self ->
+        return GridLayoutHelper(5).then { self ->
             /**取消自动填充*/
             self.setAutoExpand(false)
 

+ 57 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/BcPreviewDialogHelper.java

@@ -0,0 +1,57 @@
+package com.wdkl.ncs.android.component.nursehome.dialog;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+
+import com.wdkl.ncs.android.component.nursehome.R;
+import com.wdkl.ncs.android.component.nursehome.util.MediaPlayHelper;
+
+public class BcPreviewDialogHelper {
+
+    private static AlertDialog alertDialog;
+
+    public static void showDialog(Activity activity, ClickListener clickListener) {
+
+        View contentView = LayoutInflater.from(activity).inflate(R.layout.main_bc_preview_dialog, null);
+        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
+        builder.setView(contentView);
+
+        Button btn_cancel = contentView.findViewById(R.id.br_st_cancel_button);
+        Button determine_button = contentView.findViewById(R.id.br_st_determine_button);
+
+        btn_cancel.setOnClickListener(v -> {
+            if (alertDialog != null) {
+                alertDialog.dismiss();
+            }
+        });
+
+        determine_button.setOnClickListener(v -> {
+            if (clickListener != null) {
+                clickListener.onClick();
+            }
+        });
+
+        alertDialog = builder.create();
+        alertDialog.setCanceledOnTouchOutside(false);
+        alertDialog.setCancelable(false);
+        alertDialog.show();
+
+        alertDialog.setOnDismissListener(dialog -> {
+            //停止试听
+            MediaPlayHelper.getInstance().stopMusic();
+        });
+    }
+
+    public static void dismiss() {
+        if (alertDialog != null) {
+            alertDialog.dismiss();
+        }
+    }
+
+    public interface ClickListener{
+        void onClick();
+    }
+}

+ 8 - 7
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/BrstDialogHelper.java

@@ -25,29 +25,30 @@ public class BrstDialogHelper {
         Button btn_cancel = contentView.findViewById(R.id.br_st_cancel_button);
         Button determine_button = contentView.findViewById(R.id.br_st_determine_button);
         TextView br_st_tip_text = contentView.findViewById(R.id.br_st_tip_text);
-        Boolean isPlay =MediaPlayHelper.getInstance().isMediaPlaying();
+        boolean isPlay = MediaPlayHelper.getInstance().isMediaPlaying();
         if (isPlay){
-            br_st_tip_text.setText( StringUtil.getResString(R.string.br_message_3));
+            br_st_tip_text.setText(StringUtil.getResString(R.string.br_message_3));
         }
 
-
         btn_cancel.setOnClickListener(v -> {
             if (alertDialog != null && alertDialog.isShowing()) {
                 alertDialog.dismiss();
             }
         });
+
         determine_button.setOnClickListener(v -> {
             if (alertDialog != null && alertDialog.isShowing()) {
-                if (isPlay){
+                if (isPlay) {
                     MediaPlayHelper.getInstance().stopMusic();
                     alertDialog.dismiss();
-                }else {
-                    if (clickListener != null)
+                } else {
+                    if (clickListener != null) {
                         clickListener.onClick();
+                    }
                     alertDialog.dismiss();
                 }
 
-                }
+            }
 
         });
         alertDialog = builder.create();

+ 1 - 1
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/DormSipCallFragment.kt

@@ -245,12 +245,12 @@ class DormSipCallFragment: BaseCallFragment() {
 //            }
         }
 
+        sky_voice_call_hangup.setText("结束通话")
         sky_voice_call_calling_text.setText(R.string.call_in_call)
         sky_voice_call_timer.visibility = View.VISIBLE
         sky_voice_call_timer.base = SystemClock.elapsedRealtime()
         sky_voice_call_timer.start()
         sky_voice_call_mute.visibility = View.VISIBLE
-        sky_voice_call_speaker.visibility = View.VISIBLE
         ll_voice_volume_bar.visibility = View.VISIBLE
     }
 

+ 1 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/DormSkyCallFragment.kt

@@ -431,6 +431,7 @@ class DormSkyCallFragment: BaseCallFragment(), CallSessionCallback {
         sky_voice_call_outgoing.visibility = View.VISIBLE
         sky_voice_call_incoming.visibility = View.GONE
 
+        sky_voice_call_hangup.setText("结束通话")
         sky_voice_call_calling_text.setText(R.string.call_in_call)
         sky_voice_call_timer.visibility = View.VISIBLE
         sky_voice_call_timer.base = SystemClock.elapsedRealtime()

+ 28 - 10
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/adapter/DormCallRecordsItemAdapter.kt

@@ -9,8 +9,10 @@ import com.alibaba.android.vlayout.layout.LinearLayoutHelper
 import com.alibaba.fastjson.JSON
 import com.wdkl.ncs.android.component.nursehome.R
 import com.wdkl.ncs.android.component.nursehome.databinding.AdapterDormCallRecordsItemBinding
+import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.nursehome.util.MediaPlayHelper
 import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
+import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
 import com.wdkl.ncs.android.lib.utils.TimeHandle
 import com.wdkl.ncs.android.lib.utils.showMessage
@@ -112,12 +114,12 @@ class DormCallRecordsItemAdapter(val activity: Activity, var data: ArrayList<Int
                             //呼出已接听
                             binding.imgCallType.setImageResource(R.drawable.ic_records_call)
                             binding.callRecordsItemTitle.text = "您邀请  " + roleName + "  语音通话,  已接听"
-                            binding.btnRecordsAction.text = "拨打"
+                            binding.btnRecordsAction.text = "通话"
                         } else {
                             //呼出未接听
                             binding.imgCallType.setImageResource(R.drawable.ic_records_miss_call)
                             binding.callRecordsItemTitle.text = "您邀请  " + roleName + "  语音通话,  未接听"
-                            binding.btnRecordsAction.text = "拨打"
+                            binding.btnRecordsAction.text = "通话"
                         }
                     } else {
                         //其他设备呼入记录
@@ -133,27 +135,42 @@ class DormCallRecordsItemAdapter(val activity: Activity, var data: ArrayList<Int
                         if (itemData.actionEnd != null && itemData.actionAccept != null) {
                             binding.imgCallType.setImageResource(R.drawable.ic_records_call)
                             binding.callRecordsItemTitle.text = roleName + "  邀请您  语音通话,  已接听"
-                            binding.btnRecordsAction.text = "拨打"
+                            binding.btnRecordsAction.text = "通话"
                         } else {
                             binding.imgCallType.setImageResource(R.drawable.ic_records_miss_call)
                             binding.callRecordsItemTitle.text = roleName + "  邀请您 语音通话,  未接听"
-                            binding.btnRecordsAction.text = "拨打"
+                            binding.btnRecordsAction.text = "通话"
                         }
                     }
 
                 } else if (TcpType.SOS.name == itemData.actionType) {
                     binding.imgCallType.setImageResource(R.mipmap.sos)
+                    var room = itemData.fromFrameFullName.substringBefore("-")
+                    //如果分机绑定了紧急按钮则加上紧急按钮名称
+                    if (itemData.fromDeviceType == DeviceTypeEnum.EMERGENCY_BUTTON.value()
+                        || itemData.fromDeviceType == DeviceTypeEnum.SIMULATE_EMERGENCY_BUTTON.value()
+                    ) {
+                        room = itemData.fromDeviceName
+                    }
+                    var sosText = BaseApplication.appContext.getString(R.string.sos_call_speech, room)
+                    //紧急呼叫显示data中数据
+                    if (SettingConfig.getSosCallNameOn(BaseApplication.appContext)) {
+                        //
+                    } else if (itemData.data != null) {
+                        sosText = itemData.data
+                    }
+
                     if (itemData.actionEnd != null) {
                         if (itemData.toDeviceType == DeviceTypeEnum.NURSE_HOST.value()) {
                             //护士主机响应即管理处
-                            binding.callRecordsItemTitle.text = "紧急呼叫  管理处  已响应"
+                            binding.callRecordsItemTitle.text = sosText + "  管理处  已响应"
                         } else {
-                            binding.callRecordsItemTitle.text = "紧急呼叫  " + itemData.actionEndMemberName + "  已响应"
+                            binding.callRecordsItemTitle.text = sosText + "  " + itemData.actionEndMemberName + "  已响应"
                         }
                         binding.btnRecordsAction.text = "已响应"
                         binding.btnRecordsAction.setBackgroundResource(R.drawable.records_action_bg2)
                     } else {
-                        binding.callRecordsItemTitle.text = "紧急呼叫"
+                        binding.callRecordsItemTitle.text = sosText
                         binding.btnRecordsAction.text = "未响应"
                     }
                 } else if (TcpType.IM.name == itemData.actionType){
@@ -162,11 +179,12 @@ class DormCallRecordsItemAdapter(val activity: Activity, var data: ArrayList<Int
                     binding.btnRecordsAction.text = "播放"
                 }else if (TcpType.EVENT.name == itemData.actionType){
                     binding.imgCallType.setImageResource(R.mipmap.sos)
-                    binding.callRecordsItemTitle.text = itemData.fromFrameFullName + "  请求"+itemData.data
+                    binding.callRecordsItemTitle.text = itemData.fromFrameFullName + "  请求" + itemData.data
 
                     if (itemData.actionEndMemberId != null) {
                         binding.btnRecordsAction.text = "已响应"
                     }else{
+                        binding.callRecordsItemTitle.text = itemData.fromFrameFullName + "  请求" + itemData.data
                         binding.btnRecordsAction.text = "未响应"
                     }
 
@@ -190,7 +208,7 @@ class DormCallRecordsItemAdapter(val activity: Activity, var data: ArrayList<Int
                 binding.btnRecordsAction.setOnClickListener {
                     if (TcpType.VOICE.name == itemData.actionType || TcpType.VIDEO.name == itemData.actionType) {
                         //拨打语音
-                        if (itemData.fromDeviceId == Constant.DEVICE_ID) {
+                        /*if (itemData.fromDeviceId == Constant.DEVICE_ID) {
                             //自己呼出的,再次呼出
                             if (!TextUtils.isEmpty(itemData.data)) {
                                 val roleType = JSON.parseObject(itemData.data).getString("roleType")
@@ -207,7 +225,7 @@ class DormCallRecordsItemAdapter(val activity: Activity, var data: ArrayList<Int
                         } else {
                             //对方呼入,直接呼叫对方
                             actionClickListener?.onCallDevice(itemData.fromDeviceId)
-                        }
+                        }*/
                     } else if (TcpType.IM.name == itemData.actionType) {
                         showMessage("播放语音")
                         MediaPlayHelper.getInstance().stopMusic(false)

+ 4 - 2
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dorm/adapter/DormDialCallSearchAdapter.kt

@@ -38,14 +38,16 @@ class DormDialCallSearchAdapter: FuzzySearchBaseAdapter<DeviceSearchItem, DormDi
             val itemData = mDataList[position]
             holder.deviceFrameName.text = itemData.frameName
             holder.deviceFrameName2.text = itemData.userName
-            if (itemData.deviceId==0){
+            holder.dialAction.visibility =View.GONE
+
+            /*if (itemData.deviceId==0){
                 holder.dialAction.visibility =View.GONE
             }else{
                 holder.dialAction.visibility =View.VISIBLE
             }
             holder.dialAction.setOnClickListener {
                 actionClickListener?.onCallDevice(itemData.deviceId)
-            }
+            }*/
         } catch (e: Exception) {
             //
         }

+ 42 - 34
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BedinfoFragment.kt

@@ -32,67 +32,75 @@ import kotlinx.android.synthetic.main.fragment_info_layout.*
 /**
  * 基础信息界面
  */
-class   BedinfoFragment : BaseFragment<BedAdviceFragmentPresenter, FragmentInfoLayoutBinding>(), BedAdviceFragmentContract.View {
+class BedinfoFragment : BaseFragment<BedAdviceFragmentPresenter, FragmentInfoLayoutBinding>(), BedAdviceFragmentContract.View {
 
     val TAG = "BedinfoFragment"
-    var isconfirm = true
     lateinit var adapter: AdviceAdapter
 
     override fun getLayId(): Int {
         return R.layout.fragment_info_layout
     }
+
     override fun bindDagger() {
         NurseHomeLaunch.component.inject(this)
     }
+
     //数据绑定
     override fun init() {
-        val receivedFrame = arguments?.getSerializable("bedVO")as? FrameBedVO
-
         adapter = AdviceAdapter(activity, ArrayList())
         val layoutManager = LinearLayoutManager(activity)
         info_f_ar.layoutManager = layoutManager
         info_f_ar.adapter = adapter
 
-        if (receivedFrame != null) {
-
-            f_info_phone.setText(getString(R.string.card_no)+receivedFrame?.cardNo)
-            f_info_time.text = StringUtil.getResString(R.string.indate) + TimeHandle.getDateTime(receivedFrame.customerInDate * 1000, "yyyy.MM.dd")
-            bed_medic_name.text = receivedFrame?.doctorName?:  StringUtil.getResString(R.string.no_data)
-            bed_nurse_name.text = receivedFrame?.nurseName?:  StringUtil.getResString(R.string.no_data)
-            //设置TextView的属性
-            val lps = RelativeLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)
-            lps.setMargins(20, 6, 20, 6)
-            if (receivedFrame?.nurseConfigDtos?.size==0 || receivedFrame?.nurseConfigDtos==null)return
-            for (i in receivedFrame.nurseConfigDtos.indices) {
-                val nurseColor = receivedFrame.nurseConfigDtos.get(i).nurseColorRbg
-                if(StringUtil.notEmpty(nurseColor)){
-                    val textView = TextView(context)
-                    textView.setText(receivedFrame.nurseConfigDtos.get(i).nurseOptionName)
-                    textView.setTextColor(Color.WHITE)
-                    textView.setTextSize(11f)
-                    textView.setPadding(20, 6, 20, 6)
-                    val drawableId: Int = activity.resources.getIdentifier("shape_bed_ll_txt_bg", "drawable", activity.packageName)
-                    val drawable: Drawable? = ContextCompat.getDrawable(activity, drawableId)
-                    val rgbValue = Color.parseColor("#" + nurseColor)
-                    drawable?.setTint(rgbValue)
-                    textView.background = drawable
-                    textView.layoutParams = lps
-                    ll_one.addView(textView)
+        try {
+            val receivedFrame = arguments?.getSerializable("bedVO") as? FrameBedVO
+            if (receivedFrame != null) {
+                presenter.loadAdvicesByPage(1, 3, receivedFrame.customerId)
+
+                f_info_phone.setText(getString(R.string.card_no) + receivedFrame.cardNo)
+                if (receivedFrame.customerInDate != null) {
+                    f_info_time.text = StringUtil.getResString(R.string.indate) +
+                            TimeHandle.getDateTime(receivedFrame.customerInDate * 1000, "yyyy.MM.dd")
+                } else {
+                    f_info_time.text = StringUtil.getResString(R.string.indate)
+                }
+                bed_medic_name.text = receivedFrame.doctorName?:  StringUtil.getResString(R.string.no_data)
+                bed_nurse_name.text = receivedFrame.nurseName?:  StringUtil.getResString(R.string.no_data)
+                //设置TextView的属性
+                val lps = RelativeLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)
+                lps.setMargins(20, 6, 20, 6)
+                if (receivedFrame.nurseConfigDtos?.size==0 || receivedFrame.nurseConfigDtos==null) {
+                    return
+                }
+
+                for (i in receivedFrame.nurseConfigDtos.indices) {
+                    val nurseColor = receivedFrame.nurseConfigDtos.get(i).nurseColorRbg
+                    if(StringUtil.notEmpty(nurseColor)){
+                        val textView = TextView(context)
+                        textView.setText(receivedFrame.nurseConfigDtos.get(i).nurseOptionName)
+                        textView.setTextColor(Color.WHITE)
+                        textView.setTextSize(11f)
+                        textView.setPadding(20, 6, 20, 6)
+                        val drawableId: Int = activity.resources.getIdentifier("shape_bed_ll_txt_bg", "drawable", activity.packageName)
+                        val drawable: Drawable? = ContextCompat.getDrawable(activity, drawableId)
+                        val rgbValue = Color.parseColor("#" + nurseColor)
+                        drawable?.setTint(rgbValue)
+                        textView.background = drawable
+                        textView.layoutParams = lps
+                        ll_one.addView(textView)
+                    }
                 }
             }
-            presenter.loadAdvicesByPage(1, 3, receivedFrame?.customerId)
+        } catch (e: Exception) {
+            //
         }
 
-
     }
     //点击事件
     override fun bindEvent() {
 
     }
 
-    private fun showui(){
-
-    }
     /**执行其他销毁操作*/
     override fun destory() {
 

+ 30 - 39
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcastListFragment.kt

@@ -11,10 +11,7 @@ import com.wdkl.ncs.android.component.nursehome.activity.NurseHome2Activity
 import com.wdkl.ncs.android.component.nursehome.activity.NurseHomeActivity
 import com.wdkl.ncs.android.component.nursehome.adapter.BroadcastListAdapter
 import com.wdkl.ncs.android.component.nursehome.databinding.FragmentBrMainBinding
-import com.wdkl.ncs.android.component.nursehome.dialog.BrDeleteDialogHelper
-import com.wdkl.ncs.android.component.nursehome.dialog.BrPlayDialogHelper
-import com.wdkl.ncs.android.component.nursehome.dialog.BrstDialogHelper
-import com.wdkl.ncs.android.component.nursehome.dialog.BrstopDialogHelper
+import com.wdkl.ncs.android.component.nursehome.dialog.*
 import com.wdkl.ncs.android.component.nursehome.launch.NurseHomeLaunch
 import com.wdkl.ncs.android.component.nursehome.util.MediaPlayHelper
 import com.wdkl.ncs.android.lib.base.BaseApplication
@@ -34,8 +31,6 @@ 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.CommonUtils
 import kotlinx.android.synthetic.main.fragment_br_main.*
-import kotlinx.android.synthetic.main.fragment_broadcast_host.*
-import kotlinx.android.synthetic.main.fragment_doctor_host.*
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
@@ -129,38 +124,37 @@ class BroadcastListFragment : BaseFragment<BroadcastListPresenter, FragmentBrMai
 
     }
 
-    override fun onItemClick(ID: Int, ids: String, type: String) {
+    override fun onItemClick(id: Int, ids: String, type: String) {
         when (type){
             "删除" -> {
                 BrDeleteDialogHelper.showDialog(activity) {
-
+                    //
                 }
             }
             "试听" -> {
-                BrstDialogHelper.showDialog(activity) {
-                    presenter.getBroadcastFileList(ID)
-
+                BcPreviewDialogHelper.showDialog(activity) {
+                    presenter.getBroadcastFileList(id)
                 }
             }
             "播放" -> {
                 BrPlayDialogHelper.showDialog(activity) {
                     val numbers = convertToIntArray(ids)
-                    val tcpModel = BroadcastUtil.startAudioBroadcast(Constant.DEVICE_ID, numbers.contentToString(), ID)
+                    val tcpModel = BroadcastUtil.startAudioBroadcast(Constant.DEVICE_ID, numbers.contentToString(), id)
                     TcpClient.getInstance().sendMsg(tcpModel.toJson())
                     EventBus.getDefault().post(MessageEvent("on", Constant.EVENT_BROADCAST_STATE))
                 }
             }
             "停止" -> {
+                val bId: String
                 if (!BuildConfig.device_type.equals("4")){
-                    var id = NurseHomeActivity.removeValueFrombrIngList(ID.toString())
+                    bId = NurseHomeActivity.removeValueFrombrIngList(id.toString())
                 }else{
-                    var id = NurseHome2Activity.removeValueFrombrIngList(ID.toString())
+                    bId = NurseHome2Activity.removeValueFrombrIngList(id.toString())
                 }
 
-                if (!id.equals("-1")){
+                if (!bId.equals("-1")){
                     BrstopDialogHelper.showDialog(activity) {
-
-                        val tcpModel = BroadcastUtil.stopBroadcast(Constant.DEVICE_ID, id.toInt())
+                        val tcpModel = BroadcastUtil.stopBroadcast(Constant.DEVICE_ID, bId.toInt())
                         TcpClient.getInstance().sendMsg(tcpModel.toJson())
                         EventBus.getDefault().post(MessageEvent("off", Constant.EVENT_BROADCAST_STATE))
                     }
@@ -170,7 +164,7 @@ class BroadcastListFragment : BaseFragment<BroadcastListPresenter, FragmentBrMai
 
             }
             "设置" -> {
-                EventBus.getDefault().post(MessageEvent(ID.toString(), Constant.EVENT_V_br_set))
+                EventBus.getDefault().post(MessageEvent(id.toString(), Constant.EVENT_V_br_set))
             }
 
         }
@@ -199,29 +193,26 @@ class BroadcastListFragment : BaseFragment<BroadcastListPresenter, FragmentBrMai
     var broadcast_files: List<BroadcastFilesBean>? = null
 
     override fun showMusic(data: BroadcastListVO) {
-        if (data!=null){
-            if (data.broadcast_files!=null){
-                val urls = mutableListOf<String>()
-                val url: String = CommonUtils.getUrl(BaseApplication.appContext)
-                val port: String = CommonUtils.getUrlPort(BaseApplication.appContext)
-
-                for (broadcast in data.broadcast_files) {
-                    val url = "http://$url:$port/"+broadcast.file_url
-                    urls.add(url)
-                }
-                MediaPlayHelper.getInstance().playSequentialUrls(urls, 1.0f, false)
-                MediaPlayHelper.getInstance().setOnPlayCompletionListener {
-                    showMessage(R.string.str_record_play_complete)
-                    // 在这里处理音频播放完成的逻辑
-                    MediaPlayHelper.getInstance().stopMusic()
-                }
-            }else{
-                showMessage(R.string.str_br_play_no)
+        if (data.broadcast_files != null) {
+            val urls = mutableListOf<String>()
+            val baseUrl: String = CommonUtils.getUrl(BaseApplication.appContext)
+            val port: String = CommonUtils.getUrlPort(BaseApplication.appContext)
+
+            for (broadcast in data.broadcast_files) {
+                val url = "http://$baseUrl:$port/" + broadcast.file_url
+                urls.add(url)
             }
-
+            MediaPlayHelper.getInstance().stopMusic()
+            MediaPlayHelper.getInstance().playSequentialUrls(urls, 1.0f, false)
+            MediaPlayHelper.getInstance().setOnPlayCompletionListener {
+                showMessage(R.string.str_record_play_complete)
+                // 在这里处理音频播放完成的逻辑
+                MediaPlayHelper.getInstance().stopMusic()
+                BcPreviewDialogHelper.dismiss()
+            }
+        } else {
+            showMessage(R.string.str_br_play_no)
         }
-
-
     }
 
     /**

+ 17 - 10
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcastNewFragment.kt

@@ -49,7 +49,7 @@ class BroadcastNewFragment : BaseFragment<BroadcastPresenter, FragmentBroadcastH
             f_m_br_bg.setBackgroundResource(R.color.color_no_d_work)
         }
         val broadcastListFragment = BroadcastListFragment()
-        setui(1)
+        setUI(1)
         val transaction = childFragmentManager.beginTransaction()
         transaction.replace(R.id.br_frame, broadcastListFragment)
         transaction.commitAllowingStateLoss()
@@ -63,7 +63,7 @@ class BroadcastNewFragment : BaseFragment<BroadcastPresenter, FragmentBroadcastH
         //广播列表
         ll_gb_bt.setOnClickListener {
             val broadcastListFragment = BroadcastListFragment()
-            setui(1)
+            setUI(1)
             val transaction = childFragmentManager.beginTransaction()
             transaction.replace(R.id.br_frame, broadcastListFragment)
             transaction.commitAllowingStateLoss()
@@ -71,7 +71,7 @@ class BroadcastNewFragment : BaseFragment<BroadcastPresenter, FragmentBroadcastH
         //喊话广播
         ll_hh_bt.setOnClickListener {
             val broadcasthhFragment = BroadcasthhFragment()
-            setui(2)
+            setUI(2)
             val transaction = childFragmentManager.beginTransaction()
             transaction.replace(R.id.br_frame, broadcasthhFragment)
             transaction.commitAllowingStateLoss()
@@ -83,24 +83,31 @@ class BroadcastNewFragment : BaseFragment<BroadcastPresenter, FragmentBroadcastH
 
     }
 
-    private fun  setui(int: Int){
-        ll_gb_bt.setBackgroundResource(R.drawable.shape_bed_bg)
+    private fun setUI(int: Int) {
+        if (BuildConfig.device_type.equals("4")) {
+            ll_gb_bt.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+            ll_hh_bt.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+            ll_tj_bt.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+        } else {
+            ll_gb_bt.setBackgroundResource(R.drawable.shape_bed_bg)
+            ll_hh_bt.setBackgroundResource(R.drawable.shape_bed_bg)
+            ll_tj_bt.setBackgroundResource(R.drawable.shape_bed_bg)
+        }
+
         ll_gb_bt_img.setBackgroundResource(R.mipmap.jr)
         ll_gb_bt_tx.setTextColor(getResources().getColor(R.color.black))
 
-        ll_hh_bt.setBackgroundResource(R.drawable.shape_bed_bg)
         ll_hh_bt_img.setBackgroundResource(R.mipmap.jr)
         ll_hh_bt_tx.setTextColor(getResources().getColor(R.color.black))
 
-        ll_tj_bt.setBackgroundResource(R.drawable.shape_bed_bg)
         ll_tj_bt_img.setBackgroundResource(R.mipmap.jr)
         ll_tj_bt_tx.setTextColor(getResources().getColor(R.color.black))
-        when (int) {
 
-             1-> {
+        when (int) {
+            1 -> {
                 //广播列表
                 ll_gb_bt.setBackgroundResource(R.drawable.shape_bt_main_list_bg)
-                 ll_gb_bt_img.setBackgroundResource(R.mipmap.jian_bai)
+                ll_gb_bt_img.setBackgroundResource(R.mipmap.jian_bai)
                 ll_gb_bt_tx.setTextColor(getResources().getColor(R.color.white));
             }
 

+ 7 - 7
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcastSetFragment.kt

@@ -40,18 +40,12 @@ import kotlin.collections.ArrayList
  */
 class BroadcastSetFragment : BaseFragment<BroadcastSetPresenter, FragmentBrSetBinding>(), BroadcastSetContract.View ,BrGroupAdapter.OnItemClickListener{
 
-
     var TAG = BroadcastSetFragment::class.java.getSimpleName()
 
-    private lateinit var virtualLayoutManager: VirtualLayoutManager
-    private lateinit var delegateAdapter: DelegateAdapter
 
     //区域适配器
     private lateinit var adapter: BrGroupAdapter
 
-    private var infoFragment: Fragment? = null
-
-
 
     var  group_id :Int = 0
     var br_id :String = ""
@@ -97,9 +91,15 @@ class BroadcastSetFragment : BaseFragment<BroadcastSetPresenter, FragmentBrSetBi
      *初始化操作
      */
     override fun init() {
-        if (!BuildConfig.device_type.equals("4")){
+        if (BuildConfig.device_type.equals("4")){
+            rl_bc_set_title.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+            ll_bc_set.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+        } else {
             f_br_set_bg.setBackgroundResource(R.color.color_no_d_work)
+            rl_bc_set_title.setBackgroundResource(R.drawable.shape_bed_bg)
+            ll_bc_set.setBackgroundResource(R.drawable.shape_bed_bg)
         }
+
         br_id = arguments?.getString("id").toString()
         adapter = BrGroupAdapter(activity, ArrayList())
         val layoutManager = GridLayoutManager(activity, 4, LinearLayoutManager.VERTICAL, false)

+ 5 - 2
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcasthhFragment.kt

@@ -81,9 +81,12 @@ class BroadcasthhFragment : BaseFragment<BroadcasthhPresenter, FragmentBrCallBin
      *初始化操作
      */
     override fun init() {
-        if (!BuildConfig.device_type.equals("4")){
-            f_br_call_bg.setBackgroundResource(R.color.color_no_d_work)
+        if (BuildConfig.device_type.equals("4")){
+            f_br_call_bg.setBackgroundResource(R.drawable.shape_dorm_call_item_bg)
+        } else {
+            f_br_call_bg.setBackgroundResource(R.drawable.shape_bed_bg)
         }
+
         adapter = BrGroupAdapter(activity, ArrayList())
         val layoutManager = GridLayoutManager(activity, 4, LinearLayoutManager.VERTICAL, false)
         call_bt_rv.layoutManager = layoutManager

+ 3 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/CallRecordsFragment.kt

@@ -17,6 +17,7 @@ import com.wdkl.ncs.android.component.nursehome.activity.NurseHomeActivity
 import com.wdkl.ncs.android.component.nursehome.adapter.CallRecordsItemAdapter
 import com.wdkl.ncs.android.component.nursehome.adapter.CallingItemAdapter
 import com.wdkl.ncs.android.component.nursehome.databinding.FragmentCallRecordsBinding
+import com.wdkl.ncs.android.component.nursehome.dialog.BcPreviewDialogHelper
 import com.wdkl.ncs.android.component.nursehome.launch.NurseHomeLaunch
 import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.nursehome.util.*
@@ -484,6 +485,8 @@ class CallRecordsFragment: BaseFragment<CallRecordsFragmentPresenter, FragmentCa
                             return
                         }
 
+                        BcPreviewDialogHelper.dismiss()
+
                         val mainActivity = activity as? NurseHomeActivity
                         EventBus.getDefault().post(MessageEvent("finish", Constant.EVENT_FINISHh))
                         mainActivity?.showLeftFragment()

+ 5 - 5
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/PushMessageListFragment.kt

@@ -123,7 +123,7 @@ class PushMessageListFragment : BaseFragment<BroadcastListPresenter, FragmentBrM
 
     }
 
-    override fun onItemClick(ID: Int, ids: String, type: String) {
+    override fun onItemClick(id: Int, ids: String, type: String) {
         when (type){
             "删除" -> {
                 BrDeleteDialogHelper.showDialog(activity) {
@@ -132,20 +132,20 @@ class PushMessageListFragment : BaseFragment<BroadcastListPresenter, FragmentBrM
             }
             "试听" -> {
                 BrstDialogHelper.showDialog(activity) {
-                    presenter.getBroadcastFileList(ID)
+                    presenter.getBroadcastFileList(id)
 
                 }
             }
             "播放" -> {
                 BrPlayDialogHelper.showDialog(activity) {
                     val numbers = convertToIntArray(ids)
-                    val tcpModel = BroadcastUtil.startAudioBroadcast(Constant.DEVICE_ID, numbers.contentToString(), ID)
+                    val tcpModel = BroadcastUtil.startAudioBroadcast(Constant.DEVICE_ID, numbers.contentToString(), id)
                     TcpClient.getInstance().sendMsg(tcpModel.toJson())
                     EventBus.getDefault().post(MessageEvent("on", Constant.EVENT_BROADCAST_STATE))
                 }
             }
             "停止" -> {
-                var id = NurseHomeActivity.removeValueFrombrIngList(ID.toString())
+                var id = NurseHomeActivity.removeValueFrombrIngList(id.toString())
                 if (!id.equals("-1")){
                     BrstopDialogHelper.showDialog(activity) {
 
@@ -159,7 +159,7 @@ class PushMessageListFragment : BaseFragment<BroadcastListPresenter, FragmentBrM
 
             }
             "设置" -> {
-                EventBus.getDefault().post(MessageEvent(ID.toString(), Constant.EVENT_V_br_set))
+                EventBus.getDefault().post(MessageEvent(id.toString(), Constant.EVENT_V_br_set))
             }
 
         }

+ 234 - 238
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/SickbedFragment.kt

@@ -40,251 +40,247 @@ import org.greenrobot.eventbus.ThreadMode
 /**
  * 病床Fragment
  */
-class SickbedFragment:BaseFragment<SickbedPresenter, FragmentSickbedBinding>(),SickbedContract.View {
+class SickbedFragment : BaseFragment<SickbedPresenter, FragmentSickbedBinding>(),
+    SickbedContract.View {
+
+    var TAG = SickbedFragment::class.java.getSimpleName()
+
+    private var adapter: MainFrameBedAdapter? = null
+    var frame = FrameBedVO()
+
+    /**
+     * @Name  virtualLayoutManager
+     * @Type  VirtualLayoutManager
+     * @Note  VLayoutManager
+     */
+    private lateinit var virtualLayoutManager: VirtualLayoutManager
+
+    /**
+     * @Name  delegateAdapter
+     * @Type  DelegateAdapter
+     * @Note  七巧板适配器
+     */
+    private lateinit var delegateAdapter: DelegateAdapter
+
+
+    var mListener: OnItemListener? = null
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:32
+     * @Note   提供layoutID
+     * @return layoutId
+     */
+    override fun getLayId(): Int {
+        return R.layout.fragment_sickbed
+    }
+
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:33
+     * @Note   初始化依赖注入
+     */
+    override fun bindDagger() {
+        NurseHomeLaunch.component.inject(this)
+    }
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:33
+     * @Note   初始化操作
+     */
+    override fun init() {
+        /**初始化LayoutMannager*/
+        virtualLayoutManager = VirtualLayoutManager(this.activity)
 
-     var TAG = SickbedFragment::class.java.getSimpleName()
+        /**初始化适配器*/
+        delegateAdapter = DelegateAdapter(virtualLayoutManager)
+
+        adapter = MainFrameBedAdapter(activity, ArrayList())
+        delegateAdapter.addAdapter(adapter)
+        mViewDataBinding.sickbedRefresh.setRefreshFooter(ClassicsFooter(activity))
+
+        /**配置到RecycleView*/
+        sickbed_listView.layoutManager = virtualLayoutManager
+        sickbed_listView.adapter = delegateAdapter
+
+        presenter.loadData(Constant.PART_ID)
+
+    }
 
-     private var adapter: MainFrameBedAdapter? = null
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:33
+     * @Note   绑定事件
+     */
+    override fun bindEvent() {
+
+        configRefresh()
+    }
+
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:34
+     * @Note   页面销毁回调
+     */
+    override fun destory() {
+    }
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:35
+     * @Note   处理错误信息
+     * @param  message  错误信息
+     */
+    override fun onError(message: String, type: Int) {
+        sickbed_refresh.finishRefresh()
+        showMessage(message)
+    }
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:37
+     * @Note   耗时加载开始
+     */
+    override fun start() {
+    }
 
-     var frame = FrameBedVO()
-
- /**
-  * @Name  virtualLayoutManager
-  * @Type  VirtualLayoutManager
-  * @Note  VLayoutManager
-  */
- private lateinit var virtualLayoutManager: VirtualLayoutManager
-
- /**
-  * @Name  delegateAdapter
-  * @Type  DelegateAdapter
-  * @Note  七巧板适配器
-  */
- private lateinit var delegateAdapter: DelegateAdapter
-
-
- var mListener:OnItemListener? = null
-
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:32
-  * @Note   提供layoutID
-  * @return layoutId
-  */
- override fun getLayId(): Int {
-  return R.layout.fragment_sickbed
- }
-
-
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:33
-  * @Note   初始化依赖注入
-  */
- override fun bindDagger() {
-  NurseHomeLaunch.component.inject(this)
- }
-
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:33
-  * @Note   初始化操作
-  */
- override fun init() {
-  if (!BuildConfig.device_type.equals("4")){//不等于宿舍
-   sick_m_bg.setBackgroundResource(R.color.white)
-  }
-
-  /**初始化LayoutMannager*/
-  virtualLayoutManager = VirtualLayoutManager(this.activity)
-
-  /**初始化适配器*/
-  delegateAdapter = DelegateAdapter(virtualLayoutManager)
-
-  adapter = MainFrameBedAdapter(activity, ArrayList())
-  delegateAdapter.addAdapter(adapter)
-  mViewDataBinding.sickbedRefresh.setRefreshFooter(ClassicsFooter(activity))
-
-  /**配置到RecycleView*/
-  sickbed_listView.layoutManager = virtualLayoutManager
-  sickbed_listView.adapter = delegateAdapter
-
-  presenter.loadData(Constant.PART_ID)
-
- }
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:33
-  * @Note   绑定事件
-  */
- override fun bindEvent() {
-
-  configRefresh()
- }
-
-
-
-
-
-
-
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:34
-  * @Note   页面销毁回调
-  */
- override fun destory() {
- }
-
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:35
-  * @Note   处理错误信息
-  * @param  message  错误信息
-  */
- override fun onError(message: String, type: Int) {
-  sickbed_refresh.finishRefresh()
-  showMessage(message)
- }
-
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:37
-  * @Note   耗时加载开始
-  */
- override fun start() {
- }
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/8/16 下午4:08
-  * @Note   渲染楼层
-  * @param  data  数据
-  */
- override fun showData(data: FramePartVO) {
-  if (data.frameRoomVos != null){
-   //提供给声网探视
-   Constant.union_id =data.framePart.unionId
-
-   if (data.frameRoomVos != null){
-    val frameRoomVos = data.frameRoomVos as ArrayList<FrameRoomVO>
-    val frameBedVO = ArrayList<FrameBedVO>()
-    val emptyFrameBedVOs = ArrayList<FrameBedVO>()
-    for (frameRoomVo in frameRoomVos) {
-     val frameBedVOs = frameRoomVo.frameBedList
-
-     if (frameBedVOs != null && frameBedVOs.size > 0) {
-      for (bedVO in frameBedVOs) {
-       if (TextUtils.isEmpty(bedVO.customerName) || bedVO.bedDeviceId==null ) {
-        emptyFrameBedVOs.add(bedVO)
-       } else {
-        frameBedVO.add(bedVO)
-       }
-      }
-     }
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/8/16 下午4:08
+     * @Note   渲染楼层
+     * @param  data  数据
+     */
+    override fun showData(data: FramePartVO) {
+        if (data.frameRoomVos != null) {
+            //提供给声网探视
+            Constant.union_id = data.framePart.unionId
+
+            if (data.frameRoomVos != null) {
+                val frameRoomVos = data.frameRoomVos as ArrayList<FrameRoomVO>
+                val frameBedVO = ArrayList<FrameBedVO>()
+                val emptyFrameBedVOs = ArrayList<FrameBedVO>()
+                for (frameRoomVo in frameRoomVos) {
+                    val frameBedVOs = frameRoomVo.frameBedList
+
+                    if (frameBedVOs != null && frameBedVOs.size > 0) {
+                        for (bedVO in frameBedVOs) {
+                            if (TextUtils.isEmpty(bedVO.customerName) || bedVO.bedDeviceId == null) {
+                                emptyFrameBedVOs.add(bedVO)
+                            } else {
+                                frameBedVO.add(bedVO)
+                            }
+                        }
+                    }
+                }
+                adapter!!.data.clear()
+                adapter!!.data.addAll(frameBedVO)
+                adapter!!.data.addAll(emptyFrameBedVOs)
+                adapter!!.notifyDataSetChanged()
+
+            }
+        }
+        sickbed_refresh.finishRefresh()
+        sickbed_refresh.finishLoadMore()
     }
-    adapter!!.data.clear()
-    adapter!!.data.addAll(frameBedVO)
-    adapter!!.data.addAll(emptyFrameBedVOs)
-    adapter!!.notifyDataSetChanged()
-
-   }
-  }
-  sickbed_refresh.finishRefresh()
-  sickbed_refresh.finishLoadMore()
- }
-
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:36
-  * @Note   操作完成
-  * @param  message 完成信息
-  */
- override fun complete(message: String, type: Int) {
- }
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:37
-  * @Note   配置刷新监听处理
-  */
- private fun configRefresh(){
-  sickbed_refresh.setOnRefreshListener {
-   presenter.loadData(Constant.PART_ID)
-  }
- }
-
- override fun onStart() {
-  super.onStart()
-  if (!EventBus.getDefault().isRegistered(this)) {
-   // 未注册的逻辑处理
-   EventBus.getDefault().register(this)
-  }
-
- }
-
- override fun onStop() {
-  super.onStop()
-  if (EventBus.getDefault().isRegistered(this)) {
-   // 已注册的逻辑处理
-   EventBus.getDefault().unregister(this)
-  }
-
- }
- /**
-  * @author LDD
-  * @From   HomeFragment
-  * @Date   2018/1/19 下午5:39
-  * @Note   处理网络状态
-  * @param  state 网络状态
-  */
- override fun networkMonitor(state: NetState) {
-  state.filter(onWifi = {
-
-  }, onMobile = {
-
-  }, offline = {
-
-  })
- }
- fun setOnItemListener(mListener: OnItemListener) {
-  this.mListener = mListener
- }
-
- interface OnItemListener {
-  fun theBedInformation(data: FrameBedVO)
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- fun onMoonEvent(messageEvent: MessageEvent) {
-  when (messageEvent.getType()) {
-   Constant.EVENT_TCP_MSG -> {
-    var tcpModel = messageEvent.getMessage() as TcpModel
-    if (tcpModel.action == TcpAction.DataAction.REFRESH) {
-     //更新数据
-     presenter.loadData(Constant.PART_ID)
 
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:36
+     * @Note   操作完成
+     * @param  message 完成信息
+     */
+    override fun complete(message: String, type: Int) {
     }
-   }
-   Constant.EVENT_Host_INFO -> {
-    val intent = Intent()
-    val data : FrameBedVO? = messageEvent.getMessage() as FrameBedVO?
-    intent.setClass(activity, HostbedinfoActivity::class.java)
-    if (data != null) {
-     intent.putExtra("bedVO", data)
-     startActivity(intent)
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:37
+     * @Note   配置刷新监听处理
+     */
+    private fun configRefresh() {
+        sickbed_refresh.setOnRefreshListener {
+            presenter.loadData(Constant.PART_ID)
+        }
+    }
+
+    override fun onStart() {
+        super.onStart()
+        if (!EventBus.getDefault().isRegistered(this)) {
+            // 未注册的逻辑处理
+            EventBus.getDefault().register(this)
+        }
+
+    }
+
+    override fun onStop() {
+        super.onStop()
+        if (EventBus.getDefault().isRegistered(this)) {
+            // 已注册的逻辑处理
+            EventBus.getDefault().unregister(this)
+        }
+
+    }
+
+    /**
+     * @author LDD
+     * @From   HomeFragment
+     * @Date   2018/1/19 下午5:39
+     * @Note   处理网络状态
+     * @param  state 网络状态
+     */
+    override fun networkMonitor(state: NetState) {
+        state.filter(onWifi = {
+
+        }, onMobile = {
+
+        }, offline = {
+
+        })
+    }
+
+    fun setOnItemListener(mListener: OnItemListener) {
+        this.mListener = mListener
+    }
+
+    interface OnItemListener {
+        fun theBedInformation(data: FrameBedVO)
+    }
+
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    fun onMoonEvent(messageEvent: MessageEvent) {
+        when (messageEvent.getType()) {
+            Constant.EVENT_TCP_MSG -> {
+                val tcpModel = messageEvent.getMessage() as TcpModel
+                if (tcpModel.action == TcpAction.DataAction.REFRESH) {
+                    //更新数据
+                    presenter.loadData(Constant.PART_ID)
+                }
+            }
+
+            Constant.EVENT_Host_INFO -> {
+                val intent = Intent()
+                val data: FrameBedVO? = messageEvent.getMessage() as FrameBedVO?
+                intent.setClass(activity, HostbedinfoActivity::class.java)
+                if (data != null) {
+                    intent.putExtra("bedVO", data)
+                    startActivity(intent)
+                }
+            }
+        }
     }
-   }
-  }
- }
 
 
 }

+ 26 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/receiver/NetWorkChangeReceiver.kt

@@ -0,0 +1,26 @@
+package com.wdkl.ncs.android.component.nursehome.receiver
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.wifi.WifiManager
+import android.util.Log
+import com.wdkl.ncs.android.middleware.common.Constant
+import com.wdkl.ncs.android.middleware.common.MessageEvent
+import org.greenrobot.eventbus.EventBus
+
+class NetWorkChangeReceiver : BroadcastReceiver() {
+    val TAG = NetWorkChangeReceiver::class.simpleName
+
+    override fun onReceive(context: Context, intent: Intent) {
+        val action = intent.getAction()
+        if (WifiManager.WIFI_STATE_CHANGED_ACTION == action) {
+            val wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, -1)
+            if (wifiState == WifiManager.WIFI_STATE_ENABLED) {
+                //打开wifi
+                Log.e(TAG, "打开wifi...")
+                EventBus.getDefault().post(MessageEvent("wifi", Constant.EVENT_WIFI_ENABLE))
+            }
+        }
+    }
+}

+ 329 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/NetworkUtils.java

@@ -0,0 +1,329 @@
+package com.wdkl.ncs.android.component.nursehome.util;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkInfo;
+import android.net.wifi.ScanResult;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.util.Log;
+
+import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig;
+
+import java.util.List;
+
+@SuppressLint("NewApi")
+public class NetworkUtils {
+
+    private static final String TAG = "NetworkUtils";
+
+    /**
+     * Indicates this network uses a Cellular transport.
+     */
+    public static final int TRANSPORT_CELLULAR = 0;
+
+    /**
+     * Indicates this network uses a Wi-Fi transport.
+     */
+    public static final int TRANSPORT_WIFI = 1;
+
+    /**
+     * Indicates this network uses a Bluetooth transport.
+     */
+    public static final int TRANSPORT_BLUETOOTH = 2;
+
+    /**
+     * Indicates this network uses an Ethernet transport.
+     */
+    public static final int TRANSPORT_ETHERNET = 3;
+
+    /**
+     * Indicates this network uses a VPN transport.
+     */
+    public static final int TRANSPORT_VPN = 4;
+
+    /**
+     * Indicates this network uses a Wi-Fi Aware transport.
+     */
+    public static final int TRANSPORT_WIFI_AWARE = 5;
+
+    /**
+     * Indicates this network uses a LoWPAN transport.
+     */
+    public static final int TRANSPORT_LOWPAN = 6;
+
+    /**
+     * Indicates this network uses a Test-only virtual interface as a transport.
+     * @hide
+     */
+    public static final int TRANSPORT_TEST = 7;
+
+    /**
+     * Indicates this network uses a USB transport.
+     */
+    public static final int TRANSPORT_USB = 8;
+
+    private static boolean checkNetConnection = false;
+
+    /**
+     * >= Android 10(Q版本)推荐
+     *
+     * 当前使用MOBILE流量上网
+     */
+    public static boolean isMobileNetwork(Context context) {
+        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+
+        Network network = cm.getActiveNetwork();
+        if (null == network) {
+            return false;
+        }
+
+        NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);
+        if (null == capabilities) {
+            return false;
+        }
+        return capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
+                && capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
+    }
+
+
+    /**
+     * >= Android 10(Q版本)推荐
+     *
+     * 当前使用WIFI上网
+     */
+
+    public static boolean isWifiNetwork(Context context) {
+        ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        Network network = cm.getActiveNetwork();
+        if (null == network) {
+            return false;
+        }
+        NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);
+        if (null == capabilities) {
+            return false;
+        }
+        return capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
+                && capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
+    }
+
+
+    /**
+     *  >= Android 10(Q版本)推荐
+     *
+     * 当前使用以太网上网
+     */
+    public static boolean isEthernetNetwork(Context context) {
+        ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        Network network = cm.getActiveNetwork();
+        if (null == network) {
+            return false;
+        }
+        NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);
+        if (null == capabilities) {
+            return false;
+        }
+        return capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)
+                && capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
+    }
+
+
+
+    /**
+     * >= Android 10(Q版本)推荐
+     *
+     * NetworkCapabilities.NET_CAPABILITY_INTERNET,表示此网络应该(maybe)能够访问internet
+     *
+     *  判断当前网络可以正常上网
+     *  表示此连接此网络并且能成功上网。  例如,对于具有NET_CAPABILITY_INTERNET的网络,这意味着已成功检测到INTERNET连接。
+     */
+    public static boolean isConnectedAvailableNetwork(Context context) {
+        ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        Network network = cm.getActiveNetwork();
+        if (null == network) {
+            return false;
+        }
+        NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);
+        if (null == capabilities) {
+            return false;
+        }
+        return capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+                && capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
+    }
+
+
+    /**
+     * >= Android 10(Q版本)推荐
+     *
+     * 获取成功上网的网络类型
+     * value = {
+     *    TRANSPORT_CELLULAR,   0 表示此网络使用蜂窝传输。
+     *    TRANSPORT_WIFI,       1 表示此网络使用Wi-Fi传输。
+     *    TRANSPORT_BLUETOOTH,  2 表示此网络使用蓝牙传输。
+     *    TRANSPORT_ETHERNET,   3 表示此网络使用以太网传输。
+     *    TRANSPORT_VPN,        4 表示此网络使用VPN传输。
+     *    TRANSPORT_WIFI_AWARE, 5 表示此网络使用Wi-Fi感知传输。
+     *    TRANSPORT_LOWPAN,     6 表示此网络使用LoWPAN传输。
+     *    TRANSPORT_TEST,       7 指示此网络使用仅限测试的虚拟接口作为传输。
+     *    TRANSPORT_USB,        8 表示此网络使用USB传输
+     * }
+     */
+    public static int getConnectedNetworkType(Context context) {
+        ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        Network network = cm.getActiveNetwork();
+        if (null == network) {
+            return -1;
+        }
+        NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);
+        if (null == capabilities) {
+            return -1;
+        }
+        if (capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) {
+            if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
+                return NetworkCapabilities.TRANSPORT_CELLULAR;
+            } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
+                return NetworkCapabilities.TRANSPORT_WIFI;
+            } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH)) {
+                return NetworkCapabilities.TRANSPORT_BLUETOOTH;
+            } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) {
+                return NetworkCapabilities.TRANSPORT_ETHERNET;
+            } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) {
+                return NetworkCapabilities.TRANSPORT_VPN;
+            } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI_AWARE)) {
+                return NetworkCapabilities.TRANSPORT_WIFI_AWARE;
+            } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_LOWPAN)) {
+                return NetworkCapabilities.TRANSPORT_LOWPAN;
+            } /*else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_USB)) {
+                return NetworkCapabilities.TRANSPORT_USB;
+            }*/
+        }
+        return -1;
+    }
+
+    /**
+     * 判断当前是否有网络连接,但是如果该连接的网络无法上网,也会返回true
+     */
+    public static boolean isNetConnection(Context context) {
+        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
+
+        if (networkInfo != null && networkInfo.isConnected()) {
+            return true;
+        }
+
+        return false;
+    }
+
+    public static int getNetworkInfoType(Context context) {
+        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
+
+        if (networkInfo != null) {
+            return networkInfo.getType();
+        }
+
+        return -1;
+    }
+
+
+    ///////////////////////////**********WIFI***********/////////////////////////
+    public static boolean getWifiStatus(Context context){
+        //从系统服务中获取无线网络管理器
+        WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+        return wm.isWifiEnabled();
+    }
+
+    public static List<WifiConfiguration> getConfiguredWifiNetworks(Context context) {
+        WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+        return wm.getConfiguredNetworks();
+    }
+
+    public static String getConnectWifi(Context context) {
+        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+        if (wifiManager != null) {
+            WifiInfo info = wifiManager.getConnectionInfo();
+            if (info != null) {
+                return info.getSSID();
+            }
+        }
+
+        return "";
+    }
+
+
+    //连接wifi,优先preferSSID
+    public static void connectWifi(Context context, String preferSSID) {
+        try {
+            WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+            //扫描wifi
+            List<ScanResult> scanResults = wifiManager.getScanResults();
+            //获取已保存的wifi列表
+            List<WifiConfiguration> wifiConfigs = wifiManager.getConfiguredNetworks();
+
+            if (scanResults != null && wifiConfigs != null) {
+                //优先连接原来最后一次连接的网络
+                /*if (!TextUtils.isEmpty(preferSSID)) {
+                    for (WifiConfiguration wifiConfiguration: wifiConfigs) {
+                        Log.e(TAG, "preferSSID: " + preferSSID + ", wifi ssid: " + wifiConfiguration.SSID);
+                        if (preferSSID.equals(wifiConfiguration.SSID)) {
+                            boolean connect = wifiManager.enableNetwork(wifiConfiguration.networkId, true);
+                            Log.e(TAG, "connect prefer wifi: " + connect);
+                            if (connect) {
+                                return;
+                            }
+                            break;
+                        }
+                    }
+                }*/
+
+                for (WifiConfiguration wifiConfiguration: wifiConfigs) {
+                    for (ScanResult scanResult : scanResults) {
+                        Log.e(TAG, "wifiConfig: ssid=" + wifiConfiguration.SSID + ", p=" + wifiConfiguration.preSharedKey
+                                + "------scanResult: ssid=" + scanResult.SSID);
+                        String scanSSID = "\"" + scanResult.SSID + "\"";
+                        if (scanSSID.equals(wifiConfiguration.SSID)) {
+                            //连接WiFi
+                            boolean connect = wifiManager.enableNetwork(wifiConfiguration.networkId, true);
+                            Log.e(TAG, "connect wifi: " + connect);
+                            if (connect) {
+                                return;
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void checkNetworkConnect(Context context) {
+        if (checkNetConnection) {
+            Log.e(TAG, "正在检查网络连接...");
+            return;
+        }
+
+        checkNetConnection = true;
+        if (NetworkUtils.isNetConnection(context)) {
+            //网络连接正常,返回
+            Log.e(TAG, "network available...");
+            /*if (NetworkUtils.getNetworkInfoType(context) == ConnectivityManager.TYPE_WIFI) {
+                String wifiSSID = NetworkUtils.getConnectWifi(context);
+                SettingConfig.setWifiSSID(context, wifiSSID);
+            }*/
+        } else {
+            //无网络连接,判断是否开启了wifi,如开启了则尝试自动连接
+            boolean wifiState = NetworkUtils.getWifiStatus(context);
+            Log.e(TAG, "network unavailable...$wifiState");
+            if (wifiState) {
+                NetworkUtils.connectWifi(context, "");
+            }
+        }
+
+        checkNetConnection = false;
+    }
+}

+ 2 - 1
android_host/src/main/res/layout/adapter_broadcasting_frame_part.xml

@@ -60,7 +60,6 @@
             android:layout_height="@dimen/d45"
             android:gravity="center_vertical"
             android:layout_centerVertical="true"
-            android:clickable="true"
             android:layout_toLeftOf="@+id/br_ting"
             android:background="@drawable/shape_other_item_bg"
             android:orientation="horizontal"
@@ -81,6 +80,7 @@
                 android:textSize="@dimen/font_size_18"
                 android:textStyle="bold" />
         </LinearLayout>
+
         <LinearLayout
             android:id="@+id/br_ting"
             android:layout_width="@dimen/d100"
@@ -107,6 +107,7 @@
                 android:textSize="@dimen/font_size_18"
                 android:layout_marginLeft="@dimen/d5" />
         </LinearLayout>
+
         <LinearLayout
             android:id="@+id/br_play"
             android:layout_width="@dimen/d100"

+ 39 - 49
android_host/src/main/res/layout/adapter_home_frame_bed_lay.xml

@@ -1,51 +1,46 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    >
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
 
     <LinearLayout
         android:id="@+id/home_bed_lay_ll"
-        android:layout_width="142dp"
+        android:layout_width="140dp"
         android:layout_height="115dp"
         android:background="@drawable/shape_host_bed_bg"
-        android:orientation="vertical"
-        android:clickable="true"
         android:gravity="center_horizontal"
-        android:layout_marginRight="@dimen/d5"
-        >
+        android:orientation="vertical">
 
         <RelativeLayout
-                android:id="@+id/home_f_bed_lay_linlayout"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/d30"
-                android:background="@drawable/sp_home_bed_item_t_bg"
-                >
-               <TextView
-                    android:id="@+id/bed_lay_f_number"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentLeft="true"
-                   android:layout_centerVertical="true"
-                    android:layout_marginLeft="@dimen/d10"
-                    android:text="0156房"
-                    android:textColor="@color/white"
-                    android:textStyle="bold"
-                    android:textSize="@dimen/font_size_16" />
+            android:id="@+id/home_f_bed_lay_linlayout"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d30"
+            android:background="@drawable/sp_home_bed_item_t_bg">
 
+            <TextView
+                android:id="@+id/bed_lay_f_number"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentLeft="true"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="@dimen/d10"
+                android:text="0156房"
+                android:textColor="@color/white"
+                android:textSize="@dimen/font_size_16"
+                android:textStyle="bold" />
 
             <TextView
-                    android:id="@+id/bed_lay_f_state"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginRight="5dp"
-                    android:layout_alignParentRight="true"
-                    android:layout_centerVertical="true"
-                    android:padding="@dimen/d5"
-                    android:text="危"
-                    android:background="@drawable/shape_f_bed_item_tx_bg"
-                    android:textColor="@color/color_critical"
-                    android:textStyle="bold"
-                    android:visibility="gone"
-                    android:textSize="@dimen/font_size_10" />
+                android:id="@+id/bed_lay_f_state"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:layout_marginRight="5dp"
+                android:background="@drawable/shape_f_bed_item_tx_bg"
+                android:padding="@dimen/d5"
+                android:text="危"
+                android:textColor="@color/color_critical"
+                android:textSize="@dimen/font_size_10"
+                android:textStyle="bold"
+                android:visibility="gone" />
 
         </RelativeLayout>
 
@@ -53,26 +48,22 @@
             android:id="@+id/bed_lay_name"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:gravity="center"
-            android:layout_alignParentLeft="true"
-            android:layout_centerVertical="true"
             android:layout_marginTop="@dimen/d5"
             android:ellipsize="marquee"
             android:focusable="true"
             android:focusableInTouchMode="true"
-            android:singleLine="true"
+            android:gravity="center"
             android:marqueeRepeatLimit="marquee_forever"
+            android:singleLine="true"
             android:text="张秀芬"
             android:textColor="@color/black"
-            android:textStyle="bold"
-            android:textSize="@dimen/font_size_18" />
+            android:textSize="@dimen/font_size_18"
+            android:textStyle="bold" />
 
         <TextView
             android:id="@+id/bed_lay_sex"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_alignParentLeft="true"
-            android:layout_centerVertical="true"
             android:layout_marginTop="@dimen/d3"
             android:text="28,男 "
             android:textColor="@color/color_pop_header"
@@ -82,17 +73,16 @@
             android:id="@+id/bed_lay_button"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/d5"
             android:layout_marginLeft="@dimen/d10"
+            android:layout_marginTop="@dimen/d5"
             android:layout_marginRight="@dimen/d10"
             android:background="@drawable/shape_main_call_r_bg"
-            android:text="特级护理"
             android:gravity="center"
-            android:visibility="gone"
+            android:text="特级护理"
             android:textColor="@color/white"
+            android:textSize="@dimen/font_size_14"
             android:textStyle="bold"
-            android:textSize="@dimen/font_size_14" />
-
+            android:visibility="gone" />
 
     </LinearLayout>
 </layout>

+ 8 - 6
android_host/src/main/res/layout/dorm_sky_voice_call_layout.xml

@@ -36,7 +36,8 @@
                 android:layout_centerInParent="true"
                 android:layout_marginTop="@dimen/d30"
                 android:layout_marginBottom="@dimen/d30"
-                android:background="@mipmap/d_main_sos" />
+                android:background="@mipmap/d_main_sos"
+                android:visibility="gone"/>
 
         </RelativeLayout>
 
@@ -206,12 +207,13 @@
                 <LinearLayout
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="20dp">
+                    android:layout_marginTop="20dp"
+                    android:gravity="center_vertical">
 
                     <ImageView
                         android:id="@+id/sky_voice_call_mute"
-                        android:layout_width="100dp"
-                        android:layout_height="100dp"
+                        android:layout_width="80dp"
+                        android:layout_height="80dp"
                         android:layout_marginRight="40dp"
                         android:src="@drawable/av_mute_selector"
                         android:visibility="gone" />
@@ -231,8 +233,8 @@
 
                     <ImageView
                         android:id="@+id/sky_voice_call_speaker"
-                        android:layout_width="100dp"
-                        android:layout_height="100dp"
+                        android:layout_width="80dp"
+                        android:layout_height="80dp"
                         android:layout_marginLeft="40dp"
                         android:src="@drawable/av_speaker_selector"
                         android:visibility="gone" />

+ 118 - 125
android_host/src/main/res/layout/fragment_br_call.xml

@@ -6,150 +6,143 @@
         android:id="@+id/f_br_call_bg"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:gravity="center_horizontal"
+        android:layout_marginLeft="@dimen/d10"
+        android:layout_marginTop="@dimen/d10"
+        android:layout_marginRight="@dimen/d10"
+        android:background="@drawable/shape_bed_bg"
         android:orientation="vertical">
 
         <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="@dimen/d10"
-            android:layout_marginTop="@dimen/d10"
-            android:layout_marginRight="@dimen/d10"
-            android:background="@drawable/shape_bed_bg"
-            android:orientation="vertical">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/d10">
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/d28"
-                    android:text="*"
-                    android:textColor="@color/txt_number"
-                    android:textSize="@dimen/font_size_18"
-                    android:textStyle="bold" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_toRightOf="@+id/set_br_tx_3"
-                    android:text="@string/br_message_9"
-                    android:textColor="@color/black"
-                    android:textSize="@dimen/font_size_18"
-                    android:textStyle="bold" />
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="40dp">
-
-                <androidx.recyclerview.widget.RecyclerView
-                    android:id="@+id/call_bt_rv"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:layout_marginTop="4dp"
-                    android:paddingLeft="20dp"
-                    android:paddingRight="20dp"
-                    android:overScrollMode="never" />
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d10">
 
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
+            <TextView
+                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/d5">
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/d28"
-                    android:text="*"
-                    android:textColor="@color/txt_number"
-                    android:textSize="@dimen/font_size_18"
-                    android:textStyle="bold" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_toRightOf="@+id/set_br_tx_3"
-                    android:text="@string/br_message_12"
-                    android:textColor="@color/black"
-                    android:textSize="@dimen/font_size_18"
-                    android:textStyle="bold" />
-            </LinearLayout>
+                android:layout_marginLeft="@dimen/d28"
+                android:text="*"
+                android:textColor="@color/txt_number"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
 
             <TextView
-                android:id="@+id/tv_broadcast_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:layout_marginTop="5dp"
-                android:textColor="@color/color_red"
-                android:textSize="24sp"
+                android:layout_toRightOf="@+id/set_br_tx_3"
+                android:text="@string/br_message_9"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
                 android:textStyle="bold" />
+        </LinearLayout>
 
-            <com.wdkl.ncs.android.lib.widget.VoiceLoadingView
-                android:id="@+id/my_voice_load_view"
-                android:layout_width="180dp"
-                android:layout_height="40dp"
-                android:layout_gravity="center"
-                android:layout_marginTop="10dp"
-                android:layout_marginRight="@dimen/d10"
-                bind:cmlv_line_width="4dp"
-                bind:cmlv_rail_color="#0090ff"
-                bind:cmlv_rail_count="10" />
-
-            <ImageView
-                android:id="@+id/btn_record"
-                android:layout_width="100dp"
-                android:layout_height="68dp"
-                android:layout_gravity="center"
-                android:layout_marginTop="@dimen/d8"
-                android:background="@drawable/mic_on"
-                android:scaleType="center" />
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="40dp">
 
-            <TextView
-                android:id="@+id/tv_record"
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/call_bt_rv"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="10dp"
-                android:gravity="center"
-                android:text="@string/broadcast_record_start"
-                android:textSize="24sp" />
+                android:layout_height="match_parent"
+                android:layout_marginTop="4dp"
+                android:overScrollMode="never"
+                android:paddingLeft="20dp"
+                android:paddingRight="20dp" />
 
-            <TextView
-                android:id="@+id/call_bt_call"
-                android:layout_width="@dimen/d420"
-                android:layout_height="@dimen/d60"
-                android:layout_alignParentBottom="true"
-                android:layout_centerHorizontal="true"
-                android:layout_gravity="center"
-                android:layout_marginTop="@dimen/d5"
-                android:background="@drawable/shape_main_hos_txt_bg"
-                android:gravity="center"
-                android:text="@string/br_message_13"
-                android:textColor="@color/white"
-                android:textSize="@dimen/font_size_20" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d5">
 
             <TextView
-                android:id="@+id/call_bt_bt"
-                android:layout_width="@dimen/d420"
-                android:layout_height="@dimen/d60"
-                android:layout_alignParentBottom="true"
-                android:layout_centerHorizontal="true"
-                android:layout_gravity="center"
-                android:layout_marginTop="@dimen/d5"
-                android:background="@drawable/shape_main_call_r_wj_bg"
-                android:gravity="center"
-                android:text="@string/str_call_handoff"
-                android:textColor="@color/white"
-                android:textSize="@dimen/font_size_20"
-                android:visibility="gone" />
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d28"
+                android:text="*"
+                android:textColor="@color/txt_number"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
 
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_toRightOf="@+id/set_br_tx_3"
+                android:text="@string/br_message_12"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
         </LinearLayout>
 
+        <TextView
+            android:id="@+id/tv_broadcast_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="5dp"
+            android:textColor="@color/color_red"
+            android:textSize="24sp"
+            android:textStyle="bold" />
+
+        <com.wdkl.ncs.android.lib.widget.VoiceLoadingView
+            android:id="@+id/my_voice_load_view"
+            android:layout_width="180dp"
+            android:layout_height="40dp"
+            android:layout_gravity="center"
+            android:layout_marginTop="10dp"
+            android:layout_marginRight="@dimen/d10"
+            bind:cmlv_line_width="4dp"
+            bind:cmlv_rail_color="#0090ff"
+            bind:cmlv_rail_count="10" />
+
+        <ImageView
+            android:id="@+id/btn_record"
+            android:layout_width="100dp"
+            android:layout_height="68dp"
+            android:layout_gravity="center"
+            android:layout_marginTop="@dimen/d8"
+            android:background="@drawable/mic_on"
+            android:scaleType="center" />
+
+        <TextView
+            android:id="@+id/tv_record"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:gravity="center"
+            android:text="@string/broadcast_record_start"
+            android:textSize="24sp" />
+
+        <TextView
+            android:id="@+id/call_bt_call"
+            android:layout_width="@dimen/d420"
+            android:layout_height="@dimen/d60"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_gravity="center"
+            android:layout_marginTop="@dimen/d5"
+            android:background="@drawable/shape_main_hos_txt_bg"
+            android:gravity="center"
+            android:text="@string/br_message_13"
+            android:textColor="@color/white"
+            android:textSize="@dimen/font_size_20" />
+
+        <TextView
+            android:id="@+id/call_bt_bt"
+            android:layout_width="@dimen/d420"
+            android:layout_height="@dimen/d60"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_gravity="center"
+            android:layout_marginTop="@dimen/d5"
+            android:background="@drawable/shape_main_call_r_wj_bg"
+            android:gravity="center"
+            android:text="@string/str_call_handoff"
+            android:textColor="@color/white"
+            android:textSize="@dimen/font_size_20"
+            android:visibility="gone" />
+
     </LinearLayout>
+
 </layout>

+ 207 - 250
android_host/src/main/res/layout/fragment_br_set.xml

@@ -1,113 +1,103 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:bind="http://schemas.android.com/apk/res-auto">
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
     <LinearLayout
         android:id="@+id/f_br_set_bg"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:orientation="vertical"
         android:gravity="center_horizontal"
-        >
+        android:orientation="vertical">
+
         <RelativeLayout
+            android:id="@+id/rl_bc_set_title"
             android:layout_width="match_parent"
             android:layout_height="@dimen/d144"
-            android:background="@drawable/shape_bed_bg"
-            android:layout_marginTop="@dimen/d20"
             android:layout_marginLeft="@dimen/d15"
+            android:layout_marginTop="@dimen/d20"
             android:layout_marginRight="@dimen/d24"
-            android:orientation="vertical"
-            >
-
+            android:background="@drawable/shape_bed_bg"
+            android:orientation="vertical">
 
             <TextView
                 android:id="@+id/set_br_tx_1"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d28"
+                android:layout_marginTop="@dimen/d24"
                 android:text="*"
-                android:textSize="@dimen/font_size_18"
                 android:textColor="@color/txt_number"
-                android:textStyle="bold"
-                android:layout_marginTop="@dimen/d24"
-                android:layout_marginLeft="@dimen/d28"
-                />
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/set_br_tx_2"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/d24"
                 android:layout_toRightOf="@+id/set_br_tx_1"
                 android:text="@string/br_message_6"
-                android:textSize="@dimen/font_size_18"
                 android:textColor="@color/black"
-                android:textStyle="bold"
-                android:layout_marginTop="@dimen/d24"
-
-                />
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
 
             <EditText
                 android:id="@+id/set_br_ed_name"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d50"
-                android:text="@string/br_message_7"
-                android:paddingLeft="@dimen/d26"
-                android:textSize="@dimen/font_size_18"
-                android:gravity="center_vertical"
                 android:layout_below="@+id/set_br_tx_2"
-                android:textStyle="bold"
-                android:background="@drawable/shape_n_login_ed_bg2"
-                android:layout_marginTop="@dimen/d16"
                 android:layout_marginLeft="@dimen/d28"
+                android:layout_marginTop="@dimen/d16"
                 android:layout_marginRight="@dimen/d48"
-                />
-
+                android:background="@drawable/shape_n_login_ed_bg2"
+                android:gravity="center_vertical"
+                android:paddingLeft="@dimen/d26"
+                android:text="@string/br_message_7"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
 
         </RelativeLayout>
 
-
         <LinearLayout
+            android:id="@+id/ll_bc_set"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:background="@drawable/shape_bed_bg"
+            android:layout_marginLeft="@dimen/d15"
             android:layout_marginTop="@dimen/d16"
             android:layout_marginRight="@dimen/d24"
-            android:layout_marginLeft="@dimen/d15"
-            android:orientation="vertical"
-            >
+            android:background="@drawable/shape_bed_bg"
+            android:orientation="vertical">
 
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:orientation="horizontal"
                 android:layout_marginTop="@dimen/d15"
-                >
-
+                android:orientation="horizontal">
 
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_height="@dimen/d45"
                     android:layout_weight="1"
                     android:orientation="horizontal">
+
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:layout_marginLeft="@dimen/d28"
                         android:text="*"
-                        android:textSize="@dimen/font_size_18"
                         android:textColor="@color/txt_number"
-                        android:textStyle="bold"
-                        android:layout_marginLeft="@dimen/d28"
-                        android:layout_gravity="center_vertical"
-                        />
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
 
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
                         android:layout_toRightOf="@+id/set_br_tx_3"
                         android:text="@string/br_set_title"
-                        android:textSize="@dimen/font_size_18"
                         android:textColor="@color/black"
-                        android:textStyle="bold"
-                        android:layout_gravity="center_vertical"
-                        />
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
 
                     <RadioGroup
                         android:id="@+id/group_br_type_ll"
@@ -120,14 +110,14 @@
                             android:id="@+id/radio_sd"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="@string/br_set_title_1"
-                            android:layout_toRightOf="@+id/set_br_tx_4"
                             android:layout_gravity="center_vertical"
-                            android:textColor="@drawable/radio_button_selector_txt2"
+                            android:layout_toRightOf="@+id/set_br_tx_4"
                             android:button="@null"
                             android:drawableLeft="@drawable/radio_button_selector_bg2"
                             android:drawablePadding="@dimen/d5"
-                            android:textSize="14px" />
+                            android:text="@string/br_set_title_1"
+                            android:textColor="@drawable/radio_button_selector_txt2"
+                            android:textSize="14sp" />
 
                         <RadioButton
                             android:id="@+id/radio_zd"
@@ -135,12 +125,12 @@
                             android:layout_height="wrap_content"
                             android:layout_gravity="center_vertical"
                             android:layout_marginLeft="@dimen/d22"
-                            android:text="@string/br_set_title_2"
-                            android:textColor="@drawable/radio_button_selector_txt2"
                             android:button="@null"
                             android:drawableLeft="@drawable/radio_button_selector_bg2"
                             android:drawablePadding="@dimen/d5"
-                            android:textSize="14px" />
+                            android:text="@string/br_set_title_2"
+                            android:textColor="@drawable/radio_button_selector_txt2"
+                            android:textSize="14sp" />
 
                     </RadioGroup>
 
@@ -149,30 +139,28 @@
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_height="@dimen/d45"
-                    android:layout_weight="1"
                     android:layout_gravity="center_vertical"
+                    android:layout_weight="1"
                     android:orientation="horizontal">
 
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="*"
-                        android:textSize="@dimen/font_size_18"
-                        android:textColor="@color/txt_number"
-                        android:textStyle="bold"
                         android:layout_gravity="center_vertical"
                         android:layout_marginLeft="@dimen/d28"
-                        />
+                        android:text="*"
+                        android:textColor="@color/txt_number"
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
 
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
                         android:text="@string/br_set_title_3"
-                        android:textSize="@dimen/font_size_18"
                         android:textColor="@color/black"
-                        android:textStyle="bold"
-                        android:layout_gravity="center_vertical"
-                        />
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
 
                     <RadioGroup
                         android:id="@+id/group_br_play_type_ll"
@@ -180,18 +168,19 @@
                         android:layout_height="match_parent"
                         android:layout_marginLeft="@dimen/d22"
                         android:orientation="horizontal">
+
                         <RadioButton
                             android:id="@+id/radio_ds"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="@string/br_set_title_4"
-                            android:layout_toRightOf="@+id/set_br_tx_4"
                             android:layout_gravity="center_vertical"
-                            android:textColor="@drawable/radio_button_selector_txt2"
+                            android:layout_toRightOf="@+id/set_br_tx_4"
                             android:button="@null"
                             android:drawableLeft="@drawable/radio_button_selector_bg2"
                             android:drawablePadding="@dimen/d5"
-                            android:textSize="14px" />
+                            android:text="@string/br_set_title_4"
+                            android:textColor="@drawable/radio_button_selector_txt2"
+                            android:textSize="14sp" />
 
                         <RadioButton
                             android:id="@+id/radio_dc"
@@ -199,26 +188,22 @@
                             android:layout_height="wrap_content"
                             android:layout_gravity="center_vertical"
                             android:layout_marginLeft="@dimen/d22"
-                            android:text="@string/br_set_title_5"
-                            android:textColor="@drawable/radio_button_selector_txt2"
                             android:button="@null"
                             android:drawableLeft="@drawable/radio_button_selector_bg2"
                             android:drawablePadding="@dimen/d5"
-                            android:textSize="14px" />
+                            android:text="@string/br_set_title_5"
+                            android:textColor="@drawable/radio_button_selector_txt2"
+                            android:textSize="14sp" />
                     </RadioGroup>
 
-
                 </LinearLayout>
 
-
             </LinearLayout>
 
-
-
             <LinearLayout
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                >
+                android:layout_height="wrap_content">
+
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_height="@dimen/d48"
@@ -228,38 +213,35 @@
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="*"
-                        android:textSize="@dimen/font_size_18"
-                        android:textColor="@color/txt_number"
-                        android:textStyle="bold"
                         android:layout_gravity="center_vertical"
                         android:layout_marginLeft="@dimen/d28"
-                        />
+                        android:text="*"
+                        android:textColor="@color/txt_number"
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
 
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
                         android:text="@string/br_set_title_6"
-                        android:textSize="@dimen/font_size_18"
                         android:textColor="@color/black"
-                        android:textStyle="bold"
-                        android:layout_gravity="center_vertical"
-                        />
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
+
                     <RadioButton
                         android:id="@+id/radio_qy"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d22"
-                        android:text="@string/br_set_title_7"
                         android:layout_gravity="center_vertical"
-
-                        android:textColor="@drawable/radio_button_selector_txt2"
+                        android:layout_marginLeft="@dimen/d22"
                         android:button="@null"
+
                         android:drawableLeft="@drawable/radio_button_selector_bg2"
                         android:drawablePadding="@dimen/d5"
-                        android:textSize="14px" />
-
-
+                        android:text="@string/br_set_title_7"
+                        android:textColor="@drawable/radio_button_selector_txt2"
+                        android:textSize="14sp" />
 
                 </LinearLayout>
 
@@ -269,202 +251,184 @@
                     android:layout_weight="1"
                     android:orientation="horizontal">
 
-
-
-                  <TextView
+                    <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="*"
-                        android:textSize="@dimen/font_size_18"
-                        android:textColor="@color/txt_number"
-                        android:textStyle="bold"
                         android:layout_gravity="center_vertical"
                         android:layout_marginLeft="@dimen/d28"
-                        />
+                        android:text="*"
+                        android:textColor="@color/txt_number"
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
 
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
                         android:layout_toRightOf="@+id/set_br_tx_3"
                         android:text="@string/br_set_title_8"
-                        android:textSize="@dimen/font_size_18"
                         android:textColor="@color/black"
-                        android:textStyle="bold"
-                        android:layout_gravity="center_vertical"
-                        />
+                        android:textSize="@dimen/font_size_18"
+                        android:textStyle="bold" />
 
                     <EditText
                         android:id="@+id/set_br_number_ed"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_gravity="center_vertical"
+                        android:layout_marginLeft="@dimen/d22"
                         android:gravity="center"
                         android:hint="@string/br_set_title_9"
-                        android:layout_marginLeft="@dimen/d22"
                         android:inputType="number"
                         android:text=""
                         android:textColor="#000000"
-                        android:textSize="14px" />
-
-
+                        android:textSize="14sp" />
 
                 </LinearLayout>
 
-
-
             </LinearLayout>
 
-
             <LinearLayout
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
+                android:layout_height="wrap_content">
 
-                >
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:text="*"
-                        android:textSize="@dimen/font_size_18"
-                        android:textColor="@color/txt_number"
-                        android:textStyle="bold"
-                        android:layout_marginLeft="@dimen/d28"
-                        />
-
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_toRightOf="@+id/set_br_tx_3"
-                        android:text="@string/br_message_8"
-                        android:textSize="@dimen/font_size_18"
-                        android:textColor="@color/black"
-                        android:textStyle="bold"
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d28"
+                    android:text="*"
+                    android:textColor="@color/txt_number"
+                    android:textSize="@dimen/font_size_18"
+                    android:textStyle="bold" />
 
-                        />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_toRightOf="@+id/set_br_tx_3"
+                    android:text="@string/br_message_8"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/font_size_18"
+                    android:textStyle="bold" />
             </LinearLayout>
 
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d40"
-                android:orientation="horizontal"
-                android:gravity="center_vertical"
                 android:layout_marginTop="@dimen/d10"
-                >
-                    <TextView
-                        android:id="@+id/set_br_tx_3"
-                        android:layout_width="@dimen/d60"
-                        android:layout_height="@dimen/d30"
-                        android:layout_below="@+id/nurse_msg_tx_11"
-                        android:gravity="center"
-                        android:text="@string/monday"
-                        android:textSize="@dimen/font_size_14"
-                        android:textColor="@color/text_name_color"
-                        android:layout_marginLeft="@dimen/d28"
-                        android:background="@drawable/shape_time_f_bg"
-                        />
-                    <TextView
-                        android:id="@+id/set_br_tx_4"
-                        android:layout_width="@dimen/d60"
-                        android:layout_height="@dimen/d30"
-                        android:layout_below="@+id/nurse_msg_tx_11"
-                        android:gravity="center"
-                        android:text="@string/tuesday"
-                        android:textSize="@dimen/font_size_16"
-                        android:textColor="@color/text_name_color"
-                        android:layout_marginLeft="@dimen/d5"
-                        android:background="@drawable/shape_time_f_bg"
-                        />
-                    <TextView
-                        android:id="@+id/set_br_tx_5"
-                        android:layout_width="@dimen/d60"
-                        android:layout_height="@dimen/d30"
-                        android:layout_below="@+id/nurse_msg_tx_11"
-                        android:gravity="center"
-                        android:text="@string/wednesday"
-                        android:textSize="@dimen/font_size_16"
-                        android:textColor="@color/text_name_color"
-                        android:layout_marginLeft="@dimen/d5"
-                        android:background="@drawable/shape_time_f_bg"
-                        />
-                    <TextView
-                        android:id="@+id/set_br_tx_6"
-                        android:layout_width="@dimen/d60"
-                        android:layout_height="@dimen/d30"
-                        android:layout_below="@+id/nurse_msg_tx_11"
-                        android:gravity="center"
-                        android:text="@string/thursday"
-                        android:textSize="@dimen/font_size_16"
-                        android:textColor="@color/text_name_color"
-                        android:layout_marginLeft="@dimen/d5"
-                        android:background="@drawable/shape_time_f_bg"
-                        />
-                    <TextView
-                        android:id="@+id/set_br_tx_7"
-                        android:layout_width="@dimen/d60"
-                        android:layout_height="@dimen/d30"
-                        android:layout_below="@+id/nurse_msg_tx_11"
-                        android:gravity="center"
-                        android:text="@string/friday"
-                        android:textSize="@dimen/font_size_16"
-                        android:textColor="@color/text_name_color"
-                        android:layout_marginLeft="@dimen/d5"
-                        android:background="@drawable/shape_time_f_bg"
-                        />
-                    <TextView
-                        android:id="@+id/set_br_tx_8"
-                        android:layout_width="@dimen/d60"
-                        android:layout_height="@dimen/d30"
-                        android:layout_below="@+id/nurse_msg_tx_11"
-                        android:gravity="center"
-                        android:text="@string/saturday"
-                        android:textSize="@dimen/font_size_16"
-                        android:textColor="@color/text_name_color"
-                        android:layout_marginLeft="@dimen/d5"
-                        android:background="@drawable/shape_time_f_bg"
-                        />
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
 
-                    <TextView
-                        android:id="@+id/set_br_tx_9"
-                        android:layout_width="@dimen/d60"
-                        android:layout_height="@dimen/d30"
-                        android:layout_below="@+id/nurse_msg_tx_11"
-                        android:gravity="center"
-                        android:text="@string/sunday"
-                        android:textSize="@dimen/font_size_16"
-                        android:textColor="@color/text_name_color"
-                        android:layout_marginLeft="@dimen/d5"
-                        android:background="@drawable/shape_time_f_bg"
-                        />
+                <TextView
+                    android:id="@+id/set_br_tx_3"
+                    android:layout_width="@dimen/d60"
+                    android:layout_height="@dimen/d30"
+                    android:layout_below="@+id/nurse_msg_tx_11"
+                    android:layout_marginLeft="@dimen/d28"
+                    android:background="@drawable/shape_time_f_bg"
+                    android:gravity="center"
+                    android:text="@string/monday"
+                    android:textColor="@color/text_name_color"
+                    android:textSize="@dimen/font_size_14" />
+
+                <TextView
+                    android:id="@+id/set_br_tx_4"
+                    android:layout_width="@dimen/d60"
+                    android:layout_height="@dimen/d30"
+                    android:layout_below="@+id/nurse_msg_tx_11"
+                    android:layout_marginLeft="@dimen/d5"
+                    android:background="@drawable/shape_time_f_bg"
+                    android:gravity="center"
+                    android:text="@string/tuesday"
+                    android:textColor="@color/text_name_color"
+                    android:textSize="@dimen/font_size_16" />
+
+                <TextView
+                    android:id="@+id/set_br_tx_5"
+                    android:layout_width="@dimen/d60"
+                    android:layout_height="@dimen/d30"
+                    android:layout_below="@+id/nurse_msg_tx_11"
+                    android:layout_marginLeft="@dimen/d5"
+                    android:background="@drawable/shape_time_f_bg"
+                    android:gravity="center"
+                    android:text="@string/wednesday"
+                    android:textColor="@color/text_name_color"
+                    android:textSize="@dimen/font_size_16" />
 
+                <TextView
+                    android:id="@+id/set_br_tx_6"
+                    android:layout_width="@dimen/d60"
+                    android:layout_height="@dimen/d30"
+                    android:layout_below="@+id/nurse_msg_tx_11"
+                    android:layout_marginLeft="@dimen/d5"
+                    android:background="@drawable/shape_time_f_bg"
+                    android:gravity="center"
+                    android:text="@string/thursday"
+                    android:textColor="@color/text_name_color"
+                    android:textSize="@dimen/font_size_16" />
 
+                <TextView
+                    android:id="@+id/set_br_tx_7"
+                    android:layout_width="@dimen/d60"
+                    android:layout_height="@dimen/d30"
+                    android:layout_below="@+id/nurse_msg_tx_11"
+                    android:layout_marginLeft="@dimen/d5"
+                    android:background="@drawable/shape_time_f_bg"
+                    android:gravity="center"
+                    android:text="@string/friday"
+                    android:textColor="@color/text_name_color"
+                    android:textSize="@dimen/font_size_16" />
+
+                <TextView
+                    android:id="@+id/set_br_tx_8"
+                    android:layout_width="@dimen/d60"
+                    android:layout_height="@dimen/d30"
+                    android:layout_below="@+id/nurse_msg_tx_11"
+                    android:layout_marginLeft="@dimen/d5"
+                    android:background="@drawable/shape_time_f_bg"
+                    android:gravity="center"
+                    android:text="@string/saturday"
+                    android:textColor="@color/text_name_color"
+                    android:textSize="@dimen/font_size_16" />
+
+                <TextView
+                    android:id="@+id/set_br_tx_9"
+                    android:layout_width="@dimen/d60"
+                    android:layout_height="@dimen/d30"
+                    android:layout_below="@+id/nurse_msg_tx_11"
+                    android:layout_marginLeft="@dimen/d5"
+                    android:background="@drawable/shape_time_f_bg"
+                    android:gravity="center"
+                    android:text="@string/sunday"
+                    android:textColor="@color/text_name_color"
+                    android:textSize="@dimen/font_size_16" />
 
                 <RelativeLayout
                     android:id="@+id/set_br_time_out_ll"
                     android:layout_width="@dimen/d65"
                     android:layout_height="@dimen/d30"
                     android:layout_marginLeft="@dimen/d22"
-                    android:clickable="true"
                     android:background="@drawable/shape_n_login_ed_bg2"
-                    >
+                    android:clickable="true">
+
                     <TextView
                         android:id="@+id/set_br_time_out"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_centerVertical="true"
+                        android:layout_marginLeft="@dimen/d13"
                         android:text="00:00"
-                        android:textSize="@dimen/font_size_12"
                         android:textColor="@color/txt_number"
-                        android:textStyle="bold"
-                        android:layout_marginLeft="@dimen/d13"
-                        />
+                        android:textSize="@dimen/font_size_12"
+                        android:textStyle="bold" />
+
                     <ImageView
                         android:id="@+id/set_br_time_out_img"
                         android:layout_width="@dimen/d10"
                         android:layout_height="@dimen/d10"
-                        android:layout_marginTop="@dimen/d10"
                         android:layout_marginLeft="@dimen/d5"
-                        android:src="@mipmap/xia"
+                        android:layout_marginTop="@dimen/d10"
                         android:layout_toRightOf="@+id/set_br_time_out"
-                        />
+                        android:src="@mipmap/xia" />
 
                 </RelativeLayout>
 
@@ -473,9 +437,8 @@
                     android:layout_width="@dimen/d65"
                     android:layout_height="@dimen/d30"
                     android:layout_marginLeft="@dimen/d12"
-                    android:clickable="true"
                     android:background="@drawable/shape_n_login_ed_bg2"
-                    >
+                    android:clickable="true">
 
                     <TextView
                         android:id="@+id/set_br_time_end"
@@ -487,52 +450,49 @@
                         android:textColor="@color/txt_number"
                         android:textSize="@dimen/font_size_12"
                         android:textStyle="bold" />
+
                     <ImageView
                         android:id="@+id/set_br_time_end_img"
                         android:layout_width="@dimen/d10"
                         android:layout_height="@dimen/d10"
-                        android:layout_marginTop="@dimen/d10"
                         android:layout_marginLeft="@dimen/d5"
-                        android:src="@mipmap/xia"
+                        android:layout_marginTop="@dimen/d10"
                         android:layout_toRightOf="@+id/set_br_time_end"
-                        />
+                        android:src="@mipmap/xia" />
 
                 </RelativeLayout>
 
-
             </LinearLayout>
 
-
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/d10"
-                >
+                android:layout_marginTop="@dimen/d10">
+
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d28"
                     android:text="*"
-                    android:textSize="@dimen/font_size_18"
                     android:textColor="@color/txt_number"
-                    android:textStyle="bold"
-                    android:layout_marginLeft="@dimen/d28"
-                    />
+                    android:textSize="@dimen/font_size_18"
+                    android:textStyle="bold" />
+
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_toRightOf="@+id/set_br_tx_3"
                     android:text="@string/br_message_9"
-                    android:textSize="@dimen/font_size_18"
                     android:textColor="@color/black"
-                    android:textStyle="bold"
-                    />
+                    android:textSize="@dimen/font_size_18"
+                    android:textStyle="bold" />
             </LinearLayout>
 
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d60"
-                android:layout_marginTop="@dimen/d10"
-                >
+                android:layout_marginTop="@dimen/d10">
+
                 <androidx.recyclerview.widget.RecyclerView
                     android:id="@+id/info_f_ar"
                     android:layout_width="match_parent"
@@ -547,15 +507,14 @@
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                android:gravity="center"
-                >
+                android:gravity="center">
 
                 <TextView
                     android:id="@+id/br_retun_bt"
                     android:layout_width="@dimen/d350"
                     android:layout_height="@dimen/d60"
-                    android:layout_marginRight="@dimen/d22"
                     android:layout_gravity="center"
+                    android:layout_marginRight="@dimen/d22"
                     android:background="@drawable/shape_password_bt_bg"
                     android:gravity="center"
                     android:text="@string/br_message_10"
@@ -575,9 +534,7 @@
 
             </LinearLayout>
 
-
         </LinearLayout>
 
-
     </LinearLayout>
 </layout>

+ 3 - 9
android_host/src/main/res/layout/fragment_broadcast_host.xml

@@ -5,8 +5,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:padding="8dp"
-        android:orientation="vertical"
-       >
+        android:orientation="vertical">
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -21,7 +20,6 @@
                 android:orientation="horizontal"
                 android:gravity="center_vertical"
                 android:background="@drawable/shape_bed_bg"
-                android:layout_below="@+id/tv_nursing_code"
                 android:layout_marginRight="@dimen/d15">
 
                 <ImageView
@@ -53,11 +51,9 @@
                 android:layout_width="0dp"
                 android:layout_height="90dp"
                 android:layout_weight="1"
-                android:clickable="true"
                 android:orientation="horizontal"
                 android:gravity="center_vertical"
-                android:background="@drawable/shape_bed_bg"
-                android:layout_below="@+id/tv_nursing_code">
+                android:background="@drawable/shape_bed_bg">
 
                 <ImageView
                     android:layout_width="@dimen/d60"
@@ -88,12 +84,10 @@
                 android:layout_width="0dp"
                 android:layout_height="90dp"
                 android:layout_weight="1"
-                android:clickable="true"
                 android:layout_marginLeft="@dimen/d15"
                 android:orientation="horizontal"
                 android:gravity="center_vertical"
-                android:background="@drawable/shape_bed_bg"
-                android:layout_below="@+id/tv_nursing_code">
+                android:background="@drawable/shape_bed_bg">
 
                 <ImageView
                     android:layout_width="@dimen/d60"

+ 4 - 3
android_host/src/main/res/layout/fragment_sickbed.xml

@@ -6,15 +6,15 @@
         android:id="@+id/sick_m_bg"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:padding="8dp"
         android:orientation="horizontal">
 
         <com.scwang.smartrefresh.layout.SmartRefreshLayout
             android:id="@+id/sickbed_refresh"
             android:layout_width="0px"
             android:layout_height="match_parent"
-            android:layout_marginLeft="8dp"
-            android:layout_marginRight="8dp"
             android:layout_weight="0.74"
+            android:background="@drawable/shape_bed_bg"
             bind:srlEnableLoadMore="false"
             bind:srlEnableRefresh="true">
 
@@ -22,12 +22,13 @@
                 android:id="@+id/sickbed_listView"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
+                android:paddingLeft="8dp"
+                android:paddingRight="8dp"
                 android:scrollbars="vertical"
                 android:fadeScrollbars="true"
                 android:scrollbarStyle="insideOverlay" />
 
         </com.scwang.smartrefresh.layout.SmartRefreshLayout>
 
-
     </LinearLayout>
 </layout>

+ 5 - 12
android_host/src/main/res/layout/item_icon_lay.xml

@@ -1,14 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <data>
-
-    </data>
-
     <LinearLayout
+        android:id="@+id/ll_work_item"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginRight="@dimen/d20"
+        android:layout_marginLeft="@dimen/d10"
+        android:layout_marginRight="@dimen/d10"
         android:layout_marginTop="@dimen/d20"
         android:background="@drawable/shape_bed_bg">
 
@@ -16,10 +14,8 @@
             android:id="@+id/ll_menu_bt"
             android:layout_width="320dp"
             android:layout_height="120dp"
-            android:clickable="true"
             android:orientation="horizontal"
-            android:gravity="center_vertical"
-            android:layout_below="@+id/tv_nursing_code">
+            android:gravity="center_vertical">
 
             <ImageView
                 android:id="@+id/img_menu"
@@ -44,11 +40,8 @@
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/d15"
                 android:background="@mipmap/jr"
-                android:visibility="gone"
-                />
+                android:visibility="gone" />
         </LinearLayout>
 
-
-
     </LinearLayout>
 </layout>

+ 65 - 0
android_host/src/main/res/layout/main_bc_preview_dialog.xml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@android:color/transparent"
+    android:gravity="center">
+
+    <LinearLayout
+        android:layout_width="481dp"
+        android:layout_height="280dp"
+        android:background="@drawable/shape_bed_bg"
+        android:gravity="center"
+        android:orientation="vertical">
+
+        <ImageView
+            android:layout_width="@dimen/d78"
+            android:layout_height="@dimen/d78"
+            android:layout_marginTop="@dimen/d32"
+            android:src="@mipmap/guangbo" />
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:gravity="center"
+            android:text="@string/broadcast_preview"
+            android:textColor="@color/black"
+            android:textSize="@dimen/font_size_18"
+            android:textStyle="bold" />
+
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d24"
+            android:layout_marginBottom="@dimen/d38"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <Button
+                android:id="@+id/br_st_determine_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:background="@drawable/selector_nuserlogin_btn"
+                android:gravity="center"
+                android:text="@string/br_list_st_bt"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textStyle="bold"
+                android:textSize="16sp" />
+
+            <Button
+                android:id="@+id/br_st_cancel_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:layout_marginLeft="@dimen/d31"
+                android:background="@drawable/shape_password_bt_bg"
+                android:gravity="center"
+                android:text="@string/str_exit"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textStyle="bold"
+                android:textSize="16sp" />
+
+        </LinearLayout>
+
+    </LinearLayout>
+</LinearLayout>

+ 20 - 0
android_host/src/main/res/layout/nurse_main_dorm.xml

@@ -138,6 +138,26 @@
 
                 </LinearLayout>
 
+                <com.wdkl.ncs.android.lib.widget.MarqueeTextView
+                    android:id="@+id/tv_broadcast_state"
+                    android:layout_width="100dp"
+                    android:layout_height="wrap_content"
+                    android:layout_centerVertical="true"
+                    android:layout_marginLeft="@dimen/d20"
+                    android:layout_marginRight="@dimen/d20"
+                    android:layout_toLeftOf="@+id/title_layout_ll_hl_right"
+                    android:drawableLeft="@drawable/ic_broadcast"
+                    android:drawablePadding="4dp"
+                    android:ellipsize="marquee"
+                    android:focusable="true"
+                    android:focusableInTouchMode="true"
+                    android:marqueeRepeatLimit="-1"
+                    android:singleLine="true"
+                    android:text="@string/broadcast_playing"
+                    android:textColor="@color/red_color"
+                    android:textSize="20sp"
+                    android:visibility="gone" />
+
             </RelativeLayout>
 
             <!--床位fragment区域-->

+ 59 - 66
android_host/src/main/res/layout/view_title_layout.xml

@@ -1,25 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/view_calling_bed_layout_title"
     android:layout_width="match_parent"
-    android:layout_height="42dp">
-
-   <RelativeLayout
-       android:id="@+id/view_calling_bed_layout_title"
-       android:layout_width="match_parent"
-       android:layout_height="42dp">
+    android:layout_height="48dp">
 
     <!--设备号-->
     <LinearLayout
         android:id="@+id/view_title_layout_return"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:padding="8dp"
         android:layout_marginLeft="20dp"
         android:background="@drawable/shape_main_hos_txt_bg"
         android:gravity="center"
-        android:layout_centerVertical="true"
-        android:orientation="horizontal"
-        android:paddingLeft="10dp"
-        android:paddingRight="10dp">
+        android:orientation="horizontal">
 
         <ImageView
             android:id="@+id/view_title_layout_img"
@@ -27,64 +22,61 @@
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical"
             android:layout_marginRight="6dp"
-            android:visibility="gone"
-            android:background="@mipmap/return_w" />
+            android:background="@mipmap/return_w"
+            android:visibility="gone" />
         <!--医院名称-->
         <TextView
             android:id="@+id/view_title_layout_tv_hospital_name"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:ellipsize="marquee"
+            android:singleLine="true"
             android:text="科室名称"
             android:textColor="@color/white"
-            android:singleLine="true"
-            android:ellipsize="marquee"
             android:textSize="@dimen/font_size_18" />
     </LinearLayout>
 
-       <com.wdkl.ncs.android.lib.widget.MarqueeTextView
-           android:id="@+id/tv_broadcast_state"
-           android:layout_width="100dp"
-           android:layout_height="wrap_content"
-           android:layout_marginRight="8dp"
-           android:drawableLeft="@drawable/ic_broadcast"
-           android:drawablePadding="4dp"
-           android:ellipsize="marquee"
-           android:focusable="true"
-           android:focusableInTouchMode="true"
-           android:marqueeRepeatLimit="-1"
-           android:singleLine="true"
-           android:text="@string/broadcast_playing"
-           android:textColor="@color/red_color"
-           android:textSize="20sp"
-           android:visibility="gone"
-           android:layout_marginLeft="@dimen/d22"
-           android:layout_centerVertical="true"
-           android:layout_toRightOf="@+id/view_title_layout_return"
-          />
-
-
-       <ImageView
-           android:id="@+id/view_title_layout_tv_no_img"
-           android:layout_width="@dimen/d22"
-           android:layout_height="@dimen/d22"
-           android:layout_centerVertical="true"
-           android:layout_centerHorizontal="true"
-           android:layout_marginRight="10dp"
-           android:visibility="gone"
-           android:layout_toLeftOf="@+id/view_title_layout_tv_no"
-           />
+    <com.wdkl.ncs.android.lib.widget.MarqueeTextView
+        android:id="@+id/tv_broadcast_state"
+        android:layout_width="100dp"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="@dimen/d22"
+        android:layout_marginRight="8dp"
+        android:layout_toRightOf="@+id/view_title_layout_return"
+        android:drawableLeft="@drawable/ic_broadcast"
+        android:drawablePadding="4dp"
+        android:ellipsize="marquee"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:marqueeRepeatLimit="-1"
+        android:singleLine="true"
+        android:text="@string/broadcast_playing"
+        android:textColor="@color/red_color"
+        android:textSize="20sp"
+        android:visibility="gone" />
+
+    <ImageView
+        android:id="@+id/view_title_layout_tv_no_img"
+        android:layout_width="@dimen/d22"
+        android:layout_height="@dimen/d22"
+        android:layout_centerHorizontal="true"
+        android:layout_centerVertical="true"
+        android:layout_marginRight="10dp"
+        android:layout_toLeftOf="@+id/view_title_layout_tv_no"
+        android:visibility="gone" />
 
     <TextView
         android:id="@+id/view_title_layout_tv_no"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_centerVertical="true"
         android:layout_centerHorizontal="true"
+        android:layout_centerVertical="true"
         android:layout_marginRight="10dp"
         android:text="ID:"
-        android:visibility="gone"
         android:textColor="@color/black"
-        android:textSize="@dimen/font_size_18" />
+        android:textSize="@dimen/font_size_18"
+        android:visibility="gone" />
 
     <!--状态图标-->
     <LinearLayout
@@ -110,12 +102,12 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical"
+            android:layout_marginLeft="@dimen/d5"
             android:format12Hour="yyyy-MM-dd EEEE"
             android:format24Hour="yyyy-MM-dd EEEE"
+            android:text="01-08"
             android:textColor="@color/black"
-            android:textSize="@dimen/font_size_18"
-            android:layout_marginLeft="@dimen/d5"
-            android:text="01-08"/>
+            android:textSize="@dimen/font_size_18" />
 
         <ImageView
             android:id="@+id/view_title_lay_time_img"
@@ -131,13 +123,13 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical"
+            android:layout_marginLeft="@dimen/d5"
+            android:layout_marginRight="@dimen/d10"
             android:format12Hour="HH:mm"
             android:format24Hour="HH:mm"
+            android:text="16:08"
             android:textColor="@color/black"
-            android:textSize="@dimen/font_size_18"
-            android:layout_marginLeft="@dimen/d5"
-            android:layout_marginRight="@dimen/d10"
-            android:text="16:08"/>
+            android:textSize="@dimen/font_size_18" />
 
         <!--SIP状态图标-->
         <!--<TextView
@@ -153,8 +145,8 @@
             android:layout_width="24dp"
             android:layout_height="24dp"
             android:layout_gravity="center_vertical"
-            android:visibility="gone"
-            android:src="@drawable/wdkl_stat_sys_battery"/>
+            android:src="@drawable/wdkl_stat_sys_battery"
+            android:visibility="gone" />
 
         <ImageView
             android:id="@+id/view_title_layout_iv_sip"
@@ -164,7 +156,8 @@
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
             android:src="@mipmap/sip_b"
-            android:visibility="gone"/>
+            android:visibility="gone" />
+
         <ImageView
             android:id="@+id/view_title_layout_iv_bt"
             android:layout_width="20dp"
@@ -172,7 +165,8 @@
             android:layout_gravity="center_vertical"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
-            android:visibility="gone"/>
+            android:visibility="gone" />
+
         <ImageView
             android:id="@+id/view_title_layout_iv_wifi"
             android:layout_width="20dp"
@@ -180,7 +174,8 @@
             android:layout_gravity="center_vertical"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
-            android:visibility="gone"/>
+            android:visibility="gone" />
+
         <ImageView
             android:id="@+id/view_title_layout_iv_tcp"
             android:layout_width="20dp"
@@ -188,7 +183,7 @@
             android:layout_gravity="center_vertical"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
-            android:src="@mipmap/ic_tcp_nor"/>
+            android:src="@mipmap/ic_tcp_nor" />
 
         <ImageView
             android:id="@+id/view_title_layout_iv_ethernet"
@@ -197,7 +192,7 @@
             android:layout_gravity="center_vertical"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
-            android:visibility="gone"/>
+            android:visibility="gone" />
 
         <ImageView
             android:id="@+id/view_title_layout_iv_day_night"
@@ -216,10 +211,8 @@
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
             android:src="@mipmap/ic_tuoguan"
-            android:visibility="gone"/>
+            android:visibility="gone" />
 
     </LinearLayout>
 
-   </RelativeLayout>
-
 </RelativeLayout>

+ 3 - 10
android_host/src/main/res/layout/work_lay.xml

@@ -1,22 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-   >
-
-    <data>
-
-    </data>
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
 
     <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        >
+        android:layout_height="match_parent">
 
         <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/recycler"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:clipChildren="true"
-            />
+            android:clipChildren="true" />
 
     </RelativeLayout>
 </layout>

+ 2 - 0
android_host/src/main/res/values-es/strings.xml

@@ -181,6 +181,7 @@
     <string name="str_no">No</string>
     <string name="str_confirm">Confirmar</string>
     <string name="str_cancel">Cancelar</string>
+    <string name="str_exit">Exit</string>
     <string name="register_auto_config">Configuración automática</string>
     <string name="register_manual_config">Configuración manual</string>
     <string name="register_reboot">Reiniciar</string>
@@ -223,6 +224,7 @@
     <string name="broadcast_record_start">Start record</string>
     <string name="broadcast_record_stop">Stop record</string>
     <string name="broadcast_playing">Broadcast playing…</string>
+    <string name="broadcast_preview">Broadcast preview…</string>
     <string name="broadcast_stop">Broadcast stop</string>
 
     <string name="str_warning">alerta</string>

+ 3 - 1
android_host/src/main/res/values-pt/strings.xml

@@ -158,7 +158,8 @@
     <string name="broadcast_start">Iniciar transmissão</string>
     <string name="broadcast_record_start">Iniciar gravação</string>
     <string name="broadcast_record_stop">Parar gravação</string>
-    <string name="broadcast_playing">Transmitindo...</string>
+    <string name="broadcast_playing">Transmitindo…</string>
+    <string name="broadcast_preview">Broadcast preview…</string>
     <string name="broadcast_stop">Parar transmissão</string>
 
     <string name="str_voice_msg_btn_title">Solte para salvar, deslize para cancelar</string>
@@ -215,6 +216,7 @@
     <string name="str_no">Não</string>
     <string name="str_confirm">Confirmar</string>
     <string name="str_cancel">Cancelar</string>
+    <string name="str_exit">Exit</string>
     <string name="register_auto_config">Configuração automática</string>
     <string name="register_manual_config">Configuração manual</string>
     <string name="register_reboot">Reiniciar</string>

+ 2 - 0
android_host/src/main/res/values-ru/strings.xml

@@ -182,6 +182,7 @@
     <string name="str_no">Нет</string>
     <string name="str_confirm">Подтвердить</string>
     <string name="str_cancel">Отменить</string>
+    <string name="str_exit">Exit</string>
     <string name="register_auto_config">Автоматическая настройка</string>
     <string name="register_manual_config">Ручная настройка</string>
     <string name="register_reboot">Перезагрузить</string>
@@ -225,6 +226,7 @@
     <string name="broadcast_record_start">Start record</string>
     <string name="broadcast_record_stop">Stop record</string>
     <string name="broadcast_playing">Broadcast playing…</string>
+    <string name="broadcast_preview">Broadcast preview…</string>
     <string name="broadcast_stop">Broadcast stop</string>
 
     <string name="str_warning">тревога</string>

+ 2 - 0
android_host/src/main/res/values-zh/strings.xml

@@ -156,6 +156,7 @@
     <string name="broadcast_record_start">开始说话</string>
     <string name="broadcast_record_stop">停止说话</string>
     <string name="broadcast_playing">正在广播…</string>
+    <string name="broadcast_preview">广播试听…</string>
     <string name="broadcast_stop">广播停止</string>
 
     <string name="str_voice_msg_btn_title">松开保存,滑动取消</string>
@@ -212,6 +213,7 @@
     <string name="str_no">否</string>
     <string name="str_confirm">确定</string>
     <string name="str_cancel">取消</string>
+    <string name="str_exit">退出</string>
     <string name="register_auto_config">自动配置</string>
     <string name="register_manual_config">手动配置</string>
     <string name="register_reboot">重新启动</string>

+ 2 - 0
android_host/src/main/res/values/strings.xml

@@ -154,6 +154,7 @@
     <string name="broadcast_record_start">Start record</string>
     <string name="broadcast_record_stop">Stop record</string>
     <string name="broadcast_playing">Broadcast playing…</string>
+    <string name="broadcast_preview">Broadcast preview…</string>
     <string name="broadcast_stop">Broadcast stop</string>
 
     <string name="setting_day_night_time">Day-night time set</string>
@@ -195,6 +196,7 @@
     <string name="str_no">No</string>
     <string name="str_confirm">Confirm</string>
     <string name="str_cancel">Cancel</string>
+    <string name="str_exit">Exit</string>
     <string name="register_auto_config">Auto config</string>
     <string name="register_manual_config">Manual config</string>
     <string name="register_reboot">Reboot</string>

+ 1 - 0
common/build.gradle

@@ -22,6 +22,7 @@ android {
         }
 
         buildConfigField 'String', 'device_type', "\"${project.rootProject.ext.device_type}\""
+        buildConfigField 'String', 'isandroid_bed', "\"${project.rootProject.ext.android_bed}\""
     }
     lintOptions {
         abortOnError false

+ 2 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constant.java

@@ -642,4 +642,6 @@ public class Constant {
     public static final int EVENT_DORM_REMOVE_FRAGMENT = 0x219;
 
     public static final int EVENT_DORM_CALLING = 0x220;
+
+    public static final int EVENT_WIFI_ENABLE = 0x221;
 }