Forráskód Böngészése

1。分机webview界面修改
2。护士喊话广播增加区域选择 ,修改tcp逻辑
3。 移动端国际化
4。护士主机院外探视修改,首页点击优化(加小红点)

xunchuanzhi 1 éve
szülő
commit
b199edd95f
43 módosított fájl, 584 hozzáadás és 393 törlés
  1. 1 1
      android_bed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/MainFragment.kt
  2. 2 2
      android_bed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/VisitCallFragment.kt
  3. 2 2
      android_bed/src/main/res/layout-land/callingbed_hospital_info_main.xml
  4. 10 15
      android_bed/src/main/res/layout-land/webciew_lay.xml
  5. 128 78
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt
  6. 26 5
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/BrGroupAdapter.kt
  7. 1 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/di/NurseHomeComponent.kt
  8. 12 4
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcastListFragment.kt
  9. 87 80
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/BroadcasthhFragment.kt
  10. 13 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/FramePartFragment.kt
  11. 18 20
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/visit/frgment/VisitMainFragment.kt
  12. 1 1
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/visit/frgment/VisitSetFragment.kt
  13. 8 4
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/visit/tcp/VisitTcpClientHandler.java
  14. 1 3
      android_host/src/main/res/layout/activity_new_nurse_home.xml
  15. 5 6
      android_host/src/main/res/layout/fragment_br_call.xml
  16. 2 0
      android_host/src/main/res/values-es/strings.xml
  17. 2 0
      android_host/src/main/res/values-ru/strings.xml
  18. 1 0
      android_host/src/main/res/values-zh/strings.xml
  19. 2 0
      android_host/src/main/res/values/strings.xml
  20. 1 1
      android_mobile/src/main/java/com/wdkl/ncs/android/component/home/activity/ChannelImActivity.kt
  21. 1 1
      android_mobile/src/main/java/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt
  22. 2 2
      android_mobile/src/main/java/com/wdkl/ncs/android/component/home/activity/WatchUserSettingActivity.java
  23. 20 19
      android_mobile/src/main/java/com/wdkl/ncs/android/component/home/adapter/CallRecordsItemAdapter.kt
  24. 2 1
      android_mobile/src/main/java/com/wdkl/ncs/android/component/home/adapter/ChannelImItemAdapter.kt
  25. 2 1
      android_mobile/src/main/java/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt
  26. 1 1
      android_mobile/src/main/java/com/wdkl/ncs/android/component/home/dialog/ServicesDialogHelper.java
  27. 3 3
      android_mobile/src/main/res/layout/adapter_channel_im_records_item.xml
  28. 7 7
      android_mobile/src/main/res/layout/adapter_watch_contacts_item.xml
  29. 7 7
      android_mobile/src/main/res/layout/event_list_item.xml
  30. 4 4
      android_mobile/src/main/res/layout/takeover_item.xml
  31. 8 8
      android_mobile/src/main/res/layout/user_setting_layout.xml
  32. 1 1
      android_mobile/src/main/res/layout/view_title_layout.xml
  33. 12 10
      android_mobile/src/main/res/layout/watch_activity_home2.xml
  34. 80 87
      android_mobile/src/main/res/layout/watch_activity_register.xml
  35. 12 15
      build.gradle
  36. 40 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/entity/BringItem.java
  37. 0 0
      resource/src/main/res/mipmap-mdpi/nfc.jpeg
  38. 0 0
      resource/src/main/res/mipmap-xhdpi/nfc.jpeg
  39. BIN
      resource/src/main/res/mipmap-xxxhdpi/nfc.jpeg
  40. 14 0
      resource/src/main/res/values-es/strings.xml
  41. 14 0
      resource/src/main/res/values-ru/strings.xml
  42. 16 4
      resource/src/main/res/values-zh/strings.xml
  43. 15 0
      resource/src/main/res/values/strings.xml

+ 1 - 1
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/MainFragment.kt

