ソースを参照

RTC来电界面和呼叫界面 添加来电房号以及床号
来电呼叫 去掉 拒绝接听按钮
添加电量实时显示
添加WiFi信号实时显示

wangjk 4 年 前
コミット
5820c24ffb

+ 4 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/activity/RTCVoipAudioActivity.java

@@ -52,7 +52,7 @@ public class RTCVoipAudioActivity extends Activity implements View.OnClickListen
     private XHVoipManager voipManager;
     private Chronometer timer;
 
-    private TextView bao_mother_name_tv;
+    private TextView room_number_tv,bao_mother_name_tv;
     private TextView voiceStatus;
 
     public static String ACTION = "ACTION";
@@ -104,6 +104,7 @@ public class RTCVoipAudioActivity extends Activity implements View.OnClickListen
         action = getIntent().getStringExtra(ACTION);
         timer = (Chronometer) findViewById(R.id.call_duration_tv);
 
+        room_number_tv = (TextView) findViewById(R.id.room_number_tv);
         bao_mother_name_tv = (TextView) findViewById(R.id.bao_mother_name_tv);
         voiceStatus = (TextView)findViewById(R.id.voice_status);
 
@@ -121,9 +122,11 @@ public class RTCVoipAudioActivity extends Activity implements View.OnClickListen
         if (tcpModel.getType() == TcpType.VOICE) {
             if (tcpModel.getAction() == TcpAction.VoiceAction.CALL) {
                 InteractionVO interactionVO = new Gson().fromJson(tcpModel.getData().toString(), InteractionVO.class);
+                room_number_tv.setText(interactionVO.getFromFrameFullName());
                 bao_mother_name_tv.setText(interactionVO.getFromMemberName());
             } else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
                 InteractionVO interactionVO = new Gson().fromJson(tcpModel.getData().toString(), InteractionVO.class);
+                room_number_tv.setText(interactionVO.getToFrameFullName());
                 bao_mother_name_tv.setText(interactionVO.getToMemberName());
             }
         }

+ 3 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/activity/RTCVoipAudioRingingActivity.java

@@ -45,7 +45,7 @@ public class RTCVoipAudioRingingActivity extends Activity implements View.OnClic
     private String targetId;
     private InteractionVO interactionVO = new InteractionVO();
     private TcpModel tcpModel = new TcpModel();
-    private TextView bao_mother_name_tv;
+    private TextView room_number_tv,bao_mother_name_tv;
 
     private CountDownTimer countDownTimer;//倒计时控制器
     private int countdownTime = 15;//默认转接时间
@@ -64,6 +64,7 @@ public class RTCVoipAudioRingingActivity extends Activity implements View.OnClic
         addListener();
         targetId = getIntent().getStringExtra("targetId");
         tcpModel = (TcpModel) getIntent().getSerializableExtra("TcpModel");
+        room_number_tv = findViewById(R.id.room_number_tv);
         bao_mother_name_tv = findViewById(R.id.bao_mother_name_tv);
         interactionVO = new Gson().fromJson(tcpModel.getData().toString(), InteractionVO.class);
 
