Переглянути джерело

[WallPadMain]
1. App Ver. 갱신
- 2022.05.04.01
2. 방명칭 편집기능을 단지서버에서도 설정이 가능하도록 기능 추가

Changwoo Nam 3 роки тому
батько
коміт
25921a7add

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

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

+ 207 - 92
WallPadMain/src/main/java/kr/co/icontrols/wallpadmain/util/iMapServer.java

@@ -215,6 +215,31 @@ public class iMapServer extends Service {
         return mSound;
         return mSound;
     }
     }
 
 
+    public enum ROOMNAME_TYPE {
+        LIGHT( 0 , "조명"),
+        CONCENT( 1 , "콘센트"),
+        HEATING( 2 , "난방"),
+        SYSTEMAIRCON( 3 , "시스템에어컨"),
+        PURITY( 4 , "청정환기"),
+        SHADING( 5 , "차광");
+
+        private int mIdx;
+        private String mContent;
+
+        private ROOMNAME_TYPE( int  idx, final String txt ) {
+            this.mIdx = idx;
+            this.mContent = txt;
+        }
+
+        public String getContents() {
+            return this.mContent;
+        }
+
+        public int getIndex() {
+            return this.mIdx;
+        }
+    }
+
     /**
     /**
      * 신형 단지서버 사용 유무
      * 신형 단지서버 사용 유무
      */
      */
@@ -4250,7 +4275,96 @@ public class iMapServer extends Service {
                                             mIOInterface.setCameraConfigure(Common.WALLPAD_CAM_AHD_FRONT_FLIP);
                                             mIOInterface.setCameraConfigure(Common.WALLPAD_CAM_AHD_FRONT_FLIP);
                                         }
                                         }
                                     }
                                     }
