浏览代码

2021.11.05 VIP wallpadCall 통화 merge
- 현관 통화시 문열림 수정.
- 현관 사진 리스트 가져 오는 부분 수정.
- 현관 통화 리스트 가져오는 부분 수정.

DESKTOP-UNEGUH3\MadeinLab_SW_02 3 年之前
父节点
当前提交
0beb2db5f0

+ 5 - 1
WallPadCall/src/main/java/kr/co/icontrols/wallpadcall/screen/InquiryCallHistory.java

@@ -963,7 +963,7 @@ public class InquiryCallHistory extends WpadScreen implements CallEventListener,
         try {
             //CALLTYPE eCallType = Global.getCallType(strIPAddress);
 
-            if (strIPAddress.equals("front")) return "현관";
+            if (strIPAddress.equals("doorcamera")) return "현관";
             else if (strIPAddress.equals("lobby"))
                 return "로비";
             else if (strIPAddress.equals("homedev"))
@@ -1071,6 +1071,10 @@ public class InquiryCallHistory extends WpadScreen implements CallEventListener,
                         //String[] strEndIP = {"10.1.1.1", "10.1.2.1", "10.1.3.1", "10.1.3.2", "10.1.1.3", "10.1.1.2", "10.1.2.2"};
                         mLIST_VALUE[i].NAME = makeResiType(mInfoTable.getCallHistoryInfo(i+iListCount).getSIPID());
                     }
+                    else if (mInfoTable.getCallHistoryInfo(i+iListCount).getName().equals("doorcamera")) {
+                        //String[] strEndIP = {"10.1.1.1", "10.1.2.1", "10.1.3.1", "10.1.3.2", "10.1.1.3", "10.1.1.2", "10.1.2.2"};
+                        mLIST_VALUE[i].NAME =  "현관";
+                    }
 
                     mLIST_VALUE[i].TIME = makeUnitTimestamp(mInfoTable.getCallHistoryInfo(i+iListCount).getTimestamp());
                     mLIST_VALUE[i].TYPE = makeUnitType(mInfoTable.getCallHistoryInfo(i+iListCount).getCallResult());

+ 1 - 1
WallPadCall/src/main/java/kr/co/icontrols/wallpadcall/screen/InquiryVisitorPictureHistory.java

@@ -494,7 +494,7 @@ public class InquiryVisitorPictureHistory extends WpadScreen implements CallEven
                 } else {
                     strResult = strParse_01[1];
                 }
