Просмотр исходного кода

[WallPadMain]
1. 거동수상자 시나리오 변경
- 딜레이기간동안 LED Auto Off, 딜레이 해제 되면 LED Auto On
- 통화 및 CallApp 종료 시, 딜레이 동작

jglee 2 лет назад
Родитель
Сommit
3a12306161

+ 22 - 1
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/MainActivity.java

@@ -58,6 +58,7 @@ import com.artncore.wallpadapi.LightAPI;
 import com.artncore.wallpadapi.MultiSwitchAPI;
 import com.artncore.wallpadapi.SdbAPI;
 import com.artncore.wallpadapi.Sdb_LivingRoomLightAPI;
+import com.artncore.wallpadapi.SmartKeyRfDoorAPI;
 import com.artncore.wallpadapi.WallPadAPI;
 import com.artncore.wallpadimap.RetProci;
 import com.artncore.wallpadimap.WallPadiMAPNotifyAPI;
@@ -317,7 +318,11 @@ public class MainActivity extends WpadActivity {
     // 부재중 전화, 방문객 사진, 공지사항, 택배, 스마트 우편, 전기차 충전 이벤트 개수
     public static int nMissedCallCnt = 0, nVisitorPicCnt = 0, nNoticeCnt = 0, nParcelCnt = 0, nPostCnt = 0, nElecVehicleChangingCnt = 0;
 
-    
+    /**
+     * 카메라 API
+     */
+    SmartKeyRfDoorAPI mSmartKeyRfDoorAPI = null;// mWallPadAPI.Get_SmartKeyRfDoorController();
+
     // 끝
 
     //월패드 CallBr 관리하기 위한 List
@@ -10140,10 +10145,21 @@ public class MainActivity extends WpadActivity {
     private void RecordDelayOn()
     {
         try {
+            recordDelayHandler.removeMessages(0);
             Log.d(TAG, "[RecordDelay]");
             Common.bRecordDelay = true;
+            //기존 핸들러 삭제 해야 함
             Message msg = recordDelayHandler.obtainMessage();
+            msg.what = 0;
             recordDelayHandler.sendMessageDelayed(msg, 90 * 1000); // 녹화 종료 후 90초 동안 녹화를 막는다.
+            //여기서 Auto Off 모드로 전송
+
+            if(mSmartKeyRfDoorAPI == null && mWallPadAPI!=null ) mSmartKeyRfDoorAPI = mWallPadAPI.Get_SmartKeyRfDoorController();
+
+            //jglee - 2022.07.27 시나리오 변경에 따른 추가 설정
+            //딜레이 기간동안 LED 자동 OFF 실행
+            if (mSmartKeyRfDoorAPI != null) mSmartKeyRfDoorAPI.SetLEDmode(Common.SmartRFCamLEDMode.LED_AUTO_OFF);
+            else Log.w(TAG, "[RecordDelayOn] smartKeyRfDoorAPI is null!!");
         }
         catch (Exception e)
         {
@@ -10177,6 +10193,11 @@ public class MainActivity extends WpadActivity {
         @Override
         public void handleMessage(Message msg) {
             Common.bRecordDelay = false;
+
+            //jglee - 2022.07.27 시나리오 변경에 따른 추가 설정
+            //딜레이가 해제 되면 LED 자동 ON 실행
+            if (mSmartKeyRfDoorAPI != null) mSmartKeyRfDoorAPI.SetLEDmode(Common.SmartRFCamLEDMode.LED_AUTO_ON);
+            else Log.w(TAG, "[ctrlSmartIOTCCamLEDMode]recordDelayHandler smartKeyRfDoorAPI is null!!");
         }
     };
 

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

@@ -15569,6 +15569,14 @@ public class iMapServer extends Service {
             else {
                 bWallPadCallLive = false;
                 bWallPadRecoder  = false;
+                if(Common.bWallPadCallLive && !bWallPadCallLive)
+                {
+                    Log.i(TAG, "[sendWallPadCallLiveBR_Request]");
+                    Intent Newintent = new Intent();
+                    Newintent.setAction(Common.BR_RECORD_DELAY);
+                    getApplicationContext().sendBroadcast(Newintent);
+                    Log.w(TAG, "jglee - StrangeRecord Delay by sendWallPadCallLiveBR_Request");
+                }
                 Common.bWallPadCallLive = bWallPadCallLive;
                 //jglee - 현관문 변수 초기화
                 Common.bWallPadCallFrontLive = false;