-                                } else {
+                                }
+                                else if (devname.equalsIgnoreCase("방명칭편집_조명") || devname.equalsIgnoreCase("방명칭편집_콘센트") || devname.equalsIgnoreCase("방명칭편집_난방")
+                                        || devname.equalsIgnoreCase("방명칭편집_시스템에어컨") || devname.equalsIgnoreCase("방명칭편집_청정환기") || devname.equalsIgnoreCase("방명칭편집_차광")) {
+                                    // 예) 기기: 방명칭편집_조명, 설정값:방명칭편집(조명)명칭(조명1:조명2:조명3:조명4:조명5:조명6:조명7:조명8:조명9:조명10)
+                                    Log.e(TAG, "[ProcSetsetup] devname [" + devname +"], devval [" + devval +"]");
+                                    String devInfo = devval;
+                                    if (devInfo != null) {
+                                        devInfo = devInfo.replace('(', '_');
+                                        devInfo = devInfo.replace(':', '_');
+                                        devInfo = devInfo.replace(')', '_');
+                                        Log.d(TAG, "[ProcSetsetup] devInfo = " + devInfo);
+
+                                        String[] astrDetailInfo = devInfo.split("_");
+                                        Log.e(TAG, "[ProcSetsetup] astrDetailInfo = " + Arrays.toString(astrDetailInfo));
+                                        String strType = astrDetailInfo[3];
+                                        String[] astrRoomName = Arrays.copyOfRange(astrDetailInfo, 5, astrDetailInfo.length);
+                                        Log.e(TAG, "[ProcSetsetup] astrRoomName = " + Arrays.toString(astrRoomName));
+
+                                        String strDeviceTypeDB = null;
+                                        if (strType.equals(ROOMNAME_TYPE.LIGHT.getContents())) {
+                                            roomNameList_light = new ArrayList<>();
+                                            for (int k = 0; k < astrRoomName.length; k++) {
+                                                if (!astrRoomName[k].equals("")) {
+                                                    roomNameList_light.add(astrRoomName[k]);
+                                                }
+                                            }
+
+                                            strDeviceTypeDB = define.ROOM_NAME_LIGHT;
+                                        }
+                                        else if (strType.equals(ROOMNAME_TYPE.CONCENT.getContents())) {
+                                            roomNameList_concent = new ArrayList<>();
+                                            for (int k = 0; k < astrRoomName.length; k++) {
+                                                if (!astrRoomName[k].equals("")) {
+                                                    roomNameList_concent.add(astrRoomName[k]);
+                                                }
+                                            }
+
+                                            strDeviceTypeDB = define.ROOM_NAME_CONCENT;
+                                        }
+                                        else if (strType.equals(ROOMNAME_TYPE.HEATING.getContents())) {
+                                            roomNameList_heating = new ArrayList<>();
+                                            for (int k = 0; k < astrRoomName.length; k++) {
+                                                if (!astrRoomName[k].equals("")) {
+                                                    roomNameList_heating.add(astrRoomName[k]);
+                                                }
+                                            }
+
+                                            strDeviceTypeDB = define.ROOM_NAME_HEATING;
+                                        }
+                                        else if (strType.equals(ROOMNAME_TYPE.SYSTEMAIRCON.getContents())) {
+                                            roomNameList_systemaircon = new ArrayList<>();
+                                            for (int k = 0; k < astrRoomName.length; k++) {
+                                                if (!astrRoomName[k].equals("")) {
+                                                    roomNameList_systemaircon.add(astrRoomName[k]);
+                                                }
+                                            }
+
+                                            strDeviceTypeDB = define.ROOM_NAME_SYSTEMAIRCON;
+                                        }
+                                        else if (strType.equals(ROOMNAME_TYPE.PURITY.getContents())) {
+                                            roomNameList_purity = new ArrayList<>();
+                                            for (int k = 6; k < astrRoomName.length; k++) {
+                                                if (!astrRoomName[k].equals("")) {
+                                                    roomNameList_purity.add(astrRoomName[k]);
+                                                }
+                                            }
+
+                                            strDeviceTypeDB = define.ROOM_NAME_PURITY;
+                                        }
+                                        else if (strType.equals(ROOMNAME_TYPE.SHADING.getContents())) {
+                                            roomNameList_shading = new ArrayList<>();
+                                            for (int k = 0; k < astrRoomName.length; k++) {
+                                                if (!astrRoomName[k].equals("")) {
+                                                    roomNameList_shading.add(astrRoomName[k]);
+                                                }
+                                            }
+
+                                            strDeviceTypeDB = define.ROOM_NAME_SHADING;
+                                        }
+
+                                        if (strDeviceTypeDB != null) {
+                                            AfterTransactionTodoListData afterTransactionTodoListData = new AfterTransactionTodoListData(devname, 0, strDeviceTypeDB);
+                                            AfterTransactionTodoList.offer(afterTransactionTodoListData);
+                                        }
+                                    }
+                                    else {
+                                        Log.w(TAG, "[ProcSetsetup] devInfo is null!!");
+                                    }
+                                }
+                                else {
                                     Log.w(TAG, "[ProcSetsetup] Not available devname -> " + devname);
                                     Log.w(TAG, "[ProcSetsetup] Not available devname -> " + devname);
                                 }
                                 }
                             }
                             }
@@ -4362,112 +4476,112 @@ public class iMapServer extends Service {
                                     wdb.closeDB();
                                     wdb.closeDB();
                                 }
                                 }
                             }
                             }