@@ -29,7 +29,7 @@ import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
 
 /**
- * 月子中心呼叫记录界面
+ * 界面
  */
 class  MainFragment: BaseFragment<BedMainFragmentPresenter, MainViewLayoutBinding>(), BedMainFragmentContract.View {
     val TAG = "MainFragment"

+ 2 - 2
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/VisitCallFragment.kt

@@ -90,7 +90,7 @@ class VisitCallFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreCal
             visit_voice_call_timer.base = SystemClock.elapsedRealtime()
             visit_voice_call_timer.start()
             if (channelName == ""){
-                showMessage("房间号为空")
+                showMessage("NO ROOM ID")
             }else{
                 checkServer()
             }
@@ -142,7 +142,7 @@ class VisitCallFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreCal
             visit_voice_call_timer.start()
             Constant.CALL_STATE = Constant.CALL_VISIT_CALLING
             if (channelName == ""){
-                showMessage("房间号为空")
+                showMessage("NO ROOM ID")
             }else{
                 checkServer()
             }

+ 2 - 2
android_bed/src/main/res/layout-land/callingbed_hospital_info_main.xml

@@ -88,7 +88,7 @@
                     android:paddingBottom="@dimen/d2"
                     android:layout_below="@+id/hospital_info_name"
                     android:layout_toRightOf="@+id/hospital_info_type"
-                    android:text="权威机构"
+                    android:text="权威医院"
                     android:background="@drawable/shape_hospital_info_tx_bg"
                     android:textColor="#FF4D31"
                     android:textSize="@dimen/font_size_11"
@@ -105,7 +105,7 @@
                     android:paddingBottom="@dimen/d2"
                     android:layout_below="@+id/hospital_info_name"
                     android:layout_toRightOf="@+id/hospital_info_type_1"
-                    android:text="深圳市权威医院"
+                    android:text="顶级医疗机构"
                     android:background="@drawable/shape_hospital_info_tx_bg1"
                     android:textColor="@color/txt_number"
                     android:textSize="@dimen/font_size_11"

+ 10 - 15
android_bed/src/main/res/layout-land/webciew_lay.xml

@@ -1,10 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <data>
-
-    </data>
-
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -49,20 +45,19 @@
             android:layout_width="match_parent"
             android:layout_height="2dp" />
 
-
-        <androidx.core.widget.NestedScrollView
-            android:id="@+id/customerScrollView1"
+        <WebView
+            android:id="@+id/webview"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            >
+            android:layout_height="match_parent"/>
+
+<!--        <androidx.core.widget.NestedScrollView-->
+<!--            android:id="@+id/customerScrollView1"-->
+<!--            android:layout_width="match_parent"-->
+<!--            android:layout_height="match_parent">-->
+
 
-            <WebView
-                android:id="@+id/webview"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                />
-        </androidx.core.widget.NestedScrollView>
 
+<!--        </androidx.core.widget.NestedScrollView>-->
 
         <include
             layout="@layout/layout_nodate"

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

@@ -30,6 +30,7 @@ import com.google.common.base.Strings
 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.activity.NurseHomeActivity.Companion.brIngList
 import com.wdkl.ncs.android.component.nursehome.databinding.ActivityNewNurseHomeBinding
 import com.wdkl.ncs.android.component.nursehome.fragment.*
 import com.wdkl.ncs.android.component.nursehome.visit.frgment.VisitCallFragment
@@ -52,6 +53,7 @@ import com.wdkl.ncs.android.lib.utils.*
 import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.common.MessageEvent
 import com.wdkl.ncs.android.middleware.common.SipStatus
+import com.wdkl.ncs.android.middleware.entity.BringItem
 import com.wdkl.ncs.android.middleware.entity.CallingItem
 import com.wdkl.ncs.android.middleware.logic.contract.nursehome.NurseHomeActivityContract
 import com.wdkl.ncs.android.middleware.logic.presenter.nursehome.NurseHomeActivityPresenter
@@ -91,7 +93,7 @@ import java.util.concurrent.Executors
 import java.util.concurrent.ScheduledExecutorService
 import java.util.concurrent.TimeUnit
 import kotlin.collections.ArrayList
-
+/**/
 
 /**
  * 首页Activity
@@ -124,7 +126,26 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
         var sosItemList = ArrayList<CallingItem>()
         var callingList = ArrayList<CallingItem>()
         var viditingList = ArrayList<String>()
-//        var RoundList = ArrayList<String>()
+        var brIngList = ArrayList<BringItem>()
+
+
+        // 添加字符串到 brIngList 中
+        fun addTobrIngList(id: String,bid: String) {
+            var item =  BringItem(bid,id)
+            brIngList.add(item)
+        }
+
+        // 删除 brIngList 中与指定值相同的字符串
+        fun removeValueFrombrIngList(bid: String) : String {
+            if (brIngList.size > 0) {
+                for (item in brIngList) {
+                    if (item.getbId()== bid) {
+                        return item.id
+                    }
+                }
+            }
+            return "-1"
+        }
 
         // 添加字符串到 viditingList 中
         fun addToViditingList(str: String) {
@@ -136,16 +157,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
             viditingList.removeAll { it == str }
         }
 
-        // 添加字符串到 RoundList 中
-//        fun addToRoundList(str: String) {
-//            RoundList.add(str)
-//        }
-//
-//        // 删除 RoundList 中与指定值相同的字符串
-//        fun removeValueFromRoundList(str: String) {
-//            RoundList.removeAll { it == str }
-//        }
-
         fun checkIncomingCall(bedDeviceId: Int?): Boolean {
             if (callingList.size > 0) {
                 for (item in callingList) {
@@ -181,7 +192,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
     private val uninstallApk = false
     private var copyDone = false
     private var tcpConnect: Boolean = false
-    private var visittcpConnect: Boolean = false
+
 
     private var isFragmentVisible = false
 
@@ -533,49 +544,71 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
      */
     override fun bindEvent() {
 
-        group_menus.setOnCheckedChangeListener { group, checkedId ->
-            when (checkedId) {
-                R.id.menu_home -> {
-                    showMiddleFragment(FramePartFragment())
-                }
-                R.id.menu_ward -> {
-                    showMiddleFragment(SickbedFragment())
-                }
-
-                R.id.menu_broadcasting -> {
 
-                    showMiddleFragment(BroadcastNewFragment())
-                }
-
-                R.id.menu_doctor -> {
-                    showMiddleFragment(DoctorHostFragment())
-                }
-
-                R.id.menu_moving -> {
-                    showMiddleFragment(NurseMoveFragment())
-                }
-
-                R.id.menu_others -> {
-                    showMiddleFragment(OtherHostFragment())
-                }
-
-                R.id.menu_more -> {
-                    showMiddleFragment(WorkFragment())
-                }
-                R.id.menu_hosting -> {
-                    showMiddleFragment(TrustManagementFragment())
-                }
+        //首页
+        menu_home.setOnClickListener(this)
+        //病床
+        menu_ward.setOnClickListener(this)
+        //广播
+        menu_broadcasting.setOnClickListener(this)
+        //医生
+        menu_doctor.setOnClickListener(this)
+        //病区
+        menu_ward_disease.setOnClickListener(this)
+        //病床
+        menu_ward.setOnClickListener(this)
+        //移动
+        menu_moving.setOnClickListener(this)
+        //其他
+        menu_others.setOnClickListener(this)
+        //托管
+        menu_hosting.setOnClickListener(this)
+        //更多
+        menu_more.setOnClickListener(this)
+        //探视
+        menu_led.setOnClickListener(this)
+
+//        group_menus.setOnCheckedChangeListener { group, checkedId ->
+//            when (checkedId) {
+//                //首页
+//                R.id.menu_home -> {
+//                    showMiddleFragment(FramePartFragment())
+//                }
+//                R.id.menu_ward -> {
+//                    showMiddleFragment(SickbedFragment())
+//                }
+//                //广播
+//                R.id.menu_broadcasting -> {
+//
+//                    showMiddleFragment(BroadcastNewFragment())
+//                }
+//
+//                R.id.menu_doctor -> {
+//                    showMiddleFragment(DoctorHostFragment())
+//                }
+//
+//                R.id.menu_moving -> {
+//                    showMiddleFragment(NurseMoveFragment())
+//                }
+//
+//                R.id.menu_others -> {
+//                    showMiddleFragment(OtherHostFragment())
+//                }
+//
+//                R.id.menu_more -> {
+//                    showMiddleFragment(WorkFragment())
+//                }
+//                R.id.menu_hosting -> {
+//                    showMiddleFragment(TrustManagementFragment())
+//                }
+//
+//                R.id.menu_led -> {
+//                    showMiddleFragment(VisitMainFragment())
+//                    redDot.visibility = View.GONE
+//                }
+//            }
+//        }
 
-                R.id.menu_led -> {
-                    showMiddleFragment(VisitMainFragment())
-                    redDot.visibility = View.GONE
-                }
-            }
-        }
-        menu_led.setOnClickListener {
-            showMiddleFragment(VisitMainFragment())
-            redDot.visibility = View.GONE
-        }
         main_rl_3.setOnClickListener(this)
     }
     /**
@@ -753,16 +786,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
     override fun showSettingData(data: HostDevicePartSettingVO) {
         Log.e(TAG, "收到返回的设置配置信息 ")
         Log.e(TAG, "partId " + data.partId)
-
-
-        if ( SettingConfig.getIsAgora(activity)){
-          Thread {
-            VisitTcpClient.getInstance().init(Constant.SLEEP_TCP_SERVER_URL_text, Constant.VISIT_TCP_PORT!!.toInt(), Constant.reader_idle_time!!.toInt())
-        }.start()
-
-        }
-
-
         if (SettingConfig.getSipEnabled(activity)) {
             //配置sip账户
             if (WdklSipService.getCore() != null) {
@@ -861,17 +884,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
             }
 
             setSettingConfiguration()
-//            if (data.isBool_outside_vital && !visittcpConnect) {
-//                visittcpConnect = true
-//                //初始化tcp
-//                Thread {
-//                    if (!BuildConfig.DEBUG){
-//                        VisitTcpClient.getInstance().init(Constant.SLEEP_TCP_SERVER_URL, Constant.VISIT_TCP_PORT!!.toInt(), Constant.reader_idle_time!!.toInt())
-//                    }else{
-//                        VisitTcpClient.getInstance().init(Constant.SLEEP_TCP_SERVER_URL_text, Constant.VISIT_TCP_PORT!!.toInt(), Constant.reader_idle_time!!.toInt())
-//                    }
-//                    }.start()
-//            }
 
 
         } catch (e: Exception) {
@@ -959,6 +971,43 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
            R.id.main_rl_3 -> {
                showLeftFragment()
            }
+           //首页
+           R.id.menu_home -> {
+               showMiddleFragment(FramePartFragment())
+           }
+           R.id.menu_ward -> {
+               showMiddleFragment(SickbedFragment())
+           }
+           //广播
+           R.id.menu_broadcasting -> {
+
+               showMiddleFragment(BroadcastNewFragment())
+           }
+
+           R.id.menu_doctor -> {
+               showMiddleFragment(DoctorHostFragment())
+           }
+
+           R.id.menu_moving -> {
+               showMiddleFragment(NurseMoveFragment())
+           }
+
+           R.id.menu_others -> {
+               showMiddleFragment(OtherHostFragment())
+           }
+
+           R.id.menu_more -> {
+               showMiddleFragment(WorkFragment())
+           }
+           R.id.menu_hosting -> {
+               showMiddleFragment(TrustManagementFragment())
+           }
+
+           R.id.menu_led -> {
+               showMiddleFragment(VisitMainFragment())
+               redDot.visibility = View.GONE
+           }
+
        }
     }
 
@@ -1453,8 +1502,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
 
         menu_hosting.setBackgroundResource(R.drawable.shape_main_bt_bg)
         menu_hosting.setTextColor(getResources().getColor(R.color.white))
-
-
         group_menus.clearCheck()
         // 判断当前显示的Fragment是哪个
         when (currentFragment) {
@@ -2204,7 +2251,10 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
                         if (tcpModel.data != null && canParseJson(tcpModel.data.toString())) {
                             //发送音频广播后返回的数据
                             val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-                            Constant.bcInteractionId = interactionVO.id
+                            val json = JSON.parseObject(interactionVO.data.toString())
+                            val bid = json.getString("bId")
+                            addTobrIngList(interactionVO.id.toString(),bid)
+//                            Constant.bcInteractionId = interactionVO.id
                         }
                     } else if (tcpModel.action == TcpAction.BroadcastAction.STOP) {
                         //广播结束

+ 26 - 5
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/BrGroupAdapter.kt

@@ -8,6 +8,7 @@ import android.view.ViewGroup
 import android.widget.TextView
 import androidx.recyclerview.widget.RecyclerView
 import com.wdkl.ncs.android.component.nursehome.R
+import com.wdkl.ncs.android.lib.utils.showMessage
 
 import com.wdkl.ncs.android.middleware.model.vo.ClerkByVO
 import com.wdkl.ncs.android.middleware.model.vo.GroupBrVo
@@ -77,15 +78,35 @@ class BrGroupAdapter : RecyclerView.Adapter<BrGroupAdapter.ViewHolder>{
         }
 
         holder.signitemname.setOnClickListener {
-            // 更新选中状态
-            if (selectedPositions.contains(position)) {
-                selectedPositions.remove(position)
+
+            if (selectedPositions.contains(0) && data[position].id != 0) {
+                // 如果选中项包含ID为0,且点击的不是ID为0的项,则不进行任何操作
+                showMessage(R.string.br_message_14)
+                return@setOnClickListener
+            }
+            if (data[position].id == 0) {
+                // 如果当前已选中的项不只是ID为0的项,则清空并只选中当前项
+                if (!(selectedPositions.size == 1 && selectedPositions.contains(position))) {
+                    selectedPositions.clear()
+                    selectedPositions.add(position)
+                    notifyDataSetChanged() // 更新所有项的显示状态
+                } else {
+                    // 如果当前已经只选中ID为0的项,点击则取消选择
+                    selectedPositions.clear()
+                    notifyItemChanged(position) // 只更新当前项的显示状态
+                }
             } else {
-                selectedPositions.add(position)
+                // 更新选中状态
+                if (selectedPositions.contains(position)) {
+                    selectedPositions.remove(position)
+                } else {
+                    selectedPositions.add(position)
+                }
+                notifyItemChanged(position)
             }
             val ids = selectedPositions.map { data[it].id }.joinToString(",")
             onItemClickListener.onItemClick(holder.signitemname, position,ids)
-            notifyItemChanged(position)
+//            notifyItemChanged(position)
         }
     }
 

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

@@ -53,4 +53,5 @@ interface NurseHomeComponent{
     fun inject(fragment: VisitCallFragment)
     fun inject(fragment: VisitSetFragment)
 
+
 }

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

@@ -6,6 +6,7 @@ import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.enation.javashop.net.engine.model.NetState
 import com.wdkl.ncs.android.component.nursehome.R
+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
@@ -144,11 +145,18 @@ class BroadcastListFragment : BaseFragment<BroadcastListPresenter, FragmentBrMai
                 }
             }
             "停止" -> {
-                BrstopDialogHelper.showDialog(activity) {
-                    val tcpModel = BroadcastUtil.stopBroadcast(Constant.DEVICE_ID, Constant.bcInteractionId)
-                    TcpClient.getInstance().sendMsg(tcpModel.toJson())
-                    EventBus.getDefault().post(MessageEvent("off", Constant.EVENT_BROADCAST_STATE))
+                var id = NurseHomeActivity.removeValueFrombrIngList(ID.toString())
+                if (!id.equals("-1")){
+                    BrstopDialogHelper.showDialog(activity) {
+
+                        val tcpModel = BroadcastUtil.stopBroadcast(Constant.DEVICE_ID, id.toInt())
+                        TcpClient.getInstance().sendMsg(tcpModel.toJson())
+                        EventBus.getDefault().post(MessageEvent("off", Constant.EVENT_BROADCAST_STATE))
+                    }
+                }else{
+                    showMessage(R.string.str_br_play_no)
                 }
+
             }
             "设置" -> {
                 EventBus.getDefault().post(MessageEvent(ID.toString(), Constant.EVENT_V_br_set))

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

@@ -49,7 +49,7 @@ class BroadcasthhFragment : BaseFragment<BroadcasthhPresenter, FragmentBrCallBin
     private lateinit var adapter: BrGroupAdapter
 
     private var infoFragment: Fragment? = null
-    var  group_id :String = ""
+    var group_id: Array<String> = arrayOf()
     private var allOrders = ArrayList<GroupBrVo>()
 
     private var bcVoiceOn = false
@@ -95,21 +95,20 @@ class BroadcasthhFragment : BaseFragment<BroadcasthhPresenter, FragmentBrCallBin
 
         //喊话广播
         call_bt_call.setOnClickListener {
-
-//            if (group_id.equals("")){
-//                showMessage("请选择喊话区域")
-//            }else
-            if (SettingConfig.getSipEnabled(getActivity())){
-                if (Constant.bcStart) {
-                    showMessage(R.string.broadcast_playing)
-                }else {
-                    //先发起喊话广播请求,服务端返回端口再初始化
-                    val tcpModel = BroadcastUtil.startVoiceBroadcast(Constant.DEVICE_ID, "[0]")  //给所有分机设备发
-                    val transaction = object : TcpCallback(tcpModel.tid) {
-                        override fun onSuccess(jsonObject: JSONObject) {
-                            try {
-                                val port = jsonObject.get(CALLBACK_DATA)
-                                  //gstream初始化,指定服务器IP和音频端口
+            if (group_id.equals("")){
+                showMessage(R.string.br_message_9)
+            }else{
+                if (SettingConfig.getSipEnabled(getActivity())){
+                    if (Constant.bcStart) {
+                        showMessage(R.string.broadcast_playing)
+                    }else {
+                        //先发起喊话广播请求,服务端返回端口再初始化
+                        val tcpModel = BroadcastUtil.startVoiceBroadcast(Constant.DEVICE_ID, group_id.joinToString(prefix = "[", postfix = "]"))  //给所有分机设备发
+                        val transaction = object : TcpCallback(tcpModel.tid) {
+                            override fun onSuccess(jsonObject: JSONObject) {
+                                try {
+                                    val port = jsonObject.get(CALLBACK_DATA)
+                                    //gstream初始化,指定服务器IP和音频端口
                                     core = WdklSipService.getCore()
                                     val addressToCall = core?.interpretUrl(port.toString())
                                     val params = core?.createCallParams(null)
@@ -117,75 +116,77 @@ class BroadcasthhFragment : BaseFragment<BroadcasthhPresenter, FragmentBrCallBin
                                     if (addressToCall != null) {
                                         core?.inviteAddressWithParams(addressToCall, params!!)
                                     }
-                            } catch (ex: Exception) {
-                                ex.printStackTrace()
+                                } catch (ex: Exception) {
+                                    ex.printStackTrace()
+                                }
                             }
-                        }
 
-                        override fun onFailed(jsonObject: JSONObject) {
-                            // 这里写发送失败的方法
-                            activity.runOnUiThread {
-                                showMessage("broadcast send fail")
+                            override fun onFailed(jsonObject: JSONObject) {
+                                // 这里写发送失败的方法
+                                activity.runOnUiThread {
+                                    showMessage("broadcast send fail")
+                                }
                             }
                         }
+                        TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
                     }
-                    TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
-                }
-            }else{
-                if (Constant.bcStart) {
-                    showMessage(R.string.broadcast_playing)
-                } else if (!Constant.gstreamer_init) {
-                    tv_broadcast_title.setText(R.string.broadcast_init_error)
-                } else {
-
-                    MyGStreamManager.getInstance().setCallBack(object : MyGStreamManager.StreamerCallBack {
-                        override fun onMessage(message: String?) {
-                            Log.d(TAG, "广播 ==> onMessage: $message")
-                        }
+                }else{
+                    if (Constant.bcStart) {
+                        showMessage(R.string.broadcast_playing)
+                    } else if (!Constant.gstreamer_init) {
+                        tv_broadcast_title.setText(R.string.broadcast_init_error)
+                    } else {
 
-                        override fun onStreamerInitialized() {
-                            Log.d(TAG, "广播 ==> 初始化完成...开始喊话")
-                            initDone = true
-
-                            activity.runOnUiThread {
-                                tv_broadcast_title.setText(R.string.broadcast_playing)
-                                btn_record.setBackgroundResource(R.drawable.mic_off)
-                                tv_record.setText(R.string.broadcast_record_stop)
-                                call_bt_call.visibility =View.GONE
-                                call_bt_bt.visibility =View.VISIBLE
-                                my_voice_load_view.start()
-                                showMessage(R.string.broadcast_record_start)
-                                bcVoiceOn = true
+                        MyGStreamManager.getInstance().setCallBack(object : MyGStreamManager.StreamerCallBack {
+                            override fun onMessage(message: String?) {
+                                Log.d(TAG, "广播 ==> onMessage: $message")
                             }
 
-                            MyGStreamManager.getInstance().play()
-                        }
-                    })
-                    //先发起喊话广播请求,服务端返回端口再初始化
-                    val tcpModel = BroadcastUtil.startVoiceBroadcast(Constant.DEVICE_ID, "[0]")  //给所有分机设备发
-                    val transaction = object : TcpCallback(tcpModel.tid) {
-                        override fun onSuccess(jsonObject: JSONObject) {
-                            try {
-                                val port = jsonObject.get(CALLBACK_DATA)
-                                //gstream初始化,指定服务器IP和音频端口
-                                val uri = "host=" + Constant.RTC_URL + " port=" + port
-                                MyGStreamManager.getInstance().init(uri)
-                            } catch (ex: Exception) {
-                                ex.printStackTrace()
+                            override fun onStreamerInitialized() {
+                                Log.d(TAG, "广播 ==> 初始化完成...开始喊话")
+                                initDone = true
+
+                                activity.runOnUiThread {
+                                    tv_broadcast_title.setText(R.string.broadcast_playing)
+                                    btn_record.setBackgroundResource(R.drawable.mic_off)
+                                    tv_record.setText(R.string.broadcast_record_stop)
+                                    call_bt_call.visibility = View.GONE
+                                    call_bt_bt.visibility = View.VISIBLE
+                                    my_voice_load_view.start()
+                                    showMessage(R.string.broadcast_record_start)
+                                    bcVoiceOn = true
+                                }
+
+                                MyGStreamManager.getInstance().play()
+                            }
+                        })
+                        //先发起喊话广播请求,服务端返回端口再初始化
+                        val tcpModel = BroadcastUtil.startVoiceBroadcast(Constant.DEVICE_ID,  group_id.joinToString(prefix = "[", postfix = "]"))  //给所有分机设备发
+                        val transaction = object : TcpCallback(tcpModel.tid) {
+                            override fun onSuccess(jsonObject: JSONObject) {
+                                try {
+                                    val port = jsonObject.get(CALLBACK_DATA)
+                                    //gstream初始化,指定服务器IP和音频端口
+                                    val uri = "host=" + Constant.RTC_URL + " port=" + port
+                                    MyGStreamManager.getInstance().init(uri)
+                                } catch (ex: Exception) {
+                                    ex.printStackTrace()
+                                }
                             }
-                        }
 
-                        override fun onFailed(jsonObject: JSONObject) {
-                            // 这里写发送失败的方法
-                            activity.runOnUiThread {
-                                showMessage("broadcast send fail")
+                            override fun onFailed(jsonObject: JSONObject) {
+                                // 这里写发送失败的方法
+                                activity.runOnUiThread {
+                                    showMessage("broadcast send fail")
+                                }
                             }
                         }
+                        TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
                     }
-                    TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
                 }
             }
 
+
         }
         //挂断
         call_bt_bt.setOnClickListener {
@@ -257,11 +258,19 @@ class BroadcasthhFragment : BaseFragment<BroadcasthhPresenter, FragmentBrCallBin
      *显示数据
      */
     override fun showData(data: ArrayList<GroupBrVo>) {
-        if (data != null) {
-            allOrders.clear()
-            allOrders = data
-            adapter.updateData(data)
-        }
+        allOrders.clear()
+        val newGroup = GroupBrVo()
+        newGroup.id = 0 // 例子中随便设置一个 ID
+
+        newGroup.union_id = "new_union_id"
+        newGroup.create_time = (System.currentTimeMillis() / 1000).toInt()
+        newGroup.update_time = newGroup.create_time
+        newGroup.group_name = "全部"
+        newGroup.part_id = 0 // 例子中随便设置一个部分 ID
+        // 在列表的最开始位置添加新创建的 GroupBrVo 对象
+        data.add(0, newGroup)
+        allOrders.addAll(data)
+        adapter.updateData(data)
     }
 
     /**
@@ -314,8 +323,8 @@ class BroadcasthhFragment : BaseFragment<BroadcasthhPresenter, FragmentBrCallBin
                     tv_broadcast_title.setText(R.string.broadcast_playing)
                     btn_record.setBackgroundResource(R.drawable.mic_off)
                     tv_record.setText(R.string.broadcast_record_stop)
-                    call_bt_call.visibility =View.GONE
-                    call_bt_bt.visibility =View.VISIBLE
+                    call_bt_call.visibility = View.GONE
+                    call_bt_bt.visibility = View.VISIBLE
                     my_voice_load_view.start()
                     showMessage(R.string.broadcast_record_start)
                     bcVoiceOn = true
@@ -325,10 +334,8 @@ class BroadcasthhFragment : BaseFragment<BroadcasthhPresenter, FragmentBrCallBin
     }
 
     override fun onItemClick(view: View, keyId: Int, ids: String) {
-        if (!ids.equals("")){
-            group_id = ids
-        }else{
-            group_id = ""
+        if (ids.isNotEmpty()){
+            group_id += ids
         }
     }
 }

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

@@ -6,11 +6,14 @@ import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.enation.javashop.net.engine.model.NetState
 import com.scwang.smartrefresh.layout.footer.ClassicsFooter
+import com.wdkl.ncs.android.component.nursehome.BuildConfig
 import com.wdkl.ncs.android.component.nursehome.R
 import com.wdkl.ncs.android.component.nursehome.activity.HostbedinfoActivity
 import com.wdkl.ncs.android.component.nursehome.adapter.FrameBedVosConfinementAdapter
 import com.wdkl.ncs.android.component.nursehome.databinding.FragmentFramePartBinding
 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.visit.tcp.VisitTcpClient
 import com.wdkl.ncs.android.lib.base.BaseFragment
 import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.lib.vo.filter
@@ -181,6 +184,16 @@ class FramePartFragment: BaseFragment<FramePartPresenter, FragmentFramePartBindi
         if (data.frameRoomVos != null){
             //提供给声网探视
             Constant.union_id =data.framePart.unionId
+
+            if (SettingConfig.getIsAgora(activity)){
+                Thread {
+                    if (!BuildConfig.DEBUG){
+                        VisitTcpClient.getInstance().init(Constant.SLEEP_TCP_SERVER_URL, Constant.VISIT_TCP_PORT!!.toInt(), Constant.reader_idle_time!!.toInt())
+                    }else{
+                        VisitTcpClient.getInstance().init(Constant.SLEEP_TCP_SERVER_URL_text, Constant.VISIT_TCP_PORT!!.toInt(), Constant.reader_idle_time!!.toInt())
+                    }
+                }.start()
+            }
             val frameRoomVos = data.frameRoomVos as ArrayList<FrameRoomVO>
             adapter!!.data.clear()
             adapter!!.data.addAll(frameRoomVos)

+ 18 - 20
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/visit/frgment/VisitMainFragment.kt

@@ -33,7 +33,9 @@ import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
 import java.util.concurrent.TimeUnit
 
-
+/**
+ * 预约探视
+ * */
 class VisitMainFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreMainBinding>(), BroadcastContract.View, VisitListAdapter.OnItemClickListener {
 
 
@@ -100,8 +102,7 @@ class VisitMainFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreMai
 
             shopUnionId = Constant.union_id
             if (shopUnionId.equals("")) {
-
-                     initView(2)
+                initView(2)
                  return@Thread
             }
             var baseUrl: String ="https://api.base.wdklian.com/ncs_visit_log/get_page"
@@ -118,7 +119,7 @@ class VisitMainFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreMai
                     .add("memberId", "")
                     .add("status", status)
                     .build()
-
+            Log.i(TAG, "start check server: $shopUnionId")
             val request = Request.Builder()
                     .url(baseUrl)
                     .post(requestBody)
@@ -136,14 +137,17 @@ class VisitMainFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreMai
 //                    data = gson.fromJson<ArrayList<VisitPageVo.DataBean>>(response.body()?.string(), itemType)
 //                    Log.e(TAG, "check server exception:" + allOrders.toString())
                     initView(1)
+                    return@Thread
                 } else {
                     //接口数据获取失败,可能服务器ip不对,尝试重新获取服务器ip
                     initView(2)
+                    return@Thread
                 }
             } catch (e: Exception) {
-                initView(2)
                 //接口数据获取失败,可能服务器ip不对,尝试重新获取服务器ip
                 Log.e(TAG, "check server exception:")
+                initView(2)
+                return@Thread
                 e.printStackTrace()
             }
         }.start()