-            } else if (strName.contains("Front")) {
+            } else if (strName.contains("FRONT")) {
                 strResult = "현관";
             } else if (strName.contains("LOBBY")) {
                 strResult = "101동 10번 로비";

+ 57 - 7
WallPadCall/src/main/java/kr/co/icontrols/wallpadcall/screen/TalkFront.java

@@ -57,6 +57,7 @@ import kr.co.icontrols.wallpadcall.declare.Global.DOORLOCKTYPE;
 import kr.co.icontrols.wallpadcall.declare.Global.FRONTCAMERATYPE;
 import kr.co.icontrols.wallpadcall.declare.ID;
 import kr.co.icontrols.wallpadcall.imap.Request_check_sip_activation;
+import kr.co.icontrols.wallpadcall.imap.Request_lobby_capture;
 import kr.co.icontrols.wallpadcall.imap.Request_lobby_open;
 import kr.co.icontrols.wallpadcall.imap.Request_start_talking;
 import kr.co.icontrols.wallpadcall.imap.Request_stop_talking;
@@ -275,6 +276,8 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
 
             MainActivity.mIOInterface.ctrlPopupGUI(false);
             MainActivity.mCallController.mSIPInterface.videoSet(true, false, true);
+
+            sendHandlerMsgDelayed(TalkFront.HANDLERMSG.ENABLE_SAVE_VISITORPICTURE, 0, 0, null, 3000);
         } catch (RuntimeException re) {
             LogUtil.errorLogInfo("", TAG, re);
         } catch (Exception e) {
@@ -370,15 +373,16 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
                         doEnd();
                         send_stop_talking_request(RemoteIDInfo.strIP);
                     } else if (nID == ID.SCREEN.TALKFRONT.ELEMENT.BUTTON.SAVE_PICTURE) {
-                        String strVisitorPicResult = MainActivity.mCallController.saveVisitorPicture(CALLTYPE.FRONT, MainActivity.mCallController.mCallInfo.getFRONT(), RemoteIDInfo.strSIPID, true, false, false);
-                        LOG_INFO("[onTouchEvent] strVisitorPicResult [" + strVisitorPicResult + "]");
+                        //String strVisitorPicResult = MainActivity.mCallController.saveVisitorPicture(CALLTYPE.FRONT, MainActivity.mCallController.mCallInfo.getFRONT(), RemoteIDInfo.strSIPID, true, false, false);
+                        //LOG_INFO("[onTouchEvent] strVisitorPicResult [" + strVisitorPicResult + "]");
+                        send_lobby_capture_request(RemoteIDInfo.strIP);
                         enableSavePicBTN(false);
                         sendHandlerMsgDelayed(TalkFront.HANDLERMSG.ENABLE_SAVE_VISITORPICTURE, 0, 0, null, 3000);
                     } else if (nID == ID.SCREEN.TALKFRONT.ELEMENT.BUTTON.DOOROPEN) {
                         if (!bSentiMAP) {
                             sendHandlerMsg(TalkFront.HANDLERMSG.HIDE_LOBBYVIDEO, 0, 0, null); // 문열림으로 통화 종료시 로비 영상 노이즈가 생기므로 영상을 GUI 아래로 내림
                             doDoorOpen();
-                            send_stop_talking_request(RemoteIDInfo.strIP);
+                            //send_stop_talking_request(RemoteIDInfo.strIP);
                         }
                     } else if (ID.SCREEN.TALKFRONT.ELEMENT.BUTTON.RELIEF_FILTER_01 <= nID && nID <= ID.SCREEN.TALKFRONT.ELEMENT.BUTTON.RELIEF_FILTER_04) {
                         LOG_INFO("[onTouchEvent] [RELIEF_FILTER] BUTTON");
@@ -528,7 +532,7 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
                 else if (eCallStatus == CALLSTATUS.END) {
                     bEnableVisitorPic = false;
                     bReliefCallInit = false;
-                    Global.stopMelodyRepeat();
+                    //Global.stopMelodyRepeat();
                     MainActivity.mCallController.setTalkPath(CALLPATH.NORMAL);
                     ((MainActivity) mContext).finishPopUp(ID.POPUP.POPUP_ALL);
                     ((MainActivity) mContext).finishManual(ID.MANUAL.MANUAL_ALL);
@@ -1020,8 +1024,8 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
                     Global.stopMelodyRepeat();
                     MainActivity.mCallController.setTalkPath(CALLPATH.NORMAL);
                     ((MainActivity) mContext).displayRemoteID(null);
-                    if(MainActivity.mCallController.mCallInfo.getFRONT() == CALLSTATUS.CALLED)
-                        MainActivity.mSound.PlayMent(SND.setting.RETRY_ACTION);
+                    //if(MainActivity.mCallController.mCallInfo.getFRONT() == CALLSTATUS.CALLED)
+                        //MainActivity.mSound.PlayMent(SND.setting.RETRY_ACTION);
                     MainActivity.mCallController.mCallInfo.setCallStatus(CALLTYPE.FRONT, CALLSTATUS.IDLE);
                     MainActivity.mCallController.stop1stCallTimer();
                     MainActivity.mCallController.stop2ndCallTimer();
@@ -1492,7 +1496,7 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
 //                        if (MainActivity.mCallController.getTalkPath() == CALLPATH.NORMAL) {
 //                            MainActivity.mIOInterface.setMICGain(0);   // 월패드에 출력되는 문열림 멘트가 월패드 마이크를 통해 로비폰에 전달되므로, 멘트 출력전에 Micgain을 0으로 설정한다.
 //                        }
-                        MainActivity.mCallController.setTalkPath(CALLPATH.NORMAL);
+                        //MainActivity.mCallController.setTalkPath(CALLPATH.NORMAL);
 //                        MainActivity.mSound.Play(SND.mode.OPENDOOR);
                         mPathCheckHandler.sendEmptyMessage(2); // 통화패스 Normal로 변경 확인 후 멘트 출력 seulki
 
@@ -1510,6 +1514,7 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
 //                            BTN_RELIEF_FILTER_03.setButtonEventOffEnable(R.drawable.btn_filter_3_normal);
 //                            BTN_RELIEF_FILTER_04.setButtonEventOffEnable(R.drawable.btn_filter_4_normal);
                         }
+                        doEnd();
                     }
 
                     @Override