-                            else if (afterTransactionTodoListData.Title.equals("방명칭편집_조명") || afterTransactionTodoListData.Title.equals("방명칭편집_콘센트") || afterTransactionTodoListData.Title.equals("방명칭편집_난방")
-                                    || afterTransactionTodoListData.Title.equals("방명칭편집_시스템에어컨") || afterTransactionTodoListData.Title.equals("방명칭편집_청정환기") || afterTransactionTodoListData.Title.equals("방명칭편집_차광")) {
-                                String deviceType = afterTransactionTodoListData.ValueString;
-                                Log.d(TAG, "[ProcSetsetup] deviceType [" + deviceType + "]");
-                                WallpadStatusData wdb = new WallpadStatusData(getApplicationContext());
-                                if (wdb != null) {
-                                    if (deviceType.equals(define.ROOM_NAME_LIGHT)) {
-                                        if (!wdb.GetRoomNameChangeByUser(deviceType)) {
-                                            Log.w(TAG, "[ProcSetsetup] Change LIGHT roomname by Manager!!! deviceType [" + deviceType + "]");
-                                            if (roomNameList_light != null) {
-                                                Log.d(TAG, "[ProcSetsetup] roomNameList_light = " + roomNameList_light.toString()); // debugging
-
-                                                String[] roomNameArr = roomNameList_light.toArray(new String[roomNameList_light.size()]);
-                                                wdb.SetDevRoomNameList(roomNameArr, deviceType);
-                                                wdb.SetRoomNameChangeByManager(1, deviceType);
-                                                if (roomNameList_light != null) roomNameList_light = null;
-                                            }
-                                        }
-                                        else {
-                                            Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                        }
+                        else if (afterTransactionTodoListData.Title.equals("방명칭편집_조명") || afterTransactionTodoListData.Title.equals("방명칭편집_콘센트") || afterTransactionTodoListData.Title.equals("방명칭편집_난방")
+                                || afterTransactionTodoListData.Title.equals("방명칭편집_시스템에어컨") || afterTransactionTodoListData.Title.equals("방명칭편집_청정환기") || afterTransactionTodoListData.Title.equals("방명칭편집_차광")) {
+                            String deviceType = afterTransactionTodoListData.ValueString;
+                            Log.d(TAG, "[ProcSetsetup] deviceType [" + deviceType + "]");
+                            WallpadStatusData wdb = new WallpadStatusData(getApplicationContext());
+                            if (wdb != null) {
+                                if (deviceType.equals(define.ROOM_NAME_LIGHT)) {
+                                    if (!wdb.GetRoomNameChangeByUser(deviceType)) {
+                                        Log.w(TAG, "[ProcSetsetup] Change LIGHT roomname by Manager!!! deviceType [" + deviceType + "]");
+                                        if (roomNameList_light != null) {
+                                            Log.d(TAG, "[ProcSetsetup] roomNameList_light = " + roomNameList_light.toString()); // debugging
+
+                                            String[] roomNameArr = roomNameList_light.toArray(new String[roomNameList_light.size()]);
+                                            wdb.SetDevRoomNameList(roomNameArr, deviceType);
+                                            wdb.SetRoomNameChangeByManager(1, deviceType);
+                                            if (roomNameList_light != null) roomNameList_light = null;
                                         }
                                         }
                                     }
                                     }
-                                    else if (deviceType.equals(define.ROOM_NAME_CONCENT)) {
-                                        if (!wdb.GetRoomNameChangeByUser(deviceType)) {
-                                            Log.w(TAG, "[ProcSetsetup] Change CONCENT roomname by Manager!!! deviceType [" + deviceType + "]");
-                                            if (roomNameList_concent != null) {
-                                                Log.d(TAG, "[ProcSetsetup] roomNameList_concent = " + roomNameList_concent.toString()); // debugging
-
-                                                String[] roomNameArr = roomNameList_concent.toArray(new String[roomNameList_concent.size()]);
-                                                wdb.SetDevRoomNameList(roomNameArr, deviceType);
-                                                wdb.SetRoomNameChangeByManager(1, deviceType);
-                                                if (roomNameList_concent != null) roomNameList_concent = null;
-                                            }
-                                        }
-                                        else {
-                                            Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
-                                        }
+                                    else {
+                                        Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
                                     }
                                     }
-                                    else if (deviceType.equals(define.ROOM_NAME_HEATING)) {
-                                        if (!wdb.GetRoomNameChangeByUser(deviceType)) {
-                                            Log.w(TAG, "[ProcSetsetup] Change HEATING roomname by Manager!!! deviceType [" + deviceType + "]");
-                                            if (roomNameList_heating != null) {
-                                                Log.d(TAG, "[ProcSetsetup] roomNameList_heating = " + roomNameList_heating.toString()); // debugging
-
-                                                String[] roomNameArr = roomNameList_heating.toArray(new String[roomNameList_heating.size()]);
-                                                wdb.SetDevRoomNameList(roomNameArr, deviceType);
-                                                wdb.SetRoomNameChangeByManager(1, deviceType);
-                                                if (roomNameList_heating != null) roomNameList_heating = null;
-                                            }
-                                        }
-                                        else {
-                                            Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                }
+                                else if (deviceType.equals(define.ROOM_NAME_CONCENT)) {
+                                    if (!wdb.GetRoomNameChangeByUser(deviceType)) {
+                                        Log.w(TAG, "[ProcSetsetup] Change CONCENT roomname by Manager!!! deviceType [" + deviceType + "]");
+                                        if (roomNameList_concent != null) {
+                                            Log.d(TAG, "[ProcSetsetup] roomNameList_concent = " + roomNameList_concent.toString()); // debugging
+
+                                            String[] roomNameArr = roomNameList_concent.toArray(new String[roomNameList_concent.size()]);
+                                            wdb.SetDevRoomNameList(roomNameArr, deviceType);
+                                            wdb.SetRoomNameChangeByManager(1, deviceType);
+                                            if (roomNameList_concent != null) roomNameList_concent = null;
                                         }
                                         }
                                     }
                                     }
-                                    else if (deviceType.equals(define.ROOM_NAME_SYSTEMAIRCON)) {
-                                        if (!wdb.GetRoomNameChangeByUser(deviceType)) {
-                                            Log.w(TAG, "[ProcSetsetup] Change SYSTEM AIRCON roomname by Manager!!! deviceType [" + deviceType + "]");
-                                            if (roomNameList_systemaircon != null) {
-                                                Log.d(TAG, "[ProcSetsetup] roomNameList_systemaircon = " + roomNameList_systemaircon.toString()); // debugging
-
-                                                String[] roomNameArr = roomNameList_systemaircon.toArray(new String[roomNameList_systemaircon.size()]);
-                                                wdb.SetDevRoomNameList(roomNameArr, deviceType);
-                                                wdb.SetRoomNameChangeByManager(1, deviceType);
-                                                if (roomNameList_systemaircon != null) roomNameList_systemaircon = null;
-                                            }
+                                    else {
+                                        Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                    }
+                                }
+                                else if (deviceType.equals(define.ROOM_NAME_HEATING)) {
+                                    if (!wdb.GetRoomNameChangeByUser(deviceType)) {
+                                        Log.w(TAG, "[ProcSetsetup] Change HEATING roomname by Manager!!! deviceType [" + deviceType + "]");
+                                        if (roomNameList_heating != null) {
+                                            Log.d(TAG, "[ProcSetsetup] roomNameList_heating = " + roomNameList_heating.toString()); // debugging
+
+                                            String[] roomNameArr = roomNameList_heating.toArray(new String[roomNameList_heating.size()]);
+                                            wdb.SetDevRoomNameList(roomNameArr, deviceType);
+                                            wdb.SetRoomNameChangeByManager(1, deviceType);
+                                            if (roomNameList_heating != null) roomNameList_heating = null;
                                         }
                                         }
-                                        else {
-                                            Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                    }
+                                    else {
+                                        Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                    }
+                                }
+                                else if (deviceType.equals(define.ROOM_NAME_SYSTEMAIRCON)) {
+                                    if (!wdb.GetRoomNameChangeByUser(deviceType)) {
+                                        Log.w(TAG, "[ProcSetsetup] Change SYSTEM AIRCON roomname by Manager!!! deviceType [" + deviceType + "]");
+                                        if (roomNameList_systemaircon != null) {
+                                            Log.d(TAG, "[ProcSetsetup] roomNameList_systemaircon = " + roomNameList_systemaircon.toString()); // debugging
+
+                                            String[] roomNameArr = roomNameList_systemaircon.toArray(new String[roomNameList_systemaircon.size()]);
+                                            wdb.SetDevRoomNameList(roomNameArr, deviceType);
+                                            wdb.SetRoomNameChangeByManager(1, deviceType);
+                                            if (roomNameList_systemaircon != null) roomNameList_systemaircon = null;
                                         }
                                         }
                                     }
                                     }
+                                    else {
+                                        Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                    }
+                                }
 
 
-                                    else if (deviceType.equals(define.ROOM_NAME_PURITY)) {
-                                        if (!wdb.GetRoomNameChangeByUser(deviceType)) {
-                                            Log.w(TAG, "[ProcSetsetup] Change PURITY roomname by Manager!!! deviceType [" + deviceType + "]");
-                                            if (roomNameList_purity != null) {
-                                                Log.d(TAG, "[ProcSetsetup] roomNameList_purity = " + roomNameList_purity.toString()); // debugging
+                                else if (deviceType.equals(define.ROOM_NAME_PURITY)) {
+                                    if (!wdb.GetRoomNameChangeByUser(deviceType)) {
+                                        Log.w(TAG, "[ProcSetsetup] Change PURITY roomname by Manager!!! deviceType [" + deviceType + "]");
+                                        if (roomNameList_purity != null) {
+                                            Log.d(TAG, "[ProcSetsetup] roomNameList_purity = " + roomNameList_purity.toString()); // debugging
 
 
-                                                String[] roomNameArr = roomNameList_purity.toArray(new String[roomNameList_purity.size()]);
-                                                wdb.SetDevRoomNameList(roomNameArr, deviceType);
-                                                wdb.SetRoomNameChangeByManager(1, deviceType);
-                                                if (roomNameList_purity != null) roomNameList_purity = null;
-                                            }
-                                        }
-                                        else {
-                                            Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                            String[] roomNameArr = roomNameList_purity.toArray(new String[roomNameList_purity.size()]);
+                                            wdb.SetDevRoomNameList(roomNameArr, deviceType);
+                                            wdb.SetRoomNameChangeByManager(1, deviceType);
+                                            if (roomNameList_purity != null) roomNameList_purity = null;
                                         }
                                         }
                                     }
                                     }
-                                    else if (deviceType.equals(define.ROOM_NAME_SHADING)) {
-                                        if (!wdb.GetRoomNameChangeByUser(deviceType)) {
-                                            Log.w(TAG, "[ProcSetsetup] Change SHADING roomname by Manager!!! deviceType [" + deviceType + "]");
-                                            if (roomNameList_shading != null) {
-                                                Log.d(TAG, "[ProcSetsetup] roomNameList_shading = " + roomNameList_shading.toString()); // debugging
-
-                                                String[] roomNameArr = roomNameList_shading.toArray(new String[roomNameList_shading.size()]);
-                                                wdb.SetDevRoomNameList(roomNameArr, deviceType);
-                                                wdb.SetRoomNameChangeByManager(1, deviceType);
-                                                if (roomNameList_shading != null) roomNameList_shading = null;
-                                            }
-                                        }
-                                        else {
-                                            Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                    else {
+                                        Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                    }
+                                }
+                                else if (deviceType.equals(define.ROOM_NAME_SHADING)) {
+                                    if (!wdb.GetRoomNameChangeByUser(deviceType)) {
+                                        Log.w(TAG, "[ProcSetsetup] Change SHADING roomname by Manager!!! deviceType [" + deviceType + "]");
+                                        if (roomNameList_shading != null) {
+                                            Log.d(TAG, "[ProcSetsetup] roomNameList_shading = " + roomNameList_shading.toString()); // debugging
+
+                                            String[] roomNameArr = roomNameList_shading.toArray(new String[roomNameList_shading.size()]);
+                                            wdb.SetDevRoomNameList(roomNameArr, deviceType);
+                                            wdb.SetRoomNameChangeByManager(1, deviceType);
+                                            if (roomNameList_shading != null) roomNameList_shading = null;
                                         }
                                         }
                                     }
                                     }
+                                    else {
+                                        Log.w(TAG, "[ProcSetsetup] Do not change roomname cause change by User!!! deviceType [" + deviceType + "]");
+                                    }
                                 }
                                 }
-                                wdb.closeDB();
                             }
                             }