@@ -73,6 +74,7 @@ public class RTCVoipAudioRingingActivity extends Activity implements View.OnClic
             findViewById(R.id.hang_up_imagev).setVisibility(View.GONE);
             findViewById(R.id.call_the_voice_imagev).setVisibility(View.GONE);
         } else {
+            room_number_tv.setText(interactionVO.getFromFrameFullName());
             bao_mother_name_tv.setText(interactionVO.getFromMemberName());
             findViewById(R.id.hang_up_imagev).setOnClickListener(this);
             findViewById(R.id.call_the_voice_imagev).setOnClickListener(this);

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

@@ -63,6 +63,10 @@ class SipVoipAudioActivity: Activity(), View.OnClickListener {
         tcpModel = intent.getSerializableExtra("TcpModel") as TcpModel
 //        interactionVO = (InteractionVO) getIntent().getSerializableExtra("interactionVO");
         action = intent.getStringExtra(ACTION)
+           //测试
+//        SipHelperUtil.getInstance(this).getmSipCallBack().startCall(targetId)
+//        SipHelperUtil.getInstance(this).getmSipCallBack().startCall("3288")
+
 
         MediaPlayHelper.getInstance().playResMusic(R.raw.outgoing_call, 0.6f, true)
         if (tcpModel.type == TcpType.VOICE) {
@@ -129,8 +133,8 @@ class SipVoipAudioActivity: Activity(), View.OnClickListener {
                           val voiceUtilTcpModel = VoiceUtil.voiceHandoff(Integer.parseInt(Constants.ids), tcpModel.fromId, interactionVO.id)
                           TcpClient.getInstance().sendMsg(voiceUtilTcpModel.toJson())
                       }
-                      finish()
                       SipHelperUtil.getInstance(this).getmSipCallBack().endCall()
+                      finish()
 
                   }
 

+ 8 - 8
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchCallRecordsActivity.kt

@@ -194,17 +194,17 @@ class WatchCallRecordsActivity : BaseActivity<WatchCallRecordsFragmentPresenter,
             AppTool.Time.delay(300){
                 var intent = Intent()
                  //rtc
-//                intent.setClass(this,RTCVoipAudioActivity::class.java)
-//                intent.putExtra("targetId", receivedData?.deviceSipId)
-//                intent.putExtra("TcpModel",tcpModel)
-//                intent.putExtra(RTCVoipAudioActivity.ACTION, RTCVoipAudioActivity.CALL)
-//                startActivity(intent)
-                 //sip
-                intent.setClass(this,SipVoipAudioActivity::class.java)
+                intent.setClass(this,RTCVoipAudioActivity::class.java)
                 intent.putExtra("targetId", receivedData?.deviceSipId)
                 intent.putExtra("TcpModel",tcpModel)
-                intent.putExtra(SipVoipAudioActivity().ACTION, SipVoipAudioActivity().CALL)
+                intent.putExtra(RTCVoipAudioActivity.ACTION, RTCVoipAudioActivity.CALL)
                 startActivity(intent)
+                 //sip
+//                intent.setClass(this,SipVoipAudioActivity::class.java)
+//                intent.putExtra("targetId", receivedData?.deviceSipId)
+//                intent.putExtra("TcpModel",tcpModel)
+//                intent.putExtra(SipVoipAudioActivity().ACTION, SipVoipAudioActivity().CALL)
+//                startActivity(intent)
             }
         }
     }

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

@@ -222,13 +222,22 @@ class WatchEventDetailActivity: BaseActivity<WatchHomeActivityPresenter, WatchAc
             }
         }else if(messageEvent.tag == 1){
            var tcpModel = messageEvent.getMessage() as TcpModel
+            //rtc
             var intent = Intent()
-            intent.setClass(this,SipVoipAudioActivity::class.java)
+            intent.setClass(this,RTCVoipAudioActivity::class.java)
             intent.putExtra("targetId", interactionVO?.fromSipId)
             intent.putExtra("TcpModel",tcpModel)
-            intent.putExtra(SipVoipAudioActivity().ACTION, SipVoipAudioActivity().CALL)
+            intent.putExtra(RTCVoipAudioActivity.ACTION, RTCVoipAudioActivity.CALL)
             startActivity(intent)
 
+               //sip
+//            var intent = Intent()
+//            intent.setClass(this,SipVoipAudioActivity::class.java)
+//            intent.putExtra("targetId", interactionVO?.fromSipId)
+//            intent.putExtra("TcpModel",tcpModel)
+//            intent.putExtra(SipVoipAudioActivity().ACTION, SipVoipAudioActivity().CALL)
+//            startActivity(intent)
+
         }
     }
 }

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

@@ -85,10 +85,10 @@ class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivity
             watch_role_name_tv.text = Constants.user_role_name
         }
 
-         //开始ping网络,30秒ping一次
-        NetHelper.startNetCheck()
-        //SIP准备工作
-        initSip()
+//         //开始ping网络,30秒ping一次
+//        NetHelper.startNetCheck()
+//        //SIP准备工作
+//        initSip()
 
         wifiManager = (applicationContext.getSystemService(Context.WIFI_SERVICE)) as WifiManager
         teleManager = (applicationContext.getSystemService(Context.TELEPHONY_SERVICE)) as TelephonyManager
