Pārlūkot izejas kodu

[WallPadCall]
1. 현관콜 상태인 경우 거동수상자 감지에 대한 멀티콜을 하지 않도록 분기처리.

jigsjjang 2 gadi atpakaļ
vecāks
revīzija
37da0a3ea5

+ 13 - 7
WallPadCall/src/main/java/kr/co/icontrols/callengine/engine/CallController.java

@@ -1011,13 +1011,19 @@ public class CallController extends CallManager implements SIPEventListener {
                     ((MainActivity) mContext).changeMenuNScreen(ID.MENU.MENU_TALKFRONT);
                 }
                 else {
-                    LOG("[CallScenarioManager] ========== MULTI CALL ==========");
-                    // 20220717 yjyoon
-                    // call 앱 시작시 실제 이벤트는 500ms 뒤에 생성.
-                    // 거동수상자 감지로 앱이 시작되고 500ms 사이에 현관콜이 발생하면 거동수상자 이벤트 보다 현관콜 이벤트가 먼저 진행.
-                    // 거동수상자 이벤트보다 콜 이벤트의 우선순위가 높기 때문에 거동수상자 이벤트를 폐기한다.
-                    Log.w(TAG, "[CallScenarioManager] ignore DETECT_STRANGER event !! (mCallInfo.getIDLECnt() != mCallInfo.IDLECNT_MAX)");
-                    return;
+                    // 거동수상자 멀티콜인 경우 front 상태를 'recording' 변경하기에 아래와 같이 조건문을 구성함.
+                    if (mCallInfo.getRESI() == CALLSTATUS.IDLE && mCallInfo.getLOBBY() == CALLSTATUS.IDLE && mCallInfo.getGUARD() == CALLSTATUS.IDLE
+                            && mCallInfo.getPSTN() == CALLSTATUS.IDLE && mCallInfo.getIHUB() == CALLSTATUS.IDLE) {
+                        // 20220715 yjyoon
+                        // call 앱 시작시 실제 이벤트는 500ms 뒤에 생성.
+                        // 거동수상자 감지로 앱이 시작되고 500ms 사이에 현관콜이 발생하면 거동수상자 이벤트 보다 현관콜 이벤트가 먼저 진행.
+                        // 거동수상자 이벤트보다 콜 이벤트의 우선순위가 높기 때문에 거동수상자 이벤트를 폐기한다.
+                        Log.w(TAG, "[CallScenarioManager] ignore DETECT_STRANGER event !! (mCallInfo.getIDLECnt() != mCallInfo.IDLECNT_MAX)");
+                        return;
+                    } else {
+                        // yjyoon. 현관 통화가 아니면 감지 팝업 표시.
+                        LOG("[CallScenarioManager] ========== MULTI CALL ==========");
+                    }
                 }
 
                 if (ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMARTIOT || ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMART_HS || ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMART_DW) {