+                            wdb.closeDB();
                         }
                         }
                     }
                     }
                 }
                 }
@@ -8468,6 +8582,7 @@ public class iMapServer extends Service {
             lightcmd = null;
             lightcmd = null;
             return retStr;
             return retStr;
         } catch (RuntimeException re) {
         } catch (RuntimeException re) {
+            Log.e(TAG, "[Exception] iCMDProcSDPSmartLightControl(Document ele)");
             LogUtil.errorLogInfo("", TAG, re);
             LogUtil.errorLogInfo("", TAG, re);
             return null;
             return null;
         } catch (Exception e) {
         } catch (Exception e) {
@@ -8550,7 +8665,7 @@ public class iMapServer extends Service {
             int emCount = LivingLightCount + BadLightCount;
             int emCount = LivingLightCount + BadLightCount;
             //mData.MasterController.Info.Light_SwitchCount
             //mData.MasterController.Info.Light_SwitchCount
 
 
-            Log.w(TAG, "[iCMDProcChumDamSmartLightControl] LivingLightCount [" + LivingLightCount + "], mSdbAPI.data.BadConcentCount [" + BadLightCount + "], nTotalLightCnt [" + totalLightCount +"]");
+            Log.w(TAG, "[iCMDProcChumDamSmartLightControl] LivingLightCount [" + LivingLightCount + "], BadLightCount [" + BadLightCount + "], SwitchCount [" + SwitchCount +"],  nTotalLightCnt [" + totalLightCount +"]");
 
 
             if (trimquotation(lightcmd.actionTXT).equalsIgnoreCase("status"))
             if (trimquotation(lightcmd.actionTXT).equalsIgnoreCase("status"))
             {
             {