@@ -159,8 +163,6 @@ class VisitMainFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreMai
                     visit_main_refresh.finishLoadMore()
                     if (data!=null && data.size>0){
                         // 如果 viditingList 为空,则直接刷新为空,并更新 RecyclerView
-
-
                         if (status.equals("1")) {
                                     if (NurseHomeActivity.viditingList.isEmpty()) {
                                         visit_main_emptyImageView.visibility= View.VISIBLE
@@ -183,30 +185,27 @@ class VisitMainFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreMai
                         visit_main_emptyImageView.visibility= View.GONE
                         //如果是探视中的
                         visitListAdapter!!.updateData(data,status,pageNo)
-//                        if (pageNo!=1){
-//                            visitListAdapter!!.data.addAll(data)
-//                        }else{
-//                            visitListAdapter!!.data.clear()
-//                            visitListAdapter!!.data.addAll(data)
-//                        }
-//                        //Log.i(TAG,"其它主机数量 " + devices.size)
-//                        visitListAdapter!!.notifyDataSetChanged()
+                        return@post
                     }else{
-
+                        Log.e(TAG, "check server exception:2")
                         if (pageNo>1){
                             showMessage(R.string.no_more_data)
                             return@post
                         }
                         visit_main_emptyImageView.visibility= View.VISIBLE
+                        return@post
                     }
                 }else{
+                    Log.e(TAG, "check server exception:3")
                     showMessage(R.string.str_Message_3)
                     visit_main_refresh.finishRefresh()
                     visit_main_refresh.finishLoadMore()
                     visit_main_emptyImageView.visibility= View.VISIBLE
+                    return@post
                 }
             } catch (e: Exception) {
-                initView(2)
+                Log.e(TAG, "check server exception:"+e.toString())
+                return@post
             }
         }
 
