Procházet zdrojové kódy

[WallPadMain]
1. App Ver. 갱신
- 2022.05.04.99
2. 월패드간 제어기기 멀티제어 설정에 따른 기능 추가
- 해당기능 설정시, 멀티제어 연동 서비스 모듈 구동
- 해당기능 설정시, 가스밸브를 사용하지 않더라도 가스밸브 아이콘 출력
3. 최신 WallPadAPI 적용
- API Ver.: 2022.05.04.99
- 월패드간 제어기기 멀티제어 사용 여부 확인 메소드 추가
- 거실EM 전제조명에 대한 제어 지원 메소드 추가 (씬모드 제어용)

[WallPadAPI]
1. API Ver. 갱신
- 2022.05.04.99
2. 관리자설정메뉴에 설정기능 추가
- 월패드간 제어기기 멀티제어 사용 여부 설정 확인
> public boolean Get_InterWallPadMultiCtrlUsage()
> 기본값: 사용함
> result: true(사용함), false(사용안함)
3. KNX API 기능 추가
- 거실EM의 전체 조명에 대한 제어 지원 메소드 추가 (씬모드 제어용)
> public int SetEntireLivlight(byte hLightCnt, byte[] ahPower, byte[] ahDim, byte[] ahColor)

Changwoo Nam před 3 roky
rodič
revize
01ef2d5a56

binární
WallPadMain/libs/WallPadAPI.jar


+ 1 - 1
WallPadMain/src/main/AndroidManifest.xml

@@ -1,7 +1,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="kr.co.icontrols.wallpadmain"
     android:versionCode="17"
-    android:versionName="2022.05.04.00">
+    android:versionName="2022.05.04.99">
 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

+ 13 - 17
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/MainActivity.java

