|
@@ -2722,7 +2722,7 @@ public class MainActivity extends WpadActivity {
|
|
|
case Common.BR_MAIN_NOTI.ACCEPT_RECORDING:
|
|
|
int nEmerState = intent.getIntExtra("EMERGENCY_STATE", -1);
|
|
|
//여기서 거동 수상자 녹화 시작 여부 확인
|
|
|
- Common.bWallPadRecoder = true;
|
|
|
+ Common.bRecordStatus = true;
|
|
|
|
|
|
boolean bFromCall = intent.getBooleanExtra("FROMCALL", false);
|
|
|
|
|
@@ -2735,7 +2735,9 @@ public class MainActivity extends WpadActivity {
|
|
|
case Common.BR_MAIN_NOTI.STOP_RECORDING:
|
|
|
// yjyoon. 거동수상자 녹화중지 시 상태값 변경.
|
|
|
Log.v("yjyoon", "Common.BR_MAIN_NOTI.STOP_RECORDING Common.bWallPadRecoder = false");
|
|
|
- Common.bWallPadRecoder = false;
|
|
|
+ //Common.bWallPadRecoder = false;
|
|
|
+ Common.bRecordStatus = false;
|
|
|
+ mediaStopRecord();
|
|
|
break;
|
|
|
|
|
|
default:
|
|
@@ -3605,6 +3607,8 @@ public class MainActivity extends WpadActivity {
|
|
|
|
|
|
registerMainActivityBR();
|
|
|
|
|
|
+ registerStrangeRecordBR();
|
|
|
+
|
|
|
} catch (RuntimeException re) {
|
|
|
LogUtil.errorLogInfo("", TAG, re);
|
|
|
}
|
|
@@ -3619,6 +3623,8 @@ public class MainActivity extends WpadActivity {
|
|
|
unregisterReceiver(mWallPadAlertBR);
|
|
|
unregisterReceiver(mWallPadNotifyBR);
|
|
|
unregisterReceiver(MainActivityBroadcastReceiver);
|
|
|
+ //거동수상자 관련 리시버 해제
|
|
|
+ unregisterReceiver(StrangeRecordBroadcastReceiver);
|
|
|
} catch (RuntimeException re) {
|
|
|
LogUtil.errorLogInfo("", TAG, re);
|
|
|
}
|
|
@@ -10055,5 +10061,118 @@ public class MainActivity extends WpadActivity {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 거동 수상자 녹화 중지(MainActivity -> WallPadCall)
|
|
|
+ */
|
|
|
+ private void stopStrangerRecord() {
|
|
|
+ try {
|
|
|
+ Log.d(TAG, "[stopStrangerRecord] bRecordStatus [" + Common.bRecordStatus + "]");
|
|
|
+ if (Common.bRecordStatus) {
|
|
|
+ Common.bRecordStatus = false;
|
|
|
+
|
|
|
+ // yjyoon. 녹화 중지 브로드캐스트
|
|
|
+ Intent iIntent = new Intent();
|
|
|
+ iIntent.setAction(Common.BR_REQUEST_RECORD_STOP);
|
|
|
+ iIntent.putExtra(define.NOTIBR_KIND, 1);
|
|
|
+ getApplicationContext().sendBroadcast(iIntent);
|
|
|
+
|
|
|
+ mediaStopRecord();
|
|
|
+ }
|
|
|
+ } catch (RuntimeException re) {
|
|
|
+ LogUtil.errorLogInfo("", TAG, re);
|
|
|
+ } catch (Exception e) {
|
|
|
+ Log.e(TAG, "[Exception] stopStrangerRecord(boolean bSave)");
|
|
|
+ //e.printStackTrace();
|
|
|
+ LogUtil.errorLogInfo("", TAG, e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 거동 수상자 연속 녹화 방지(10초간 막음)
|
|
|
+ */
|
|
|
+ private void RecordDelayOn()
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ Log.d(TAG, "[RecordDelay]");
|
|
|
+ Common.bRecordDelay = true;
|
|
|
+ Message msg = recordDelayHandler.obtainMessage();
|
|
|
+ recordDelayHandler.sendMessageDelayed(msg, 10 * 1000); // 녹화 종료 후 10초 동안 녹화를 막는다.
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 거동 수상자 녹화 중지 관련 내부 변수 처리
|
|
|
+ */
|
|
|
+ private void mediaStopRecord() {
|
|
|
+ try {
|
|
|
+ Log.d(TAG, "[mediaStopRecord]");
|
|
|
+ RecordDelayOn();
|
|
|
+ Common.bRecordStatus = false; // 녹화 종료
|
|
|
+ } catch (RuntimeException re) {
|
|
|
+ LogUtil.errorLogInfo("", TAG, re);
|
|
|
+ } catch (Exception e) {
|
|
|
+ Log.e(TAG, "[Exception] mediaStopRecord()");
|
|
|
+ //e.printStackTrace();
|
|
|
+ LogUtil.errorLogInfo("", TAG, e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 거동 수상자 역속 녹화를 막기 위한 Handler
|
|
|
+ */
|
|
|
+ Handler recordDelayHandler = new Handler() {
|
|
|
+ @Override
|
|
|
+ public void handleMessage(Message msg) {
|
|
|
+ Common.bRecordDelay = false;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 거동 수상자 관련 BR 등록
|
|
|
+ */
|
|
|
+ private void registerStrangeRecordBR() {
|
|
|
+ try {
|
|
|
+ IntentFilter filter = new IntentFilter();
|
|
|
+ filter.addAction(Common.BR_RECORD_EXCEPTION);
|
|
|
+ filter.addAction(Common.BR_RECORD_STOP);
|
|
|
+ filter.addAction(Common.BR_RECORD_DELAY);
|
|
|
+ mContext.registerReceiver(StrangeRecordBroadcastReceiver, filter);
|
|
|
+ } catch (RuntimeException re) {
|
|
|
+ LogUtil.errorLogInfo("", TAG, re);
|
|
|
+ }
|
|
|
+ catch (Exception e) {
|
|
|
+ Log.e(TAG, "[Exception] registerMainActivityBR()");
|
|
|
+ LogUtil.errorLogInfo("", TAG, e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 거동 수상자 관련 BR
|
|
|
+ */
|
|
|
+ BroadcastReceiver StrangeRecordBroadcastReceiver = new BroadcastReceiver() {
|
|
|
+ @Override
|
|
|
+ public void onReceive(Context context, Intent intent) {
|
|
|
+ if(intent.getAction().equals(Common.BR_RECORD_EXCEPTION))
|
|
|
+ {
|
|
|
+ Common.bRecordStatus = false;
|
|
|
+ }
|
|
|
+ else if(intent.getAction().equals(Common.BR_RECORD_STOP))
|
|
|
+ {
|
|
|
+ stopStrangerRecord();
|
|
|
+ }
|
|
|
+ else if(intent.getAction().equals(Common.BR_RECORD_DELAY))
|
|
|
+ {
|
|
|
+ RecordDelayOn();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
}
|
|
|
|