@@ -357,14 +356,13 @@ class VisitMainFragment : BaseFragment<BroadcastPresenter, FragmentVisitAgoreMai
     }
     @Subscribe(threadMode = ThreadMode.MAIN)
     fun onMoonEvent(messageEvent: MessageEvent) {
-//        Log.e(TAG,"收到tcp消息")
+        Log.e(TAG,"收到tcp消息")
         if (messageEvent.type ==Constant.EVENT_VISIT_list){
             if (messageEvent.message.equals("BackCall") && status.equals("1")){
                 setui(1)
-                showMessage("收到新的审核信息,已刷新")
                 return
             }
-            if (messageEvent.message.equals("refresh") && status.equals("2")){
+            if (messageEvent.message.equals("refresh") && status.equals("0")){
                 setui(2)
                 return
             }

+ 1 - 1
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/visit/frgment/VisitSetFragment.kt

@@ -230,7 +230,7 @@ class VisitSetFragment : BaseFragment<FramePartPresenter, FragmentVisitThroughBi
                     .readTimeout(15 * 1000L, TimeUnit.MILLISECONDS)
                     .writeTimeout(15 * 1000L, TimeUnit.MILLISECONDS)
                     .build()
-            var baseUrl: String ="https://api.base.wdklian.com/ncs_visit_log/edit"+visit_id
+            var baseUrl: String ="https://api.base.wdklian.com/ncs_visit_log/edit/"+visit_id
 
             if (BuildConfig.DEBUG) {
                 baseUrl ="http://192.168.1.199:7000/ncs_visit_log/edit/"+visit_id

+ 8 - 4
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/visit/tcp/VisitTcpClientHandler.java

@@ -67,11 +67,15 @@ public class VisitTcpClientHandler extends SimpleChannelInboundHandler<String> {
             TcpModel tcpModel = DeviceUtil.deviceConnect4("610a4ebae21b840007887b95",Constant.DEVICE_REGISTER_ID);
             VisitTcpClient.getInstance().sendMsg(tcpModel.toJson());
         }else {
-            TcpModel tcpModel = DeviceUtil.deviceConnect4(Constant.union_id,Constant.DEVICE_REGISTER_ID);
-            VisitTcpClient.getInstance().sendMsg(tcpModel.toJson());
-        }
-
+            if (!Constant.union_id.equals("")){
+                TcpModel tcpModel = DeviceUtil.deviceConnect4(Constant.union_id,Constant.DEVICE_REGISTER_ID);
+                VisitTcpClient.getInstance().sendMsg(tcpModel.toJson());
+            }else {
+                Log.i(TAG, "失去连接");
+                VisitTcpClient.getInstance().doConnect();
+            }
 
+        }
     }
 
     //断开连接

+ 1 - 3
android_host/src/main/res/layout/activity_new_nurse_home.xml

@@ -181,7 +181,7 @@
 
                     <androidx.constraintlayout.widget.ConstraintLayout
                         android:id="@+id/menu_visit"
-                        android:layout_width="wrap_content"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_gravity="center"
                         android:visibility="gone"
@@ -284,8 +284,6 @@
                         android:textSize="20sp"
                         android:textStyle="bold" />
 
-
-
                 </RadioGroup>
 
             </ScrollView>

+ 5 - 6
android_host/src/main/res/layout/fragment_br_call.xml

@@ -22,7 +22,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/d15"
-                android:visibility="gone"
+
                 >
                 <TextView
                     android:layout_width="wrap_content"
@@ -37,7 +37,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_toRightOf="@+id/set_br_tx_3"
-                    android:text="请选择播放区域(多选)"
+                    android:text="@string/br_message_9"
                     android:textSize="@dimen/font_size_18"
                     android:textColor="@color/black"
                     android:textStyle="bold"
@@ -46,7 +46,6 @@
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="50dp"
-                android:visibility="gone"
                 >
                 <androidx.recyclerview.widget.RecyclerView
                     android:id="@+id/call_bt_rv"
@@ -62,7 +61,7 @@
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/d15"
+                android:layout_marginTop="@dimen/d5"
 
                 >
                 <TextView
@@ -135,7 +134,7 @@
                 android:layout_alignParentBottom="true"
                 android:layout_centerHorizontal="true"
                 android:layout_gravity="center"
-                android:layout_marginTop="@dimen/d16"
+                android:layout_marginTop="@dimen/d5"
                 android:background="@drawable/shape_main_hos_txt_bg"
                 android:gravity="center"
                 android:text="@string/br_message_13"
@@ -152,7 +151,7 @@
                 android:visibility="gone"
                 android:textColor="@color/white"
                 android:background="@drawable/shape_main_call_r_wj_bg"
-                android:layout_marginTop="@dimen/d16"
+                android:layout_marginTop="@dimen/d5"
                 android:layout_alignParentBottom="true"
                 android:layout_centerHorizontal="true"
                 android:textSize="@dimen/font_size_20" />

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

@@ -249,6 +249,8 @@
     <string name="br_message_11">Guardar Configuración</string>
     <string name="br_message_12">Haga clic en el botón para empezar a transmitir</string>
     <string name="br_message_13">Comenzar a transmitir</string>
+    <string name="br_message_14">Has seleccionado todas las áreas, por favor, deselecciona antes de seleccionar</string>
+
     <string name="str_docotor_title">Lista de Doctores</string>
     <string name="docotor_message_1">¿Confirmar llamada al anfitrión del doctor?</string>
     <string name="docotor_message_2">Confirmar llamada</string>

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

@@ -248,6 +248,8 @@
     <string name="br_message_11">Сохранить Настройки</string>
     <string name="br_message_12">Нажмите кнопку, чтобы начать вещание</string>
     <string name="br_message_13">Начать вещание</string>
+    <string name="br_message_14">Вы выбрали все области, пожалуйста, снимите выделение перед выбором</string>
+
 
     <string name="str_docotor_title">Список врачей</string>
     <string name="docotor_message_1">Подтвердить вызов врача?</string>

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

@@ -254,6 +254,7 @@
     <string name="br_message_11">保存设置</string>
     <string name="br_message_12">点击按钮进行喊话广播</string>
     <string name="br_message_13">开始喊话</string>
+    <string name="br_message_14">您已选择全部区域,请取消后在选择</string>
 
     <string name="str_docotor_title">医生列表</string>
     <string name="docotor_message_1">确认呼叫医生主机?</string>

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

@@ -254,6 +254,8 @@
     <string name="br_message_11">Save Settings</string>
     <string name="br_message_12">Click the button to start shouting broadcast</string>
     <string name="br_message_13">Start shouting</string>
+    <string name="br_message_14">You have selected all areas, please deselect before selecting</string>
+
 
     <string name="str_docotor_title">Doctor List</string>
     <string name="docotor_message_1">Confirm calling doctor host?</string>

+ 1 - 1
android_mobile/src/main/java/com/wdkl/ncs/android/component/home/activity/ChannelImActivity.kt

@@ -66,7 +66,7 @@ class ChannelImActivity : BaseActivity<ChannelImPresenter, ActivityChannelImList
 
     @SuppressLint("InvalidWakeLockTag")
     override fun init() {
-        view_title_layout_tx.text = "群留言"
+        view_title_layout_tx.text = getString(R.string.group_message)
         // 获取WakeLock对象
         val powerManager= getSystemService(Context.POWER_SERVICE) as PowerManager
         wakeLock = powerManager.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP or PowerManager.SCREEN_DIM_WAKE_LOCK, "voice_msg_on")

+ 1 - 1
android_mobile/src/main/java/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt

@@ -775,7 +775,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
     }
     fun setfuq(){
         activation_fuq.text=CommonUtils.getUrl(this)
-        showMessage("请重启设备,重新激活设备")
+        showMessage(R.string.act_message_5)
     }
     override fun enableHeadsetVoiceMsg(): Boolean {
         return false

+ 2 - 2
android_mobile/src/main/java/com/wdkl/ncs/android/component/home/activity/WatchUserSettingActivity.java

@@ -65,7 +65,7 @@ public class WatchUserSettingActivity extends Activity {
         setContentView(R.layout.user_setting_layout);
         view_title_layout_tx = findViewById(R.id.view_title_layout_tx);
         view_title_layout_img  = findViewById(R.id.view_title_layout_img);
-        view_title_layout_tx.setText("设置");
+        view_title_layout_tx.setText(R.string.str_settings);
         tvAppVersion = findViewById(R.id.settings_main_14_tx);
         tvDeviceId = findViewById(R.id.settings_main_6_tx);
         tvDeviceImei = findViewById(R.id.settings_main_16_tx);
@@ -303,7 +303,7 @@ public class WatchUserSettingActivity extends Activity {
                 PasswordDialogHelper.showPasswordDialog(_this, new PasswordDialogHelper.ClickListener() {
                     @Override
                     public void onConfirm() {
-                        SystemDialogHelper.showDialog(_this,"本机号码");
+                        SystemDialogHelper.showDialog(_this,getString(R.string.phone_number_title));
 //                        PhoneNumberDialogHelper.showDialog(_this);
                     }
                 });

+ 20 - 19
android_mobile/src/main/java/com/wdkl/ncs/android/component/home/adapter/CallRecordsItemAdapter.kt

@@ -15,6 +15,7 @@ import com.wdkl.ncs.android.lib.utils.TimeHandle
 import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 
 
 /**
@@ -86,9 +87,9 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
                  //呼出
                  if (itemData.fromDeviceId == Constant.DEVICE_ID){
                      binding.tabImagev.setImageResource(R.mipmap.huchu)
-                     binding.callRecordsItemTitle.text = "呼出-"+itemData.toDeviceName
+                     binding.callRecordsItemTitle.text = StringUtil.getResString(R.string.str_outgoing_call)+"-"+itemData.toDeviceName
                      if (itemData.actionEnd != null && itemData.actionAccept != null) {
-                         binding.callRecordsItemType.text = "已接通"
+                         binding.callRecordsItemType.text = StringUtil.getResString(R.string.str_accept_call)
                          binding.callRecordsItemType.setTextColor(Color.parseColor("#2EA22A"));
                          binding.callRecordsItemCall.visibility = View.VISIBLE
                          binding.callRecordsItemPlay.visibility = View.GONE
@@ -97,7 +98,7 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
                          binding.callRecordsItemCall.background= null
                          binding.callRecordsItemCall.text = TimeHandle.getDateTime(itemData.actionEnd * 1000, "HH:mm")
                      }else{
-                         binding.callRecordsItemType.text = "未接听"
+                         binding.callRecordsItemType.text =StringUtil.getResString(R.string.str_missed_call)
                          binding.callRecordsItemType.setTextColor(Color.parseColor("#E82222"));
                          binding.callRecordsItemCall.visibility = View.VISIBLE
                          binding.callRecordsItemPlay.visibility = View.GONE
@@ -110,9 +111,9 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
                  }else{
                      //呼入
                      binding.tabImagev.setImageResource(R.mipmap.huru)
-                     binding.callRecordsItemTitle.text = "呼入-"+itemData.toDeviceName
+                     binding.callRecordsItemTitle.text =  StringUtil.getResString(R.string.str_incoming_call)+"-"+itemData.toDeviceName
                      if (itemData.actionEnd != null && itemData.actionAccept != null) {
-                         binding.callRecordsItemType.text = "已接通"
+                         binding.callRecordsItemType.text =  StringUtil.getResString(R.string.str_accept_call)
                          binding.callRecordsItemType.setTextColor(Color.parseColor("#2EA22A"));
                          binding.callRecordsItemCall.visibility = View.VISIBLE
                          binding.callRecordsItemPlay.visibility = View.GONE
@@ -121,7 +122,7 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
                          binding.callRecordsItemCall.background= null
                          binding.callRecordsItemCall.text = TimeHandle.getDateTime(itemData.actionEnd * 1000, "HH:mm")
                      }else{
-                         binding.callRecordsItemType.text = "未接听"
+                         binding.callRecordsItemType.text = StringUtil.getResString(R.string.str_missed_call)
                          binding.callRecordsItemType.setTextColor(Color.parseColor("#E82222"));
                          binding.callRecordsItemCall.visibility = View.VISIBLE
                          binding.callRecordsItemPlay.visibility = View.GONE
@@ -135,14 +136,14 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
 
              }else if (TcpType.SOS.name == itemData.actionType){
                  binding.tabImagev.setImageResource(R.mipmap.sos)
-                 binding.callRecordsItemTitle.text = "SOS呼叫"
+                 binding.callRecordsItemTitle.text = StringUtil.getResString(R.string.mobile_title_3)
                  if (itemData.actionEnd != null) {
-                     binding.callRecordsItemType.text = "已响应"
+                     binding.callRecordsItemType.text =StringUtil.getResString(R.string.event_responded)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#2EA22A"));
                      binding.callRecordsItemCall.visibility = View.GONE
                      binding.callRecordsItemPlay.visibility = View.GONE
                  }else{
-                     binding.callRecordsItemType.text = "未响应"
+                     binding.callRecordsItemType.text =StringUtil.getResString(R.string.event_undo)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#E82222"));
                      binding.callRecordsItemCall.visibility = View.VISIBLE
                      binding.callRecordsItemPlay.visibility = View.GONE
@@ -154,14 +155,14 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
                  }
              }else if (TcpType.REINFORCE.name == itemData.actionType){
                  binding.tabImagev.setImageResource(R.mipmap.sos)
-                 binding.callRecordsItemTitle.text = "增援请求"
+                 binding.callRecordsItemTitle.text = StringUtil.getResString(R.string.str_supports)
                  if (itemData.actionEnd != null) {
-                     binding.callRecordsItemType.text = "已响应"
+                     binding.callRecordsItemType.text = StringUtil.getResString(R.string.event_responded)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#2EA22A"));
                      binding.callRecordsItemCall.visibility = View.GONE
                      binding.callRecordsItemPlay.visibility = View.GONE
                  }else{
-                     binding.callRecordsItemType.text = "未响应"
+                     binding.callRecordsItemType.text =StringUtil.getResString(R.string.event_undo)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#E82222"));
                      binding.callRecordsItemPlay.visibility = View.GONE
                      binding.callRecordsItemCall.visibility = View.VISIBLE
@@ -173,18 +174,18 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
                  }
              }else if (TcpType.EVENT.name == itemData.actionType){
                  binding.tabImagev.setImageResource(R.mipmap.shijianr)
-                 binding.callRecordsItemTitle.text = itemData.data+"-事件呼叫"
+                 binding.callRecordsItemTitle.text = itemData.data+"-"+StringUtil.getResString(R.string.mobile_title_4)
                  if (itemData.actionEnd != null) {
-                     binding.callRecordsItemType.text = "已响应"
+                     binding.callRecordsItemType.text = StringUtil.getResString(R.string.event_responded)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#2EA22A"));
                      binding.callRecordsItemPlay.visibility = View.GONE
                      binding.callRecordsItemCall.visibility = View.VISIBLE
-                     binding.callRecordsItemCall.text = "确认完成"
+                     binding.callRecordsItemCall.text =StringUtil.getResString(R.string.str_event_done)
                      binding.callRecordsItemCall.setTextSize(TypedValue.COMPLEX_UNIT_SP, 9f)
                      binding.callRecordsItemCall.setTextColor(Color.parseColor("#FFFFFF"));
                      binding.callRecordsItemCall.setBackgroundResource(R.drawable.shape_reinforcements_dialog_bt_bg)
                  }else{
-                     binding.callRecordsItemType.text = "未响应"
+                     binding.callRecordsItemType.text =  StringUtil.getResString(R.string.event_undo)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#E82222"));
                      binding.callRecordsItemPlay.visibility = View.GONE
                      binding.callRecordsItemCall.visibility = View.VISIBLE
@@ -196,14 +197,14 @@ class CallRecordsItemAdapter(var data: ArrayList<InteractionVO>) : BaseDelegateA
                  }
              }else if (TcpType.IM.name == itemData.actionType){
                  binding.tabImagev.setImageResource(R.mipmap.yyly_type)
-                 binding.callRecordsItemTitle.text = "语音留言"
+                 binding.callRecordsItemTitle.text = StringUtil.getResString(R.string.event_voice_msg)
                  if (itemData.actionEnd != null) {
-                     binding.callRecordsItemType.text = "已播放"
+                     binding.callRecordsItemType.text =  StringUtil.getResString(R.string.str_voice_msg_done)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#2EA22A"));
                      binding.callRecordsItemCall.visibility = View.GONE
                      binding.callRecordsItemPlay.visibility = View.VISIBLE
                  }else{
-                     binding.callRecordsItemType.text = "未播放"
+                     binding.callRecordsItemType.text =  StringUtil.getResString(R.string.str_voice_msg_undo)
                      binding.callRecordsItemType.setTextColor(Color.parseColor("#E82222"));
                      binding.callRecordsItemCall.visibility = View.GONE
                      binding.callRecordsItemPlay.visibility = View.VISIBLE

+ 2 - 1
android_mobile/src/main/java/com/wdkl/ncs/android/component/home/adapter/ChannelImItemAdapter.kt

@@ -19,6 +19,7 @@ import com.wdkl.ncs.android.middleware.model.dos.ChannelImDO
 import com.wdkl.ncs.android.middleware.model.vo.ChannelIMVO
 import com.wdkl.ncs.android.middleware.tcp.TcpClient
 import com.wdkl.ncs.android.middleware.tcp.channel.ChannelImUtil
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 import org.greenrobot.eventbus.EventBus
 
 
@@ -72,7 +73,7 @@ class ChannelImItemAdapter(val data: ArrayList<ChannelIMVO>, val imActivity: Act
             val pos = holder.adapterPosition
             val itemData = getItem(pos)
 
-            binding.imSickbedItemTime.text = TimeTransition().stampToTime(itemData.sendTime*1000)+"发送"
+            binding.imSickbedItemTime.text = TimeTransition().stampToTime(itemData.sendTime*1000)+ StringUtil.getResString(R.string.str_send)
             binding.imSickbedItemName.text = itemData.senderMemberName
             /*if (itemData.is_self) {
                 binding.imTreatmentStateImagev.visibility = View.GONE

+ 2 - 1
android_mobile/src/main/java/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt

@@ -30,6 +30,7 @@ import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpCallback
 import com.wdkl.ncs.android.middleware.tcp.enums.CommunicationEnum
 import com.wdkl.ncs.android.middleware.utils.CommonUtils
+import com.wdkl.ncs.android.middleware.utils.StringUtil
 
 class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>, val context: Context) : BaseDelegateAdapter<BaseRecyclerViewHolder<AdapterWatchContactsItemBinding>, WatchContactsVO>(){
 
@@ -71,7 +72,7 @@ class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>, val context:
         holder.bind {
             binding ->
             val itemData = getItem(position)
-            binding.adapterContactsItemRoom.text = CommonUtils.subStringAfter3(itemData.frameFullName, "-")+"房"
+            binding.adapterContactsItemRoom.text = CommonUtils.subStringAfter3(itemData.frameFullName, "-")+ StringUtil.getResString(R.string.mobile_title_5)
             binding.adapterContactsItemBed.text = CommonUtils.subStringAfter(itemData.frameFullName, "-")
             binding.adapterContactsItemName.text = itemData.customerNamed
 

+ 1 - 1
android_mobile/src/main/java/com/wdkl/ncs/android/component/home/dialog/ServicesDialogHelper.java

@@ -36,7 +36,7 @@ public class ServicesDialogHelper {
         server_determine_button.setOnClickListener(v -> {
             if (alertDialog != null && alertDialog.isShowing()) {
                 if(server_ed.getText().toString().equals("")){
-                    showMessage("服务器地址不能为空");
+                    showMessage(R.string.str_server_ip_empty);
                     return;
                 }
 

+ 3 - 3
android_mobile/src/main/res/layout/adapter_channel_im_records_item.xml

@@ -32,7 +32,7 @@
                 android:textSize="@dimen/font_size_35"
                 android:textColor="@color/black"
                 android:textStyle="bold"
-                android:text="张晓芬"
+                android:text="---"
                 />
             <LinearLayout
                 android:layout_width="wrap_content"
@@ -49,7 +49,7 @@
                     android:paddingRight="@dimen/d10"
                     android:textSize="@dimen/font_size_18"
                     android:textColor="@color/text_black"
-                    android:text="2023/06/03 17:32 发送"
+                    android:text="-------"
                     />
 
             </LinearLayout>
@@ -67,7 +67,7 @@
             android:paddingRight="@dimen/d20"
             android:textSize="@dimen/font_size_18"
             android:textColor="@color/white"
-            android:text="播放"
+            android:text="@string/str_play"
             android:drawableLeft="@mipmap/im_bo"
             android:drawablePadding="@dimen/d5"
             android:clickable="true"

+ 7 - 7
android_mobile/src/main/res/layout/adapter_watch_contacts_item.xml

@@ -23,7 +23,7 @@
                 android:textSize="@dimen/font_size_35"
                 android:textColor="@color/white"
                 android:textStyle="bold"
-                android:text="066房"
+                android:text="----"
                 />
             <TextView
                 android:id="@+id/adapter_contacts_item_bed"
@@ -32,7 +32,7 @@
                 android:textSize="@dimen/font_size_35"
                 android:textColor="@color/white"
                 android:textStyle="bold"
-                android:text="066床"
+                android:text="---"
                 />
 
         </LinearLayout>
@@ -52,7 +52,7 @@
                 android:textSize="@dimen/font_size_35"
                 android:textColor="@color/black"
                 android:textStyle="bold"
-                android:text="张晓芬"
+                android:text="---"
                 />
             <LinearLayout
                 android:layout_width="wrap_content"
@@ -71,7 +71,7 @@
                     android:textSize="@dimen/font_size_18"
                     android:textColor="@color/white"
                     android:visibility="gone"
-                    android:text="护士"
+                    android:text="--"
                     />
                 <TextView
                     android:id="@+id/adapter_contacts_item_age"
@@ -84,7 +84,7 @@
                     android:background="@drawable/shape_take_item_age_bg"
                     android:textSize="@dimen/font_size_18"
                     android:textColor="@color/white"
-                    android:text=""
+                    android:text="--"
                     android:visibility="gone"
                     android:layout_marginLeft="@dimen/d18"
                     />
@@ -105,7 +105,7 @@
             android:layout_marginRight="@dimen/d10"
             android:textSize="@dimen/font_size_18"
             android:textColor="@color/white"
-            android:text="留言"
+            android:text="@string/mobile_title_1"
             android:drawableLeft="@mipmap/ly"
             android:drawablePadding="@dimen/d5"
             android:layout_centerVertical="true"
@@ -125,7 +125,7 @@
             android:paddingRight="@dimen/d20"
             android:textSize="@dimen/font_size_18"
             android:textColor="@color/white"
-            android:text="呼叫"
+            android:text="@string/str_call"
             android:drawableLeft="@mipmap/hu"
             android:drawablePadding="@dimen/d5"
             android:clickable="true"

+ 7 - 7
android_mobile/src/main/res/layout/event_list_item.xml

@@ -22,7 +22,7 @@
             android:layout_height="wrap_content"
             android:textColor="@color/black"
             android:layout_marginTop="@dimen/d10"
-            android:text="换药水"
+            android:text="--"
             android:textStyle="bold"
             android:textSize="@dimen/font_size_24"/>
 
@@ -38,7 +38,7 @@
             android:layout_marginStart="3dp"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="03房05床"
+            android:text="----"
             android:textColor="@color/black"
             android:textStyle="bold"
             android:textSize="@dimen/font_size_24"/>
@@ -47,7 +47,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="@dimen/d10"
-            android:text="张晓丽呼叫"
+            android:text="----"
             android:textColor="@color/black"
             android:textStyle="bold"
             android:textSize="@dimen/font_size_24"/>
@@ -73,7 +73,7 @@
                 android:layout_marginRight="@dimen/d10"
                 android:textSize="@dimen/font_size_22"
                 android:textColor="@color/white"
-                android:text="留言"
+                android:text="@string/mobile_title_1"
                 android:drawableLeft="@mipmap/ly"
                 android:drawablePadding="@dimen/d5"
                 android:layout_centerVertical="true"
@@ -94,7 +94,7 @@
                 android:paddingRight="@dimen/d30"
                 android:textSize="@dimen/font_size_22"
                 android:textColor="@color/white"
-                android:text="呼叫"
+                android:text="@string/str_call"
                 android:drawableLeft="@mipmap/hu"
                 android:drawablePadding="@dimen/d10"
                 android:clickable="true"
@@ -114,7 +114,7 @@
                 android:paddingRight="@dimen/d30"
                 android:textSize="@dimen/font_size_22"
                 android:textColor="@color/white"
-                android:text="立即响应"
+                android:text="@string/mobile_title_2"
                 android:clickable="true"
                 android:visibility="gone"
                 android:background="@drawable/shape_main_hos_txt_bg"
@@ -132,7 +132,7 @@
                 android:paddingRight="@dimen/d40"
                 android:textSize="@dimen/font_size_22"
                 android:textColor="@color/white"
-                android:text="播放"
+                android:text="@string/str_play"
                 android:visibility="gone"
                 android:drawableLeft="@mipmap/im_bo"
                 android:drawablePadding="@dimen/d10"

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

@@ -50,7 +50,7 @@
                     android:background="@drawable/shape_take_item_type_bg"
                     android:textSize="@dimen/font_size_18"
                     android:textColor="@color/white"
-                    android:text="护士"
+                    android:text="--"
                     />
                 <TextView
                     android:id="@+id/take_over_item_age"
@@ -63,7 +63,7 @@
                     android:background="@drawable/shape_take_item_age_bg"
                     android:textSize="@dimen/font_size_18"
                     android:textColor="@color/white"
-                    android:text=""
+                    android:text="--"
                     android:layout_marginLeft="@dimen/d18"
                     />
 
@@ -83,7 +83,7 @@
             android:layout_marginRight="@dimen/d10"
             android:textSize="@dimen/font_size_18"
             android:textColor="@color/white"
-            android:text="留言"
+            android:text="@string/mobile_title_1"
             android:drawableLeft="@mipmap/ly"
             android:drawablePadding="@dimen/d5"
             android:layout_centerVertical="true"
@@ -125,7 +125,7 @@
             android:paddingRight="@dimen/d20"
             android:textSize="@dimen/font_size_18"
             android:textColor="@color/white"
-            android:text="呼叫"
+            android:text="@string/str_call"
             android:drawableLeft="@mipmap/hu"
             android:drawablePadding="@dimen/d5"
             android:clickable="true"

+ 8 - 8
android_mobile/src/main/res/layout/user_setting_layout.xml

@@ -44,7 +44,7 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_toRightOf="@+id/settings_img1"
-                        android:text="设备信息"
+                        android:text="@string/str_device_info"
                         android:textSize="@dimen/font_size_24"
                         android:textColor="@color/black"
                         android:textStyle="bold"
@@ -231,7 +231,7 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_weight="0.4"
-                            android:text="服务器ID"
+                            android:text="@string/server_title"
                             android:textColor="@color/txt_setting"
                             android:textSize="@dimen/font_size_22"
                             android:layout_marginLeft="@dimen/d12"
@@ -265,7 +265,7 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_weight="0.4"
-                            android:text="语音ID"
+                            android:text="SIP ID:"
                             android:textColor="@color/txt_setting"
                             android:textSize="@dimen/font_size_22"
                             android:layout_marginLeft="@dimen/d12"
@@ -309,7 +309,7 @@
                             android:layout_height="wrap_content"
                             android:layout_weight="1"
 
-                            android:text="000类型"
+                            android:text="000"
                             android:textColor="@color/txt_setting"
                             android:textSize="@dimen/font_size_22" />
                     </LinearLayout>
@@ -330,7 +330,7 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_weight="0.4"
-                            android:text="语音服务器"
+                            android:text="SIP server:"
                             android:textColor="@color/txt_setting"
                             android:textSize="@dimen/font_size_22"
                             android:layout_marginLeft="@dimen/d12"
@@ -341,7 +341,7 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_weight="1"
-                            android:text="服务器"
+                            android:text="---"
                             android:textColor="@color/txt_setting"
                             android:textSize="@dimen/font_size_22" />
                     </LinearLayout>
@@ -362,7 +362,7 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_weight="0.4"
-                            android:text="APP版本"
+                            android:text="APP version"
                             android:textColor="@color/txt_setting"
                             android:textSize="@dimen/font_size_22"
                             android:layout_marginLeft="@dimen/d12"
@@ -396,7 +396,7 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_weight="0.4"
-                            android:text="发布日期"
+                            android:text="@string/str_app_release_date"
                             android:textColor="@color/txt_setting"
                             android:textSize="@dimen/font_size_22"
                             android:layout_marginLeft="@dimen/d12"

+ 1 - 1
android_mobile/src/main/res/layout/view_title_layout.xml

@@ -30,7 +30,7 @@
         android:layout_height="wrap_content"
         android:layout_centerHorizontal="true"
         android:layout_centerVertical="true"
-        android:text="首页"
+        android:text="@string/str_home"
         android:textSize="@dimen/font_size_24"
         android:textStyle="bold"
         android:clickable="true"

+ 12 - 10
android_mobile/src/main/res/layout/watch_activity_home2.xml

@@ -57,7 +57,7 @@
                         android:textSize="@dimen/font_size_28"
                         android:textColor="@color/white"
                         android:textStyle="bold"
-                        android:text="张晓芬"
+                        android:text="@string/data_empty"
 
                         />
 
@@ -78,7 +78,7 @@
                             android:background="@drawable/shape_main_age_bg"
                             android:textSize="@dimen/font_size_18"
                             android:textColor="@color/white"
-                            android:text="23岁"
+                            android:text="--"
                             />
                         <TextView
                             android:id="@+id/watch_activity_home_job"
@@ -91,7 +91,7 @@
                             android:background="@drawable/shape_main_age_bg"
                             android:textSize="@dimen/font_size_18"
                             android:textColor="@color/white"
-                            android:text="骨科护士"
+                            android:text="---"
                             android:layout_marginLeft="@dimen/d18"
 
                             />
@@ -111,7 +111,7 @@
                     android:paddingRight="@dimen/d20"
                     android:textSize="@dimen/font_size_18"
                     android:textColor="@color/txt_number"
-                    android:text="系统设置"
+                    android:text="@string/str_system_settings"
                     android:layout_alignParentRight="true"
                     android:layout_centerVertical="true"
                     android:layout_marginLeft="@dimen/d18"
@@ -125,6 +125,7 @@
                 android:layout_height="match_parent"
                 android:layout_below="@+id/watch_activity_home_top_view"
                 android:orientation="vertical"
+
                 android:background="@drawable/shape_main_bottom_bg"
                 >
 
@@ -149,7 +150,7 @@
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="通话列表"
+                            android:text="@string/mobile_title_6"
                             android:textStyle="bold"
                             android:textColor="@color/white"
                             android:textSize="@dimen/font_size_24"
@@ -158,7 +159,7 @@
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="来电/未接/呼出"
+                            android:text="@string/mobile_title_7"
                             android:textColor="@color/white"
                             android:textSize="@dimen/font_size_12"
                             android:layout_marginTop="@dimen/d10"
@@ -188,7 +189,7 @@
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="负责的病人"
+                            android:text="@string/mobile_title_8"
                             android:textColor="@color/white"
                             android:textSize="@dimen/font_size_12"
                             android:layout_marginTop="@dimen/d10"
@@ -221,7 +222,7 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_toRightOf="@+id/watch_activity_home_msg_img"
-                        android:text="群留言列表"
+                        android:text="@string/group_message"
                         android:textColor="@color/black"
                         android:textSize="@dimen/font_size_24"
                         android:layout_marginLeft="@dimen/d30"
@@ -277,7 +278,7 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_toRightOf="@+id/watch_activity_home_room_img"
-                        android:text="房间列表"
+                        android:text="@string/mobile_title_9"
                         android:textColor="@color/black"
                         android:textSize="@dimen/font_size_24"
                         android:layout_marginLeft="@dimen/d30"
@@ -380,6 +381,7 @@
                 android:paddingBottom="@dimen/d20"
                 android:paddingLeft="@dimen/d30"
                 android:paddingRight="@dimen/d30"
+
                 android:background="@drawable/shape_main_hos_txt_bg"
                 >
 
@@ -420,7 +422,7 @@
                         android:id="@+id/watch_activity_home_btoom_type"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="未托管"
+                        android:text="@string/mobile_msg_2"
                         android:textColor="@color/white"
                         android:textSize="@dimen/font_size_16"
                         android:layout_marginLeft="@dimen/d10"

+ 80 - 87
android_mobile/src/main/res/layout/watch_activity_register.xml

@@ -5,14 +5,16 @@
     android:layout_height="match_parent"
     android:background="@mipmap/activation_p_bg"
     android:padding="10dp"
+
    >
 
 
     <TextView
         android:id="@+id/activation_title"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:text="请先激活设备"
+        android:gravity="center"
+        android:text="@string/str_check_activation"
         android:textStyle="bold"
         android:textSize="@dimen/font_size_45"
         android:textColor="@color/white"
@@ -24,7 +26,7 @@
         android:id="@+id/activation_title_msg"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="设置参数后激活"
+        android:text="@string/str_set_active_param"
         android:textSize="@dimen/font_size_28"
         android:textColor="@color/white"
         android:layout_below="@+id/activation_title"
@@ -46,7 +48,7 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="智能健康 关爱互联系统"
+            android:text="@string/str_data_care"
             android:textSize="@dimen/font_size_35"
             android:textColor="@color/black"
             android:textStyle="bold"
@@ -56,7 +58,7 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="扫描二维码进行激活"
+            android:text="@string/str_scan_qr_code"
             android:textSize="@dimen/font_size_10"
             android:textColor="@color/black"
             android:visibility="gone"
@@ -69,161 +71,152 @@
             android:visibility="gone"
             android:layout_marginTop="@dimen/d10" />
 
-        <LinearLayout
+
+        <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layout_marginTop="@dimen/d30"
-            android:layout_marginLeft="@dimen/d90">
+            android:layout_marginTop="@dimen/d15">
 
             <TextView
+                android:id="@+id/activation_v_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="当前版本号:"
-                android:textSize="@dimen/font_size_24"
+                android:layout_marginLeft="@dimen/d118"
+                android:text="@string/str_version"
                 android:textColor="@color/black"
+                android:textSize="@dimen/font_size_24"
                 android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/activation_v"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="V1.0.1.0"
                 android:layout_marginLeft="@dimen/d10"
-                android:textSize="@dimen/font_size_20"
-                android:textColor="@color/txt_setting" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layout_marginLeft="@dimen/d140"
-            android:layout_marginTop="@dimen/d15">
+                android:layout_toRightOf="@+id/activation_v_title"
+                android:text="V1.1.1"
+                android:textColor="@color/txt_setting"
+                android:textSize="@dimen/font_size_20" />
 
             <TextView
+                android:id="@+id/activation_ip_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="本机IP:"
-                android:textSize="@dimen/font_size_24"
+                android:layout_alignRight="@+id/activation_v_title"
+                android:layout_below="@+id/activation_v_title"
+                android:layout_marginTop="@dimen/d15"
+                android:text="@string/str_ip"
                 android:textColor="@color/black"
+                android:textSize="@dimen/font_size_24"
                 android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/activation_ip"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="192.168.0.0"
+                android:layout_below="@+id/activation_v_title"
                 android:layout_marginLeft="@dimen/d10"
-                android:textSize="@dimen/font_size_20"
-                android:textColor="@color/txt_setting" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layout_marginLeft="@dimen/d162"
-            android:layout_marginTop="@dimen/d15">
+                android:layout_marginTop="@dimen/d15"
+                android:layout_toRightOf="@+id/activation_ip_title"
+                android:text="192.168.0.0"
+                android:textColor="@color/txt_setting"
+                android:textSize="@dimen/font_size_20" />
 
             <TextView
+                android:id="@+id/activation_wg_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="网关:"
-                android:textSize="@dimen/font_size_24"
+                android:layout_alignRight="@+id/activation_ip_title"
+                android:layout_below="@+id/activation_ip_title"
+                android:layout_marginTop="@dimen/d15"
+                android:text="@string/str_gateway"
                 android:textColor="@color/black"
+                android:textSize="@dimen/font_size_24"
                 android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/activation_wg"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="192.168.0.0"
+                android:layout_below="@+id/activation_ip_title"
                 android:layout_marginLeft="@dimen/d10"
-                android:textSize="@dimen/font_size_20"
-                android:textColor="@color/txt_setting" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layout_marginLeft="@dimen/d162"
-            android:layout_marginTop="@dimen/d15">
+                android:layout_marginTop="@dimen/d15"
+                android:layout_toRightOf="@+id/activation_wg_title"
+                android:text="192.168.0.0"
+                android:textColor="@color/txt_setting"
+                android:textSize="@dimen/font_size_20" />
 
             <TextView
+                android:id="@+id/activation_ym_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="掩码:"
-                android:textSize="@dimen/font_size_24"
+                android:layout_alignRight="@+id/activation_wg_title"
+                android:layout_below="@+id/activation_wg_title"
+                android:layout_marginTop="@dimen/d15"
+                android:text="@string/str_netmask"
                 android:textColor="@color/black"
+                android:textSize="@dimen/font_size_24"
                 android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/activation_ym"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="192.168.0.0"
+                android:layout_below="@+id/activation_wg_title"
                 android:layout_marginLeft="@dimen/d10"
-                android:textSize="@dimen/font_size_20"
-                android:textColor="@color/txt_setting" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layout_marginLeft="@dimen/d140"
-            android:layout_marginTop="@dimen/d15">
+                android:layout_marginTop="@dimen/d15"
+                android:layout_toRightOf="@+id/activation_ym_title"
+                android:text="192.168.0.0"
+                android:textColor="@color/txt_setting"
+                android:textSize="@dimen/font_size_20" />
 
             <TextView
+                android:id="@+id/activation_zcm_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="注册码:"
-                android:textSize="@dimen/font_size_24"
+                android:layout_alignRight="@+id/activation_ym_title"
+                android:layout_below="@+id/activation_ym_title"
+                android:layout_marginTop="@dimen/d15"
+                android:text="@string/str_register_id"
                 android:textColor="@color/black"
+                android:textSize="@dimen/font_size_24"
                 android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/activation_zcm"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="192.168.0.0"
+                android:layout_below="@+id/activation_ym_title"
                 android:layout_marginLeft="@dimen/d10"
-                android:textSize="@dimen/font_size_20"
-                android:textColor="@color/txt_setting" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layout_marginLeft="@dimen/d116"
-            android:layout_marginTop="@dimen/d15">
+                android:layout_marginTop="@dimen/d15"
+                android:layout_toRightOf="@+id/activation_zcm_title"
+                android:text="192.168.0.0"
+                android:textColor="@color/txt_setting"
+                android:textSize="@dimen/font_size_20" />
 
             <TextView
+                android:id="@+id/activation_fuq_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="服务器IP:"
-                android:textSize="@dimen/font_size_24"
+                android:layout_alignRight="@+id/activation_zcm_title"
+                android:layout_below="@+id/activation_zcm_title"
+                android:layout_marginTop="@dimen/d15"
+                android:text="@string/str_server_ip"
                 android:textColor="@color/black"
+                android:textSize="@dimen/font_size_24"
                 android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/activation_fuq"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="192.168.0.0"
+                android:layout_below="@+id/activation_zcm_title"
                 android:layout_marginLeft="@dimen/d10"
-                android:textSize="@dimen/font_size_20"
-                android:textColor="@color/txt_setting" />
-
-        </LinearLayout>
+                android:layout_marginTop="@dimen/d15"
+                android:layout_toRightOf="@+id/activation_fuq_title"
+                android:text="192.168.0.0"
+                android:textColor="@color/txt_setting"
+                android:textSize="@dimen/font_size_20" />
+        </RelativeLayout>
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -267,7 +260,7 @@
                 android:layout_weight="1"
                 android:background="@drawable/shape_main_hos_txt_bg"
                 android:gravity="center"
-                android:text="系统设置"
+                android:text="@string/system_settings"
                 android:textColor="@color/white"
                 android:textSize="16sp" />
 

+ 12 - 15
build.gradle

@@ -47,19 +47,19 @@ buildscript {
     /**
      * 配置要打包的模块
      */
-    ext.callingdoor = true
+    ext.callingdoor = false
     ext.android_bed = false
-    ext.android_host = false
+    ext.android_host = true
     ext.android_mobile = false
     ext.android_visiting = false
     ext.is_mom = false
     /**
      * 配置默认是否启动的设备
      */
-    //床垫
+    //分机-床垫
     ext.open_sleep = false
 
-    //433
+    //分机-433
     ext.open_433 = false
 
     //设备类型  0 医院 1 月子中心 2 养老院 3 公寓
@@ -68,13 +68,10 @@ buildscript {
     //设备类型  0 4g 1 串口 2 蓝牙 3 wifi
     ext.sleep_type = "0"
 
-    //声网探视
-    ext.is_agora = false
-    //广播
-    ext.is_broadcast =false
-
-
-
+    //护士主机——声网探视
+    ext.is_agora = true
+    //护士主机——广播
+    ext.is_broadcast =true
 
     if (callingdoor) {
         //门口机
@@ -82,12 +79,12 @@ buildscript {
         ext.app_version = "1.3.5"
     } else if (android_bed) {
         //分机
-        ext.app_version_code =105
-        ext.app_version = "1.3.5"
+        ext.app_version_code =106
+        ext.app_version = "1.3.6"
     } else if (android_host) {
         //主机
-        ext.app_version_code = 103
-        ext.app_version = "1.3.3"
+        ext.app_version_code = 104
+        ext.app_version = "1.3.4"
     } else if (android_mobile) {
         //移动端
         ext.app_version_code = 100

+ 40 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/entity/BringItem.java

@@ -0,0 +1,40 @@
+package com.wdkl.ncs.android.middleware.entity;
+
+import com.wdkl.ncs.android.middleware.model.vo.InteractionVO;
+import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction;
+
+public class BringItem {
+    private String bId;
+    private String id;
+
+    public BringItem(String bId,String id) {
+        this.bId = bId;
+        this.id = id;
+
+    }
+
+
+    @Override
+    public String toString() {
+        return "BringItem{" +
+                "bId='" + bId + '\'' +
+                ", id='" + id + '\'' +
+                '}';
+    }
+
+    public String getbId() {
+        return bId;
+    }
+
+    public void setbId(String bId) {
+        this.bId = bId;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}

resource/src/main/res/mipmap-xhdpi/nfc.png → resource/src/main/res/mipmap-mdpi/nfc.jpeg


resource/src/main/res/mipmap-xxxhdpi/nfc.png → resource/src/main/res/mipmap-xhdpi/nfc.jpeg


BIN
resource/src/main/res/mipmap-xxxhdpi/nfc.jpeg


+ 14 - 0
resource/src/main/res/values-es/strings.xml

@@ -604,5 +604,19 @@
     <string name="set_hint_2">Mostrar en la Pantalla de Bloqueo</string>
     <string name="set_huli_2">Entrar en Cuidados para esta Cama</string>
 
+    <string name="mobile_title_1">Mensaje</string>
+    <string name="mobile_title_2">Respuesta Inmediata</string>
+    <string name="mobile_title_3">Llamada de Emergencia (SOS)</string>
+    <string name="mobile_title_4">Llamada de Evento</string>
+    <string name="mobile_title_5">Habitación</string>
+    <string name="mobile_title_6">Lista de Llamadas</string>
+    <string name="mobile_title_7">Llamadas Entrantes/Perdidas/Salientes</string>
+    <string name="mobile_title_8">Paciente Responsable</string>
+    <string name="mobile_title_9">Lista de Habitaciones</string>
+    <string name="mobile_msg_1">Hospedado</string>
+    <string name="mobile_msg_2">No Hospedado</string>
+    <string name="str_settings">Ajustes</string>
+
+
 
 </resources>

+ 14 - 0
resource/src/main/res/values-ru/strings.xml

@@ -591,4 +591,18 @@
     <string name="set_hint_2">Отображение на Экране Блокировки</string>
     <string name="set_huli_2">Войти в Уход за этой Койкой</string>
 
+    <string name="mobile_title_1">Сообщение</string>
+    <string name="mobile_title_2">Немедленный Отклик</string>
+    <string name="mobile_title_3">Вызов SOS</string>
+    <string name="mobile_title_4">Вызов События</string>
+    <string name="mobile_title_5">Комната</string>
+    <string name="mobile_title_6">Список звонков</string>
+    <string name="mobile_title_7">Входящие/Пропущенные/Исходящие Звонки</string>
+    <string name="mobile_title_8">Ответственный Пациент</string>
+    <string name="mobile_title_9">Список Комнат</string>
+    <string name="mobile_msg_1">Хостинг</string>
+    <string name="mobile_msg_2">Не размещено</string>
+    <string name="str_settings">Настройки</string>
+
+
 </resources>

+ 16 - 4
resource/src/main/res/values-zh/strings.xml

@@ -27,7 +27,7 @@
     <string name="tips_reboot">请重启设备</string>
     <string name="str_replace">替换</string>
     <string name="call_window_title">通话</string>
-    <string name="str_missed_call">未接</string>
+    <string name="str_missed_call">未接</string>
     <string name="str_all_call">全部</string>
     <string name="str_other_call">其他</string>
     <string name="str_interaction_record">交互记录</string>
@@ -288,7 +288,7 @@
 
     <string name="str_activated">已激活</string>
     <string name="str_check_activation">请先激活设备</string>
-    <string name="str_set_active_param">设置右侧参数后激活</string>
+    <string name="str_set_active_param">设置参数后激活</string>
     <string name="str_reboot_active">请重启后完成激活</string>
     <string name="connect_server_failed">服务器连接失败</string>
     <string name="connect_check">请检查网络或服务器地址</string>
@@ -389,7 +389,7 @@
     <string name="str_incoming_call">呼入-</string>
     <string name="str_outgoing_call">呼出-</string>
     <string name="str_event_title">事件-</string>
-    <string name="str_accept_call">已接</string>
+    <string name="str_accept_call">已接</string>
     <string name="str_voice_msg_done">已播放</string>
     <string name="str_voice_msg_undo">未播放</string>
 
@@ -613,5 +613,17 @@
     <string name="set_hint_2">锁屏显示</string>
     <string name="set_huli_2">该房病床进入护理</string>
 
-
+<!--    //移动端-->
+    <string name="mobile_title_1">留言</string>
+    <string name="mobile_title_2">立即响应</string>
+    <string name="mobile_title_3">sos呼叫</string>
+    <string name="mobile_title_4">事件呼叫</string>
+    <string name="mobile_title_5">房</string>
+    <string name="mobile_title_6">通话列表</string>
+    <string name="mobile_title_7">来电/未接/呼出</string>
+    <string name="mobile_title_8">负责的病人</string>
+    <string name="mobile_title_9">房间列表</string>
+    <string name="mobile_msg_1">托管</string>
+    <string name="mobile_msg_2">未托管</string>
+    <string name="str_settings">设置</string>
 </resources>

+ 15 - 0
resource/src/main/res/values/strings.xml

@@ -605,4 +605,19 @@
     <string name="set_hint_2">Lock Screen Display</string>
     <string name="set_huli_2">Enter Nursing for This Bed</string>
 
+
+    <string name="mobile_title_1">Message</string>
+    <string name="mobile_title_2">Immediate Response</string>
+    <string name="mobile_title_3">SOS Call</string>
+    <string name="mobile_title_4">Event Call</string>
+    <string name="mobile_title_5">Room</string>
+    <string name="mobile_title_6">Call List</string>
+    <string name="mobile_title_7">Incoming/Missed/Outgoing Calls</string>
+    <string name="mobile_title_8">Responsible Patient</string>
+    <string name="mobile_title_9">Room List</string>
+    <string name="mobile_msg_1">Hosted</string>
+    <string name="mobile_msg_2">Not Hosted</string>
+    <string name="str_settings">Settings</string>
+
+
 </resources>