Browse Source

#CHANGE 设备不带摄像头则只能语音通话

weizhengliang 3 years ago
parent
commit
4fb497c9f5

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

@@ -1,5 +1,6 @@
 package com.wdkl.app.ncs.application
 
+import android.hardware.Camera
 import com.enation.javashop.android.jrouter.JRouter
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.enation.javashop.net.engine.config.NetEngineConfig
@@ -7,6 +8,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.common.Constants
 import com.wdkl.ncs.android.component.nursehome.util.NetHelper
 import com.wdkl.net.HttpRequestPresenter
 import com.wdkl.net.urlconn.UrlConnRequest
@@ -88,5 +90,12 @@ class Application : BaseApplication() {
         // 初始化信令
         SkyEngineKit.init(VoipEvent())
         SocketManager.getInstance().init(applicationContext)
+
+        Constants.supportCamera = isCameraSupport()
+    }
+
+    fun isCameraSupport() : Boolean {
+        val num = Camera.getNumberOfCameras()
+        return num > 0
     }
 }

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

@@ -67,6 +67,9 @@ class Constants {
         //tts服务是否可用: 0-不可用, 1-可用但不支持中文, 2-可用且支持中文
         var TTS_STATUS = 0
 
+        //设备是否有camera
+        var supportCamera: Boolean = false
+
         /**
          * TCP消息
          */

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

@@ -38,7 +38,11 @@ abstract class BaseCallFragment: Fragment() {
         super.onCreate(savedInstanceState)
         retainInstance = true
         callState = arguments.getInt("call_state")
-        onlyAudio = arguments.getBoolean("audio_only")
+        if (Constants.supportCamera) {
+            onlyAudio = arguments.getBoolean("audio_only")
+        } else {
+            onlyAudio = true
+        }
         fromId = arguments.getInt("fromId")
         interactionId = arguments.getInt("interactionId")
         targetId = arguments.getString("targetId")

+ 1 - 9
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/FramePartFragment.kt

@@ -203,7 +203,7 @@ class FramePartFragment: BaseFragment<FramePartPresenter, FragmentFramePartBindi
             }
         }
 
-        if (!isCameraSupport()) {
+        if (!Constants.supportCamera) {
             call_the_video_tv.isEnabled = false
             call_the_video_tv.setTextColor(Color.parseColor("#e8e8e8"))
         }
@@ -271,14 +271,6 @@ class FramePartFragment: BaseFragment<FramePartPresenter, FragmentFramePartBindi
         }
     }
 
-    fun isCameraSupport() : Boolean {
-        val num = Camera.getNumberOfCameras()
-        if (num > 0) {
-            return true
-        } else {
-            return false
-        }
-    }
 
     /**
      * @author LDD

+ 6 - 1
webrtc/src/main/java/com/wdkl/core/socket/SocketManager.java

@@ -218,7 +218,12 @@ public class SocketManager implements IEvent {
         // 发送广播
         mContext.sendBroadcast(intent);*/
 
-        receivedIncomingCall(room, audioOnly, inviteId, userList);
+        //如果设备不带摄像头则只能语音通话
+        if (Constants.Companion.getSupportCamera()) {
+            receivedIncomingCall(room, audioOnly, inviteId, userList);
+        } else {
+            receivedIncomingCall(room, true, inviteId, userList);
+        }
     }
 
     private void receivedIncomingCall(String room, boolean audioOnly, String inviteId, String userList) {