|
@@ -347,6 +347,11 @@ public class MainActivity extends WpadActivity {
|
|
|
|
|
|
public static boolean bFrontCallUse, bLobbyCallUse, bGuardCallUse, bResiCallUse, bPSTNCallUse, bCallHistoryUse, bVisitorPicUse;
|
|
|
|
|
|
+
|
|
|
+ public boolean bIsFirstCallEvent = true;
|
|
|
+
|
|
|
+ public boolean bIsGeneratedFirstCallEvent = false;
|
|
|
+
|
|
|
|
|
|
* [ Activity Life Cycle ] region
|
|
|
================================================================================================ */
|
|
@@ -731,6 +736,10 @@ public class MainActivity extends WpadActivity {
|
|
|
mCallPathCheckHandler.removeMessages(3);
|
|
|
}
|
|
|
|
|
|
+ if (MainHandler != null) {
|
|
|
+ MainHandler.removeMessages(HANDLERMSG.RECEIVE_NEW_FRONT_CALL);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
bRecordingStopAndNewCall = false;
|
|
|
|
|
@@ -3985,6 +3994,11 @@ public class MainActivity extends WpadActivity {
|
|
|
Log.d(TAG, "[mWallPadApiCheckHandler.handleMessage] Handler finish!! mTempCurrentScreenId [" + mTempCurrentScreenId + "]");
|
|
|
if (ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMARTIOT || ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMARTKEY_EXTERNAL || ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMART_HS || ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMART_DW) {
|
|
|
smartKeyRfDoorAPI = mWallPadAPI.Get_SmartKeyRfDoorController();
|
|
|
+ if (smartKeyRfDoorAPI != null) {
|
|
|
+ Log.d(TAG, "[mWallPadApiCheckHandler] get smartKeyRfDoorAPI.");
|
|
|
+ } else {
|
|
|
+ Log.w(TAG, "[mWallPadApiCheckHandler] smartKeyRfDoorAPI is null !!");
|
|
|
+ }
|
|
|
}
|
|
|
boolean result = setChangeScreen(mTempCurrentScreenId, false);
|
|
|
if (!result) {
|
|
@@ -5119,6 +5133,7 @@ public class MainActivity extends WpadActivity {
|
|
|
public final static int REFRESH_HOMEICON = 997;
|
|
|
public final static int FINISH_WALLPADCALL = 998;
|
|
|
public final static int FINISH_ACTIVITY = 999;
|
|
|
+ public final static int RECEIVE_NEW_FRONT_CALL = 1000;
|
|
|
}
|
|
|
|
|
|
int nBrightness = 0;
|
|
@@ -5131,7 +5146,16 @@ public class MainActivity extends WpadActivity {
|
|
|
break;
|
|
|
|
|
|
case HANDLERMSG.CHECK_RECEIVINGCALL:
|
|
|
- generateCallEvent();
|
|
|
+ LOG("[MainHandler] HANDLERMSG.CHECK_RECEIVINGCALL");
|
|
|
+ if (bIsFirstCallEvent) {
|
|
|
+
|
|
|
+ LOG("[MainHandler] HANDLERMSG.CHECK_RECEIVINGCALL(aftter 500ms): Create the first call event.");
|
|
|
+ generateCallEvent();
|
|
|
+ } else {
|
|
|
+ LOG("[MainHandler] HANDLERMSG.CHECK_RECEIVINGCALL(aftter 500ms): Drop the first call event.");
|
|
|
+ }
|
|
|
+ bIsFirstCallEvent = false;
|
|
|
+ bIsGeneratedFirstCallEvent = true;
|
|
|
break;
|
|
|
|
|
|
case HANDLERMSG.REMOVE_VIDEO_COVER:
|
|
@@ -5383,6 +5407,32 @@ public class MainActivity extends WpadActivity {
|
|
|
else Log.d(TAG, "[MainHandler] mIOInterface is null!! -> IGW300API.TEL_PATH.OFF");
|
|
|
break;
|
|
|
|
|
|
+
|
|
|
+ case HANDLERMSG.RECEIVE_NEW_FRONT_CALL:
|
|
|
+ if (bIsGeneratedFirstCallEvent) {
|
|
|
+ if (mCallController == null) return;
|
|
|
+
|
|
|
+ Log.v(TAG, "HANDLERMSG.RECEIVE_NEW_FRONT_CALL");
|
|
|
+ if (ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40 || ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40_NOUGAT) {
|
|
|
+ if (mCallController.mCallInfo.getIDLECnt() == mCallController.mCallInfo.IDLECNT_MAX) {
|
|
|
+ sendHandlerMsg(HANDLERMSG.SET_DINGDONG_VOLUME, 0, 0);
|
|
|
+ sendHandlerMsg(HANDLERMSG.SETTALKPATH_DOORMUSIC, 0, 0);
|
|
|
+ mCallPathCheckHandler.sendEmptyMessage(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (mCallController.mCallInfo.getFRONT() == CALLSTATUS.IDLE) {
|
|
|
+ setBlockFrontCall();
|
|
|
+ mCallController.onFrontEvent(CALLEVENTTYPE.RECEIVE_CALL, CALLTYPE.FRONT);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ Log.w(TAG, "[onReceive] Front call ignored!!! getFRONT() [" + mCallController.mCallInfo.getFRONT() + "]");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ sendHandlerMsgDelayed(HANDLERMSG.RECEIVE_NEW_FRONT_CALL, 0, 0, 100);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
LOG("MainHandler : " + msg.what);
|
|
|
break;
|
|
@@ -5450,6 +5500,7 @@ public class MainActivity extends WpadActivity {
|
|
|
|
|
|
public void setBlockFrontCall() {
|
|
|
try {
|
|
|
+ Log.v(TAG, "setBlockFrontCall()");
|
|
|
bBlockFrontCall = true;
|
|
|
MainHandler.removeMessages(HANDLERMSG.RELEASE_BLOCK_FRONTCALL);
|
|
|
((MainActivity) mContext).sendHandlerMsgDelayed(HANDLERMSG.RELEASE_BLOCK_FRONTCALL, 0, 0, 3000);
|
|
@@ -5580,25 +5631,41 @@ public class MainActivity extends WpadActivity {
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
else if (mKeyEvent.getKeyCode() == Declare.BTN.FRONT || mKeyEvent.getKeyCode() == Declare.BTN.FRONT_V40) {
|
|
|
Log.i(this.TAG, "[onReceive] mKeyEvent.getKeyCode() : " + mKeyEvent.getKeyCode() + " " + (mKeyEvent.getKeyCode() == Declare.BTN.FRONT ? "Declare.BTN.FRONT" : "Declare.BTN.FRONT_V40"));
|
|
|
+ Log.v("yjyoon", "bBlockFrontCall[" + bBlockFrontCall + "] bIsGeneratedFirstCallEvent[" + bIsGeneratedFirstCallEvent + "] strCallEvent[" + strCallEvent + "]");
|
|
|
if (!bBlockFrontCall) {
|
|
|
- if (ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40 || ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40_NOUGAT) {
|
|
|
- if (mCallController.mCallInfo.getIDLECnt() == mCallController.mCallInfo.IDLECNT_MAX) {
|
|
|
- sendHandlerMsg(HANDLERMSG.SET_DINGDONG_VOLUME, 0, 0);
|
|
|
- sendHandlerMsg(HANDLERMSG.SETTALKPATH_DOORMUSIC, 0, 0);
|
|
|
- mCallPathCheckHandler.sendEmptyMessage(0);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (!bIsGeneratedFirstCallEvent && strCallEvent.equals("DETECT_STRANGER")) {
|
|
|
+
|
|
|
+ Log.v("yjyoon", "###### 1");
|
|
|
+ bIsFirstCallEvent = false;
|
|
|
+
|
|
|
+
|
|
|
+ MainHandler.removeMessages(HANDLERMSG.RECEIVE_NEW_FRONT_CALL);
|
|
|
+
|
|
|
+
|
|
|
+ sendHandlerMsgDelayed(HANDLERMSG.RECEIVE_NEW_FRONT_CALL, 0, 0, 100);
|
|
|
+ } else {
|
|
|
+ Log.v("yjyoon", "###### 2");
|
|
|
+ if (ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40 || ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40_NOUGAT) {
|
|
|
+ if (mCallController.mCallInfo.getIDLECnt() == mCallController.mCallInfo.IDLECNT_MAX) {
|
|
|
+ sendHandlerMsg(HANDLERMSG.SET_DINGDONG_VOLUME, 0, 0);
|
|
|
+ sendHandlerMsg(HANDLERMSG.SETTALKPATH_DOORMUSIC, 0, 0);
|
|
|
+ mCallPathCheckHandler.sendEmptyMessage(0);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- Log.v(this.TAG, "bRecordingStatus[" + bRecordingStatus + "]");
|
|
|
- if (mCallController.mCallInfo.getFRONT() == CALLSTATUS.IDLE) {
|
|
|
- Log.v(this.TAG, "[onReceive] Front call !!! getFRONT() [" + mCallController.mCallInfo.getFRONT() + "]");
|
|
|
- setBlockFrontCall();
|
|
|
- mCallController.onFrontEvent(CALLEVENTTYPE.RECEIVE_CALL, CALLTYPE.FRONT);
|
|
|
- }
|
|
|
- else {
|
|
|
- Log.w(this.TAG, "[onReceive] Front call ignored!!! getFRONT() [" + mCallController.mCallInfo.getFRONT() + "]");
|
|
|
+ if (mCallController.mCallInfo.getFRONT() == CALLSTATUS.IDLE) {
|
|
|
+ setBlockFrontCall();
|
|
|
+ mCallController.onFrontEvent(CALLEVENTTYPE.RECEIVE_CALL, CALLTYPE.FRONT);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ Log.w(this.TAG, "[onReceive] Front call ignored!!! getFRONT() [" + mCallController.mCallInfo.getFRONT() + "]");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
@@ -5630,33 +5697,59 @@ public class MainActivity extends WpadActivity {
|
|
|
}
|
|
|
else if (strAction.equals(define.NOTIFY_ACNAME)) {
|
|
|
int kind = intent.getIntExtra(define.NOTIBR_KIND,0);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if (kind == define.NOTIFY_FINISH_FRONT_DINGDONG) {
|
|
|
+
|
|
|
+ if (kind == define.NOTIFY_SMART_DCAM_DETECT) {
|
|
|
+
|
|
|
+ Log.i(this.TAG, "[onReceive] DETECT_STRANGER!!");
|
|
|
+ if (ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMARTIOT || ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMART_HS || ConfigValues.eFrontCameraType == FRONTCAMERATYPE.SMART_DW) {
|
|
|
+ if (getStrangerRecordingManagerSetting()) {
|
|
|
+ if (getStrangerRecording()) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (bIsGeneratedFirstCallEvent && !bBlockFrontCall && mCallController.mCallInfo.getIDLECnt() == mCallController.mCallInfo.IDLECNT_MAX) {
|
|
|
+
|
|
|
+ Log.v(this.TAG, "[onReceive] DETECT_STRANGER > mCallController.onFrontEvent(CALLEVENTTYPE.DETECT_STRANGER, CALLTYPE.FRONT)");
|
|
|
+ mCallController.onFrontEvent(CALLEVENTTYPE.DETECT_STRANGER, CALLTYPE.FRONT);
|
|
|
+ } else {
|
|
|
+ Log.i(this.TAG, "[onReceive] ignored DETECT_STRANGER BR");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (bIsGeneratedFirstCallEvent && !bBlockFrontCall) {
|
|
|
+
|
|
|
+
|
|
|
+ Log.v("yjyoon", "###### 3");
|
|
|
+ mCallController.onFrontEvent(CALLEVENTTYPE.DETECT_STRANGER, CALLTYPE.FRONT);
|
|
|
+ } else {
|
|
|
+ Log.v("yjyoon", "###### 4");
|
|
|
+
|
|
|
+ Log.i(this.TAG, "[onReceive] ignored DETECT_STRANGER BR.");
|
|
|
+ }
|
|
|
+ */
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (kind == define.NOTIFY_FINISH_FRONT_DINGDONG) {
|
|
|
|
|
|
sendHandlerMsgDelayed(HANDLERMSG.PLAY_FRONT_BELL, 0, 0, 200);
|
|
|
sendHandlerMsgDelayed(HANDLERMSG.SET_TALK_BTN_ENABLE, 0, 0, 200);
|
|
|
}
|
|
|
else if (kind == 9999) {
|
|
|
+
|
|
|
+
|
|
|
Log.v(this.TAG, "Received New call during Recording(9999). bRecodingStatus[" + bRecordingStatus + "]");
|
|
|
|
|
|
if (!bRecordingStatus) {
|
|
|
Log.v(this.TAG, "ignore new call!! bRecodingStatus[" + bRecordingStatus + "]");
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
|
|
|
- MainHandler.removeMessages(HANDLERMSG.CHECK_RECEIVINGCALL);
|
|
|
+
|
|
|
mFrontCamOpenCheckHandler.removeMessages(2);
|
|
|
mFrontCamOpenCheckHandler.removeMessages(3);
|
|
|
|