@@ -737,6 +737,15 @@ public class MainActivity extends WpadActivity {
         
         Log.i("Version", "<><><><>  WallPadAPI     Version = [" + define.WALLPADAPI_VERSION + "] " + "<><><><>");
 
+        // 분전반 정보 가져오기
+        WallpadDeviceSet mWallpadDeviceSet = new WallpadDeviceSet(this);
+        boolean bInterWPMultiCtrlUsage = mWallpadDeviceSet.Get_InterWallPadMultiCtrlUsage();   // 월패드간 제어기기 멀티제어 지원여부
+        Common.CurrentDistributionPanelType = mWallpadDeviceSet.Get_DistributionPannelType_Info();
+        boolean bEsayModeUXSupport = mWallpadDeviceSet.Get_EasyModeUX_Support();
+        mWallpadDeviceSet.closeDB();
+
+        Log.i(TAG, "[onCreate] bInterWPMultiCtrlUsage [" + bInterWPMultiCtrlUsage + "], Common.CurrentDistributionPanelType [" + Common.CurrentDistributionPanelType + "], bEsayModeUXSupport [" + bEsayModeUXSupport + ']');
+
         checkISSEnergyType();
 
         runDeviceService();
@@ -746,11 +755,7 @@ public class MainActivity extends WpadActivity {
         }
 
         //vip
-        if (Version.getModelType() == Version.MODEL_TYPE.IHN_D101 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I_LX2
-                || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K_I
-                || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I_OCF) {
-            runMultiControlService();
-        }
+        if (bInterWPMultiCtrlUsage) runMultiControlService();
 
         WallpadStatusData dbMGR = new WallpadStatusData(this.getContext());
         wallpaddbmgr.AddressSet addrSet = dbMGR.getAddressMGR();
@@ -759,8 +764,7 @@ public class MainActivity extends WpadActivity {
 
         //Log.d("TEST1", "strHo " + strHo);
 
-        if(!strHo.contains("NONE"))
-        {
+        if (!strHo.contains("NONE")) {
             myIP = addrSet.IPAddress;
             ho = Integer.valueOf(strHo.substring(0,1));
         }
@@ -807,11 +811,6 @@ public class MainActivity extends WpadActivity {
             Log.d(TAG, "[Create] OperationMode = MODE_NOMAL");
             DEVICE_OPERATION_MODE = Common.MODE_NOMAL;
         }
-
-        // 분전반 정보 가져오기
-        WallpadDeviceSet mWallpadDeviceSet = new WallpadDeviceSet(this);
-        Common.CurrentDistributionPanelType = mWallpadDeviceSet.Get_DistributionPannelType_Info();
-        mWallpadDeviceSet.closeDB();
         
         // 4. Layout registration
         DebugLogOutput("[Create] - Step4 : Layout registration");
@@ -832,14 +831,11 @@ public class MainActivity extends WpadActivity {
             Log.i(TAG, "[Create] mIconInfoTable.getCnt() = " + mIconInfoTable.getCnt());
         }
 
-        WallpadDeviceSet deviceSet = new WallpadDeviceSet(mContext);
-        boolean bSupport = deviceSet.Get_EasyModeUX_Support();
-        deviceSet.closeDB();
         WallpadStatusData mWallpadStatusData = new WallpadStatusData(getApplicationContext());
-        if (!bSupport) {
+        if (!bEsayModeUXSupport) {
             mWallpadStatusData.SetEasyModeUxUse(false);
         }
-        bEasyModeUsage = bSupport & mWallpadStatusData.GetEasyModeUxUse();
+        bEasyModeUsage = bEsayModeUXSupport & mWallpadStatusData.GetEasyModeUxUse();
         mWallpadStatusData.closeDB();
 
         // Sound API 등록

+ 22 - 21
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/IconManager.java

@@ -8,6 +8,8 @@ import com.artncore.WallPadDataMgr.WallpadStatusData;
 import com.artncore.wallpadapi.WallPadAPI;
 import com.util.LogUtil;
 
+import java.util.Arrays;
+
 import kr.co.icontrols.wallpadmain.MainActivity;
 import kr.co.icontrols.wallpadmain.R;
 import kr.co.icontrols.wallpadmain.declare.Common;
@@ -74,6 +76,8 @@ public class IconManager {
     String strElevEnable = null;   // 엘리베이터
     boolean bNonInternetSupportEnable = false;   // 인터넷 미지원 현장 (true : 인터넷 미지원, false : 인터넷 지원) -> 외부인터넷 필요한 기능 사용여부 설정 (날씨, 일정표, 전자액자)
 
+    boolean bInterWPMultiCtrlUsage = false;   // 월패드간 제어기기 멀티제어
+
 
     public IconManager(Context context, WallPadAPI wallpadapi) {
         try {
@@ -214,6 +218,8 @@ public class IconManager {
             naKeyType = mWallpadDeviceSet.Get_BLESmartKey_Info();   // 출입키 종류
             bNonInternetSupportEnable = mWallpadDeviceSet.Get_NonInternetSupportUse();   // 인터넷 미지원
 
+            bInterWPMultiCtrlUsage = mWallpadDeviceSet.Get_InterWallPadMultiCtrlUsage();   // 월패드간 제어기기 멀티제어 지원여부
+
             if (mWallpadDeviceSet != null) mWallpadDeviceSet.closeDB();
 
             mWallpadStatusData = new WallpadStatusData(mContext);
@@ -227,44 +233,39 @@ public class IconManager {
             Log.i(TAG, "[getSettingInfofromDB] nInterFloorNoiseSensorEnable [" + nInterFloorNoiseSensorEnable + "], bRemoteMeterEnable [" + bRemoteMeterEnable + "], nDistributionPanelType [" + nDistributionPanelType + "], nParkingLocationEnable [" + nParkingLocationEnable + "], nCCTVMonitoringEnable [" + nCCTVMonitoringEnable + "]");
             Log.i(TAG, "[getSettingInfofromDB] nElecVehicleChargingEnable [" + nElecVehicleChargingEnable + "], naKeyType [" + naKeyType + "], strElevEnable [" + strElevEnable + "]");
             Log.i(TAG, "[getSettingInfofromDB] bMultiSWOutlet [" + bMultiSWOutlet + "], bNonInternetSupportEnable [" + bNonInternetSupportEnable + "], bCookTopOutletEnable [" + bCookTopOutletEnable + "], nSystemAirconEnable [" + nSystemAirconEnable + "], bVisitedVehicleEnable [" + bVisitedVehicleEnable + "]");
-            Log.i(TAG, "[getSettingInfofromDB] bBandLocationEnable [" + bBandLocationEnable + "], bGuardingStreetLamp [" + bGuardingStreetLamp + "]");
+            Log.i(TAG, "[getSettingInfofromDB] bBandLocationEnable [" + bBandLocationEnable + "], bGuardingStreetLamp [" + bGuardingStreetLamp + "], nMobileDeviceRegEnable [" + nMobileDeviceRegEnable + "], nOccupancySensorEnable [" + nOccupancySensorEnable + "], bHSPlatformDeviceEnable [" + bHSPlatformDeviceEnable + "]");
+            Log.i(TAG, "[getSettingInfofromDB] bStrangerRecordingEnable [" + bStrangerRecordingEnable + "], bInterWPMultiCtrlUsage [" + bInterWPMultiCtrlUsage + "]");
 
             if (naAllLightOffEnable != null) {
-                for (int i = 0; i < naAllLightOffEnable.length; i++) {
-                    Log.i(TAG, "[getSettingInfofromDB] naAllLightOffEnable[" + i + "] = " + naAllLightOffEnable[i]);
-                }
+                Log.i(TAG, "[getSettingInfofromDB] naAllLightOffEnable " + Arrays.toString(naAllLightOffEnable));
             }
 
             if (naLightEnable != null) {
-                for (int i = 0; i < naLightEnable.length; i++) {
-                    Log.i(TAG, "[getSettingInfofromDB] naLightEnable[" + i + "] = " + naLightEnable[i]);
-                }
+                Log.i(TAG, "[getSettingInfofromDB] naLightEnable " + Arrays.toString(naLightEnable));
             }
 
             if (naDoorlockEnable != null) {
-                for (int i = 0; i < naDoorlockEnable.length; i++) {
-                    Log.i(TAG, "[getSettingInfofromDB] naDoorlockEnable[" + i + "] = " + naDoorlockEnable[i]);
-                }
+                Log.i(TAG, "[getSettingInfofromDB] naDoorlockEnable " + Arrays.toString(naDoorlockEnable));
             }
 
             if (naVentilEnable != null) {
-                for (int i = 0; i < naVentilEnable.length; i++) {
-                    Log.i(TAG, "[getSettingInfofromDB] naVentilEnable[" + i + "] = " + naVentilEnable[i]);
-                }
+                Log.i(TAG, "[getSettingInfofromDB] naVentilEnable " + Arrays.toString(naVentilEnable));
             }
 
             if (naFrontCamInfoEnable != null) {
-                for (int i = 0; i < naFrontCamInfoEnable.length; i++) {
-                    Log.i(TAG, "[getSettingInfofromDB] naFrontCamInfoEnable[" + i + "] = " + naFrontCamInfoEnable[i]);
-                }
+                Log.i(TAG, "[getSettingInfofromDB] naFrontCamInfoEnable " + Arrays.toString(naFrontCamInfoEnable));
             }
 
             if (naRealtimeEnergyMeterEnable != null) {
-                for (int i = 0; i < naRealtimeEnergyMeterEnable.length; i++) {
-                    Log.i(TAG, "[getSettingInfofromDB] naRealtimeEnergyMeterEnable[" + i + "] = " + naRealtimeEnergyMeterEnable[i]);
-                }
+                Log.i(TAG, "[getSettingInfofromDB] naRealtimeEnergyMeterEnable " + Arrays.toString(naRealtimeEnergyMeterEnable));
+            }
+
+            if (naKeyType != null) {
+                Log.i(TAG, "[getSettingInfofromDB] naKeyType " + Arrays.toString(naKeyType));
             }
 
+
+
         } catch (RuntimeException re) {
             LogUtil.errorLogInfo("", TAG, re);
             if (mWallpadDeviceSet != null) mWallpadDeviceSet.closeDB();
@@ -403,8 +404,8 @@ public class IconManager {
                         R.drawable.icon_ctrl_heating_normal, R.drawable.icon_ctrl_heating_pressed, R.drawable.icon_ctrl_heating_pressed, R.drawable.icon_ctrl_heating_pressed);
             }
 
-            // 가스
-            if (nGasValveEnable == WallpadDeviceSet.DO_USE) {
+            // 가스 (가스가  사용안함으로  되어  있더라도, 월패드간  멀티제어를  지원하는  경우에는 가스 아이콘을  표기한다.)
+            if (nGasValveEnable == WallpadDeviceSet.DO_USE || bInterWPMultiCtrlUsage) {
                 mIconInfoTable.addIconInfo(ID.ICONS.MENUS.CTRL_GAS.getID(), ID.ICONS.MENUS.CTRL_GAS.getNameKR(), ID.LINKEDSCREEN.SubMenuCtrl.Gas,
                         R.drawable.icon_ctrl_gas_normal, R.drawable.icon_ctrl_gas_pressed, R.drawable.icon_ctrl_gas_pressed, R.drawable.icon_ctrl_gas_pressed);
             }