|
@@ -891,14 +891,22 @@ public class MainActivity extends WpadActivity {
|
|
|
mCallController.tryMoIPCall(CALLTYPE.GUARD, DataClasses.RemoteIDInfo.strDong, DataClasses.RemoteIDInfo.strHo);
|
|
|
|
|
|
} else if (intent.getAction().equals(Declare.BR.BR_REQUEST_RECORD_STOP)) {
|
|
|
+ // WallPadMain > MainActivity - StrangeRecordBroadcastReceiver - Common.BR_RECORD_STOP
|
|
|
// yjyoon.
|
|
|
// 거동수상자 녹화 중지.
|
|
|
showStrangerNoticeText(false, false);
|
|
|
|
|
|
bRecordingStopAndNewCall = true;
|
|
|
|
|
|
- int nKind = intent.getIntExtra(define.NOTIBR_KIND, 0);
|
|
|
+ // yjyoon.
|
|
|
+ Log.v("yjyoon", "MainActivity > Declare.BR.BR_REQUEST_RECORD_STOP: mediaStopRecord()");
|
|
|
+ mediaStopRecord(true);
|
|
|
+
|
|
|
+ Log.v("yjyoon", "MainActivity > Declare.BR.BR_REQUEST_RECORD_STOP: mFrontCamOpenCheckHandler 2,3 삭제");
|
|
|
+ mFrontCamOpenCheckHandler.removeMessages(2);
|
|
|
+ mFrontCamOpenCheckHandler.removeMessages(3);
|
|
|
|
|
|
+ int nKind = intent.getIntExtra(define.NOTIBR_KIND, 0);
|
|
|
if (nKind == 2) {
|
|
|
// 로비/세대/경비로부터 콜인 경우.
|
|
|
strCallOwner = null;
|
|
@@ -4641,6 +4649,13 @@ public class MainActivity extends WpadActivity {
|
|
|
public void mediaStartRecord() {
|
|
|
try {
|
|
|
Log.d(TAG, "[mediaStartRecord]");
|
|
|
+
|
|
|
+ if (!bRecordingStatus) {
|
|
|
+ Log.d("yjyoon", "[mediaStartRecord] bRecordingStatus == false");
|
|
|
+ Log.d(TAG, "[mediaStartRecord] bRecordingStatus == false");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if (mMediaRecorder != null) {
|
|
|
if (bMediaRecorder) {
|
|
|
Log.d(TAG, "[mediaStartRecord] mMediaRecorder.stop");
|
|
@@ -4649,6 +4664,7 @@ public class MainActivity extends WpadActivity {
|
|
|
} else {
|
|
|
Log.d(TAG, "[mediaStartRecord] Skip mMediaRecorder.stop");
|
|
|
}
|
|
|
+
|
|
|
mMediaRecorder.reset();
|
|
|
mMediaRecorder.release();
|
|
|
mMediaRecorder = null;
|
|
@@ -4691,6 +4707,7 @@ public class MainActivity extends WpadActivity {
|
|
|
} else {
|
|
|
Log.d(TAG, "[mediaStopRecord] Skip mMediaRecorder.stop");
|
|
|
}
|
|
|
+
|
|
|
mMediaRecorder.reset();
|
|
|
mMediaRecorder.release();
|
|
|
mMediaRecorder = null;
|
|
@@ -5548,6 +5565,11 @@ public class MainActivity extends WpadActivity {
|
|
|
int nKind = intent.getIntExtra(define.NOTIBR_KIND, 0);
|
|
|
if (nKind == Declare.BR.NOTIFY_ALARM_FIRED) finishWallPadCall();
|
|
|
}
|
|
|
+
|
|
|
+ // yjyoon.
|
|
|
+ // 현관 버튼이 눌러졌을 때 driver, 여기서는 SmartKeyRfDoor_Controller 에서 BR을 발생. (Declare.BR.EVENT_DEVICE_CONTROL, 224)
|
|
|
+ // Call 앱이 동작 중일 때 해당 리시버에서 수신. 동작 중인 아니면 iMapServer에서 현관 버튼 이벤트 처리.
|
|
|
+ // (경비 등을 눌러 앱을 띄운 상태) 현관 콜 상태가 idle 이면 현관 콜 시나리오 진행. 아니면 해당 BR 무시.
|
|
|
else if (strAction.equals(Declare.BR.EVENT_DEVICE_CONTROL)) {
|
|
|
KeyEvent mKeyEvent = intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
|
|
|
Log.i(this.TAG, "[onReceive] mKeyEvent : " + mKeyEvent + ", mKeyEvent.getKeyCode() : " + mKeyEvent.getKeyCode());
|
|
@@ -5559,7 +5581,7 @@ public class MainActivity extends WpadActivity {
|
|
|
// else Log.w(this.TAG, "[onReceive] Front call ignored!!! [" + mCallController.mCallInfo.getFRONT() + "], bBlockFrontCall [" + bBlockFrontCall + "]");
|
|
|
}
|
|
|
else if (mKeyEvent.getKeyCode() == Declare.BTN.FRONT || mKeyEvent.getKeyCode() == Declare.BTN.FRONT_V40) {
|
|
|
- Log.i(this.TAG, "[onReceive] mKeyEvent.getKeyCode() : " + mKeyEvent.getKeyCode());
|
|
|
+ Log.i(this.TAG, "[onReceive] mKeyEvent.getKeyCode() : " + mKeyEvent.getKeyCode() + " " + (mKeyEvent.getKeyCode() == Declare.BTN.FRONT ? "Declare.BTN.FRONT" : "Declare.BTN.FRONT_V40"));
|
|
|
if (!bBlockFrontCall) {
|
|
|
if (ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40 || ConfigValues.DEVICE_BOARDTYPE == BOARD_TYPE.V40_NOUGAT) {
|
|
|
if (mCallController.mCallInfo.getIDLECnt() == mCallController.mCallInfo.IDLECNT_MAX) {
|
|
@@ -5569,7 +5591,9 @@ public class MainActivity extends WpadActivity {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ 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);
|
|
|
}
|
|
@@ -5623,7 +5647,17 @@ public class MainActivity extends WpadActivity {
|
|
|
sendHandlerMsgDelayed(HANDLERMSG.SET_TALK_BTN_ENABLE, 0, 0, 200);
|
|
|
}
|
|
|
else if (kind == 9999) {
|
|
|
- Log.v("yjyoon", "MainActivity 거동수상자 녹화 중 현관콜");
|
|
|
+ Log.v(this.TAG, "Received New call during Recording(9999). bRecodingStatus[" + bRecordingStatus + "]");
|
|
|
+
|
|
|
+ if (!bRecordingStatus) {
|
|
|
+ Log.v(this.TAG, "ignore new call!! bRecodingStatus[" + bRecordingStatus + "]");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // yjyoon. 앱 생성 후 500ms 뒤에 생성되는 콜이벤트 메시지와 녹화 관련 mFrontCamOpenCheckHandler 메시지 삭제.
|
|
|
+ MainHandler.removeMessages(HANDLERMSG.CHECK_RECEIVINGCALL);
|
|
|
+ mFrontCamOpenCheckHandler.removeMessages(2);
|
|
|
+ mFrontCamOpenCheckHandler.removeMessages(3);
|
|
|
|
|
|
strCallOwner = intent.getStringExtra(CALLTRIGGER.CALLOWNER);
|
|
|
strCallEvent = intent.getStringExtra(CALLTRIGGER.CALLEVENTTYPE);
|