@@ -146,7 +146,7 @@ class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivity
     override fun destory() {
         unRegReceiver()
         SpeechUtil.getInstance().release()
-        SipHelperUtil.getInstance(this).unRegisterSip()
+//        SipHelperUtil.getInstance(this).unRegisterSip()
 //        SipHelper.getInstance().unRegisterSip()
         if(batteryBroadcastReceiver != null){
             unregisterReceiver(batteryBroadcastReceiver)
@@ -291,12 +291,12 @@ class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivity
         }else if(messageEvent.tag == Constants.EVENT_WIFI_RSSI){
             var message = messageEvent.getMessage() as Int
             if(10< message && message < 20){
-                electric_quantity_tv.setTextColor(Color.parseColor("#FF3030"))
+                battery_warning_tv.setTextColor(Color.parseColor("#FF3030"))
                 battery_warning_tv.visibility = View.VISIBLE
                 battery_warning_tv.text = "低电量,请注意充电"
 
             }else if(10 > message){
-                electric_quantity_tv.setTextColor(Color.parseColor("#8B2323"))
+                battery_warning_tv.setTextColor(Color.parseColor("#8B2323"))
                 battery_warning_tv.visibility = View.VISIBLE
                 battery_warning_tv.text = "电量过低,请充电"
             }else{
@@ -334,18 +334,19 @@ class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivity
 
                         //界面呈现
                         AppTool.Time.delay(300) {
-//                            var intent = Intent()
-//                            intent.setClass(this, RTCVoipAudioRingingActivity::class.java)
-//                            intent.putExtra("targetId", interactionVO.fromSipId)
-//                            intent.putExtra("TcpModel", tcpModel)
-//                            startActivity(intent)
-
-                             //sip
+                            //rtc
                             var intent = Intent()
-                            intent.setClass(this, SipVoipAudioRingingActivity::class.java)
+                            intent.setClass(this, RTCVoipAudioRingingActivity::class.java)
                             intent.putExtra("targetId", interactionVO.fromSipId)
                             intent.putExtra("TcpModel", tcpModel)
                             startActivity(intent)
+
+                             //sip
+//                            var intent = Intent()
+//                            intent.setClass(this, SipVoipAudioRingingActivity::class.java)
+//                            intent.putExtra("targetId", interactionVO.fromSipId)
+//                            intent.putExtra("TcpModel", tcpModel)
+//                            startActivity(intent)
                         }
                     }
                 } else if (tcpModel.getAction() === TcpAction.VoiceAction.HANDOFF) { //对方挂断,不论我方呼出或呼入
@@ -385,7 +386,7 @@ class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivity
                 if (wifiManager != null && netType == NetHelper.NETWORK_WIFI) {
                     val wifiInfo = wifiManager.getConnectionInfo()
                     val wifi = wifiInfo.getRssi ();//获取wifi信号强度
-                    Log.e(TAG,"wifi 信号强度"+wifi)
+//                    Log.e(TAG,"wifi 信号强度"+wifi)
 
                     if (wifi > -50 && wifi < 0) {//最强
 //                        Log.e(TAG, "wzlll 最强")

+ 8 - 1
home/src/main/res/layout/watch_activity_dialing_voice.xml

@@ -18,7 +18,14 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:src="@drawable/bao_ma_tou_xiang" />
-
+        <TextView
+            android:id="@+id/room_number_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="8px"
+            android:text="房号"
+            android:textSize="18sp" />
         <TextView
             android:id="@+id/bao_mother_name_tv"
             android:layout_width="wrap_content"

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

@@ -211,8 +211,8 @@
                                 android:id="@+id/sip_state_tv"
                                 android:layout_width="8dp"
                                 android:layout_height="8dp"
-
-                                android:background="#FF0000"/>
+                                android:background="#FF0000"
+                                android:visibility="gone"/>
                             <ImageView
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"

+ 10 - 2
home/src/main/res/layout/watch_activity_voice_calls.xml

@@ -17,7 +17,14 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:src="@drawable/bao_ma_tou_xiang" />
-
+        <TextView
+            android:id="@+id/room_number_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="8px"
+            android:text="房号"
+            android:textSize="18sp" />
         <TextView
             android:id="@+id/bao_mother_name_tv"
             android:layout_width="wrap_content"
@@ -83,7 +90,8 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginRight="28px"
-            android:src="@drawable/yu_yin_gua_duan" />
+            android:src="@drawable/yu_yin_gua_duan"
+            android:visibility="gone"/>
         <ImageView
             android:id="@+id/call_the_voice_imagev"
             android:layout_width="wrap_content"

+ 2 - 3
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/TcpClientHandler.java

@@ -78,9 +78,8 @@ public class TcpClientHandler extends SimpleChannelInboundHandler<String> {
             IdleStateEvent event = (IdleStateEvent)evt;
             if (event.state()== IdleState.WRITER_IDLE){
                 ctx.writeAndFlush("0");
-            }
-            //读心跳包超时执行
-            else if (event.state() == IdleState.READER_IDLE){
+              //读心跳包超时执行
+            }else if (event.state() == IdleState.READER_IDLE){
                 Log.i(TAG,"TcpClientHandler ===> pong from server failed");
                 ctx.close();
             }