@@ -1538,6 +1543,44 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
         return false;
     }
 
+    private boolean send_lobby_capture_request(String strTargetIP) {
+        LOG_INFO("[send_lobby_capture_request] strTargetIP [" + strTargetIP + "]");
+
+        try {
+            Request_lobby_capture lobby_capture = new Request_lobby_capture(mContext);
+            if (lobby_capture.send_lobby_capture(strTargetIP, null)) {
+                lobby_capture.setResultCtrl(new RetProci() {
+
+                    @Override
+                    public void ProcSuccess() {
+                        LOG_INFO("[send_lobby_capture_request] ProcSuccess()");
+
+                    }
+
+                    @Override
+                    public void ProcError() {
+                        LOG_INFO("[send_lobby_capture_request] ProcError()");
+
+                    }
+
+                    @Override
+                    public void ProcDoing() {
+                        LOG_INFO("[send_lobby_capture_request] ProcDoing()");
+
+                    }
+                });
+                return true;
+            }
+        } catch (RuntimeException re) {
+            LogUtil.errorLogInfo("", TAG, re);
+        } catch (Exception e) {
+            Log.e(TAG, "[Exception] send_lobby_capture_request(String strTargetIP, String strMessage)");
+            //e.printStackTrace();
+            LogUtil.errorLogInfo("", TAG, e);
+        }
+        return false;
+    }
+
     // 방문자 사진 자동 저장
     boolean bEnableVisitorPic = false;
 
@@ -2238,6 +2281,13 @@ public class TalkFront extends WpadScreen implements CallEventListener, MainEven
             }
             else if (msg.what == 3) {
                 Log.d(TAG, "[mPathCheckHandler.handleMessage] Handler finish!! PATH [NORMAL] -> play dooropen ment!");
+                try {
+
+                    Thread.sleep(3000);
+                } catch (InterruptedException e) {
+                    //e.printStackTrace();
+                    LogUtil.errorLogInfo("", TAG, e);
+                }
                 int nMentDuration = MainActivity.mSound.PlayMent(SND.mode.OPENDOOR);
                 try {
                     Log.d(TAG, "[mPathCheckHandler.handleMessage] nMentDuration -> " + nMentDuration);

+ 1 - 1
WallPadCall/src/main/java/kr/co/icontrols/wallpadcall/screen/TalkLobby.java

@@ -2256,7 +2256,7 @@ public class TalkLobby extends WpadScreen implements CallEventListener, MainEven
                 }
             }
             else if (msg.what == 3) {
-                Log.d(TAG, "[stopMelodyRepeat.handleMessage] Handler finish!! PATH [NORMAL] -> play dooropen ment!");
+                Log.d(TAG, "[mPathCheckHandler.handleMessage] Handler finish!! PATH [NORMAL] -> play dooropen ment!");
                 try {
 
                     Thread.sleep(3000);