소스 검색

[WallPadMain]
1. 거동 수상자 설정 변경 처리 수정
- 설정 변경 정보 받았을때, DB정보 다시 한번 조회 추가
2. 통화(현관/moip) 중, 딜레이 시간이 만료되어 설정이 변경되는것을 방지
3. 업그레이드 시, 거동 수상자 사용안하도록 수정

jglee 2 년 전
부모
커밋
6dc1e55a1a

+ 27 - 0
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/MainActivity.java

@@ -10316,6 +10316,7 @@ public class MainActivity extends WpadActivity {
             if (cv_bStrangerVideoRecordUsage) {
                 if (cv_bStrangerUserVideoRecordUsage) {
 
+                    //톨화중 딜레이 타임이 끝나는 것을 방지하기 위해서 한번더 확인
                     if(!Common.bWallPadCallingLive)
                     {
                         if (mSmartKeyRfDoorAPI != null) mSmartKeyRfDoorAPI.SetLEDmode(Common.SmartRFCamLEDMode.LED_AUTO_ON);
@@ -10384,6 +10385,8 @@ public class MainActivity extends WpadActivity {
             }
             else if(intent.getAction().equals(Common.BR_RECORD_NOT_USE))
             {
+                //통화중일 경우 받는 BR
+                Log.d(TAG, "RecordDelay isCalling");
                 RecordNotUse(false);
             }
             else if(intent.getAction().equals(Common.BR_RECORD_DELAY_INIT))
@@ -10392,6 +10395,30 @@ public class MainActivity extends WpadActivity {
                 //시나리오에 따라 딜레이가 있는 경우, 딜레이가 완료 되고 해당 초기화 진행
                 //거동 수상자 설정(사용함)일 경우, 해당 BR 받음
                 Log.d(TAG, "Recrod Delay Init Config, RecordDelay Status :" + Common.bRecordDelay);
+                //여기서는 DB 정보를 다시 조회 해야 함
+                //jglee - Resume이 들어가지 않은 상태로 BR을 받을 수 있음
+                // 따라서 해당 BR을 받으면 다시 DB 값을 가져와야 함
+                WallpadDeviceSet mWallpadDeviceSet = new WallpadDeviceSet(getApplicationContext());
+                cv_bStrangerVideoRecordUsage = mWallpadDeviceSet.Get_Stranger_RecordUse();   // 거동수상자 녹화설정 (관리자 설정)
+                mWallpadDeviceSet.closeDB();
+
+                WallpadStatusData DBMGR = new WallpadStatusData(getApplicationContext());
+                try {
+                    cv_bStrangerUserVideoRecordUsage = DBMGR.GetStrangerRecordingOnOff();
+                    DBMGR.closeDB();
+                    Log.d(TAG, "[getStrangerRecordingUserSetting] bResult [" + cv_bStrangerUserVideoRecordUsage + "]");
+                } catch (RuntimeException re) {
+                    LogUtil.errorLogInfo("", TAG, re);
+                    DBMGR.closeDB();
+                    cv_bStrangerUserVideoRecordUsage = false;
+                } catch (Exception e) {
+                    DBMGR.closeDB();
+                    Log.e(TAG, "[Exception] getStrangerRecordingUserSetting()");
+                    //e.printStackTrace();
+                    LogUtil.errorLogInfo("", TAG, e);
+                    cv_bStrangerUserVideoRecordUsage = false;
+                }
+
                 if(!Common.bRecordDelay)
                     RecordNotUse(true);
 

+ 8 - 0
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/WallPadiMAPUpgrade.java

@@ -12,6 +12,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import kr.co.icontrols.v40ioctl.V40IOInterface;
+import kr.co.icontrols.wallpadmain.declare.Common;
 import kr.co.icontrols.wallpadsupport.Version;
 
 import org.apache.commons.net.ftp.FTP;
@@ -22,6 +23,7 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.PackageInfo;
 import android.os.Build;
 import android.os.Environment;
@@ -351,6 +353,12 @@ public class WallPadiMAPUpgrade {
 		        		if (Updatefilename == null) Updatefilename = "no";
 		        		if (UpdateAppfilename == null) UpdateAppfilename = "no";
 		        		
+		        		//jglee - 여기서 거동 수상자 녹화가 진행되면 안되기 때문에 거동수상자 사용않람을 실행 해야 함
+						//거동수상자 사용안함 설정
+						Intent Newintent = new Intent();
+						Newintent.setAction(Common.BR_RECORD_NOT_USE);
+						ThisCtx.sendBroadcast(Newintent);
+						
 		        		//String SetPP = System.setProperty("persist.sys.update.ready", "1");
 //		        		Log.e(TAG,APIErrorCode.GetLogPrefix()+" Before Call  PowerManager ");
 //		        		PowerManager pm = (PowerManager) ThisCtx.getSystemService(Context.POWER_SERVICE);