浏览代码

<修改一些状态显示>

weizhengliang 4 年之前
父节点
当前提交
d74c233d83

+ 3 - 0
app/src/main/code/com/wdkl/app/ncs/application/Application.kt

@@ -7,6 +7,7 @@ import com.enation.javashop.net.engine.plugin.exception.RestfulExceptionIntercep
 import com.enation.javashop.utils.base.config.BaseConfig
 import com.wdkl.core.socket.SocketManager
 import com.wdkl.core.voip.VoipEvent
+import com.wdkl.ncs.android.component.nursehome.util.NetHelper
 import com.wdkl.net.HttpRequestPresenter
 import com.wdkl.net.urlconn.UrlConnRequest
 import com.wdkl.skywebrtc.SkyEngineKit
@@ -84,6 +85,8 @@ class Application : BaseApplication() {
                 .openLogger()
                 .addNetInterceptor(RestfulExceptionInterceptor())
 
+        NetHelper.getInstance().init()
+
         // 初始化网络请求
         HttpRequestPresenter.init(UrlConnRequest())
         // 初始化信令

+ 3 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constants.kt

@@ -14,6 +14,7 @@ class Constants {
         var tcp_port: String? =""//tcp端口
         var reader_idle_time: String? =""//tcp心跳
         var app_path: String =""//apk下载路径
+        var tcp_connected: Boolean = false
 
         var call_type: Int = 0 //通话类型: 0-语音, 1-视频
         //来电设备id
@@ -30,6 +31,8 @@ class Constants {
          * 通话状态
          */
         val EVENT_CALL_STATE = 0x02
+
+        val EVENT_TCP_STATE = 0x03
     }
 
 

+ 11 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/TcpClientHandler.java

@@ -6,6 +6,9 @@ import com.wdkl.ncs.android.component.nursehome.common.Constants;
 import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel;
 import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil;
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
+import com.wdkl.ncs.android.middleware.utils.MessageEvent;
+
+import org.greenrobot.eventbus.EventBus;
 
 import java.util.concurrent.TimeUnit;
 
@@ -42,6 +45,8 @@ public class TcpClientHandler extends SimpleChannelInboundHandler<String> {
         TcpModel tcpModel = DeviceUtil.deviceConnect(Constants.Companion.getMac());
         TcpClient.getInstance().sendMsg(tcpModel.toJson());
 
+        Constants.Companion.setTcp_connected(true);
+        EventBus.getDefault().post(new MessageEvent(1, Constants.Companion.getEVENT_TCP_STATE()));
     }
 
     //断开连接
@@ -51,6 +56,9 @@ public class TcpClientHandler extends SimpleChannelInboundHandler<String> {
         connected = false;
         System.out.println("TcpClientHandler 失去连接");
         reConnect(ctx);
+
+        Constants.Companion.setTcp_connected(false);
+        EventBus.getDefault().post(new MessageEvent(0, Constants.Companion.getEVENT_TCP_STATE()));
     }
 
     //读取String消息
@@ -92,6 +100,9 @@ public class TcpClientHandler extends SimpleChannelInboundHandler<String> {
         ctx.close();
         connected = false;
         System.out.println("TcpClientHandler 失去连接,错误引起");
+
+        Constants.Companion.setTcp_connected(false);
+        EventBus.getDefault().post(new MessageEvent(0, Constants.Companion.getEVENT_TCP_STATE()));
     }
 
     //发送消息,不直接调用些方法,调用TcpClient中的发送消息

+ 49 - 8
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -7,6 +7,7 @@ import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
 import android.graphics.Color
+import android.net.ConnectivityManager
 import android.net.Uri
 import android.os.Build
 import android.os.CountDownTimer
@@ -40,10 +41,7 @@ import com.wdkl.ncs.android.component.nursehome.databinding.ActivityNurseHomeBin
 import com.wdkl.ncs.android.component.nursehome.fragment.*
 import com.wdkl.ncs.android.component.nursehome.launch.NurseHomeLaunch
 import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig
-import com.wdkl.ncs.android.component.nursehome.util.CallDialogHelper
-import com.wdkl.ncs.android.component.nursehome.util.ScreenManagerUtil
-import com.wdkl.ncs.android.component.nursehome.util.TimeTransition
-import com.wdkl.ncs.android.component.nursehome.util.VoiceManagerUtil
+import com.wdkl.ncs.android.component.nursehome.util.*
 import com.wdkl.ncs.android.lib.base.BaseActivity
 import com.wdkl.ncs.android.lib.utils.AppTool
 import com.wdkl.ncs.android.lib.utils.debugLog
@@ -162,6 +160,8 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
         setSettingConfiguration()
 
         initCountDownTimer()
+
+        updateNetState()
     }
 
     /**
@@ -186,13 +186,13 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
     }
 
     override fun userLogin() {
-        debugLog("NurseHome", "user login")
-        //updateStatus(SipStatus.REGISTERCOM)
+        //debugLog("NurseHome", "user login")
+        view_title_layout_tv_point.setBackgroundResource(R.color.green)
     }
 
     override fun userLogout() {
-        debugLog("NurseHome", "user logout")
-        //updateStatus(SipStatus.REGISTERFAIL)
+        //debugLog("NurseHome", "user logout")
+        view_title_layout_tv_point.setBackgroundResource(R.color.red_color)
     }
 
     /**
@@ -524,15 +524,25 @@ fun call(tyte:Int){
                     ScreenManagerUtil().setScreenBrightness(context,Math.ceil(2.54 * SettingConfig.getMainEngineDaytimeBrightness(context)).toInt())
                     //设置白天系统音量和响铃音
                     setTheSystemVolume(SettingConfig.getHostDaytimeVolume(context))
+                    day_night_state_imagev.setImageResource(R.drawable.ic_daylight)
 
                 }else{ //夜晚
                     //设置晚上亮度
                     ScreenManagerUtil().setScreenBrightness(context,Math.ceil(2.54 * SettingConfig.getHostNightBrightness(context)).toInt())
                     //设置晚上系统音量和响铃音
                     setTheSystemVolume(SettingConfig.getHostNightVolume(context))
+                    day_night_state_imagev.setImageResource(R.drawable.ic_night)
                 }
 
+                updateNetState()
+                updateTcpState()
 
+                //sip状态
+                if (SocketManager.getInstance().userState == 1) {
+                    view_title_layout_tv_point.setBackgroundResource(R.color.green)
+                } else {
+                    view_title_layout_tv_point.setBackgroundResource(R.color.red_color)
+                }
             }
         }
     }
@@ -576,6 +586,32 @@ fun call(tyte:Int){
         }
     }
 
+    private fun updateNetState() {
+        if (NetHelper.getInstance().networkType == ConnectivityManager.TYPE_WIFI) {
+            wifi_state_imagev.visibility = View.VISIBLE
+            wifi_state_imagev.setImageResource(R.drawable.ic_wifi_success)
+            ethernet_state_imagev.visibility = View.GONE
+        } else if (NetHelper.getInstance().networkType == ConnectivityManager.TYPE_ETHERNET) {
+            ethernet_state_imagev.visibility = View.VISIBLE
+            ethernet_state_imagev.setImageResource(R.drawable.ic_ethernet_success)
+            wifi_state_imagev.visibility = View.GONE
+        }
+
+        if (NetHelper.isBTConnected()) {
+            bluetooth_state_imagev.visibility = View.VISIBLE
+            bluetooth_state_imagev.setImageResource(R.drawable.ic_bt_success)
+        } else {
+            bluetooth_state_imagev.visibility = View.GONE
+        }
+    }
+
+    private fun updateTcpState() {
+        if (Constants.tcp_connected) {
+            tcp_state_imagev.setImageResource(R.drawable.ic_tcp_success)
+        } else {
+            tcp_state_imagev.setImageResource(R.drawable.ic_tcp_fail)
+        }
+    }
 
     @Subscribe(threadMode = ThreadMode.MAIN)
     fun onMoonEvent(messageEvent: MessageEvent) {
@@ -657,6 +693,11 @@ fun call(tyte:Int){
                     }
                 }
             }
+
+            //TCP连接状态
+            Constants.EVENT_TCP_STATE -> {
+                updateTcpState()
+            }
         }
 
     }

+ 10 - 0
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/util/NetHelper.java

@@ -1,6 +1,7 @@
 package com.wdkl.ncs.android.component.nursehome.util;
 
 import android.annotation.SuppressLint;
+import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.wifi.WifiInfo;
@@ -506,6 +507,15 @@ public class NetHelper {
         return ip;
     }
 
+    public static boolean isBTConnected() {
+        BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
+        if (btAdapter != null) {
+            return btAdapter.getState() == BluetoothAdapter.STATE_ON;
+        }
+
+        return false;
+    }
+
     public int getNetworkType() {
         if (connManager != null && connManager.getActiveNetworkInfo() != null) {
             return connManager.getActiveNetworkInfo().getType();

二进制
nursehome/src/main/res/drawable-mdpi/ic_bt_fail.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_bt_success.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_daylight.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_ethernet_fail.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_ethernet_success.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_night.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_tcp_fail.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_tcp_success.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_wifi_fail.png


二进制
nursehome/src/main/res/drawable-mdpi/ic_wifi_success.png


+ 26 - 19
nursehome/src/main/res/layout/activity_nurse_home.xml

@@ -17,16 +17,25 @@
                 android:layout_width="match_parent"
                 android:layout_height="40px">
 
+                <!--SIP状态图标-->
+                <TextView
+                    android:id="@+id/view_title_layout_tv_point"
+                    android:layout_width="12dp"
+                    android:layout_height="12dp"
+                    android:layout_centerVertical="true"
+                    android:layout_marginLeft="10dp"
+                    android:background="@color/red_color"/>
 
                 <TextView
                     android:id="@+id/name_of_organization_tv"
                     android:layout_width="wrap_content"
                     android:layout_height="match_parent"
-                    android:layout_marginLeft="14px"
+                    android:layout_marginLeft="8px"
+                    android:layout_toRightOf="@id/view_title_layout_tv_point"
                     android:gravity="center"
-                    android:text="维鼎康联"
+                    android:text="----"
                     android:textColor="#2F9DF1"
-                    android:textSize="14px" />
+                    android:textSize="16sp" />
 
                 <TextView
                     android:id="@+id/time_tv"
@@ -36,7 +45,7 @@
                     android:gravity="center_vertical"
                     android:text="2021-03-09 12:22:22 周六"
                     android:textColor="#2F9DF1"
-                    android:textSize="14px" />
+                    android:textSize="16sp" />
 
                 <RelativeLayout
                     android:layout_width="wrap_content"
@@ -55,30 +64,28 @@
                             android:id="@+id/bluetooth_state_imagev"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_marginRight="29px"
-                            android:src="@drawable/lan_ya_lian_jie_icon"
-                            android:visibility="gone" />
+                            android:layout_marginRight="20px" />
                         <!--   WiFi状态  -->
                         <ImageView
+                            android:id="@+id/wifi_state_imagev"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_marginRight="29px"
-                            android:src="@drawable/wifi_yi_lian_jie" />
+                            android:layout_marginRight="20px" />
 
-                        <!--   sip状态  -->
+                        <!-- 以太网 -->
                         <ImageView
+                            android:id="@+id/ethernet_state_imagev"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_marginRight="29px"
-                            android:src="@drawable/sip_lian_jie_icon"
-                            android:visibility="gone" />
-                        <!--   网络状态  -->
+                            android:layout_marginRight="20px" />
+
+                        <!--   tcp连接状态  -->
                         <ImageView
+                            android:id="@+id/tcp_state_imagev"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_marginRight="29px"
-                            android:src="@drawable/wang_luo_lian_jie_icon"
-                            android:visibility="gone" />
+                            android:layout_marginRight="20px"
+                            android:src="@drawable/ic_tcp_fail"/>
 
                         <!--                        &lt;!&ndash; 托管 &ndash;&gt;-->
                         <!--                        <ImageView-->
@@ -95,10 +102,10 @@
                         <!--                            android:textSize="8dp" />-->
                         <!--白昼状态-->
                         <ImageView
+                            android:id="@+id/day_night_state_imagev"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_marginRight="15px"
-                            android:src="@drawable/bai_zhou_icon" />
+                            android:layout_marginRight="15px" />
 
                         <!-- 测试图标是否正常-->
 

+ 3 - 0
nursehome/src/main/res/values/colors.xml

@@ -3,4 +3,7 @@
     <color name="colorPrimary">#008577</color>
     <color name="colorPrimaryDark">#00574B</color>
     <color name="colorAccent">#D81B60</color>
+
+    <color name="red_color">#FD3B30</color>
+    <color name="green">#00FF00</color>
 </resources>