Kaynağa Gözat

UI 순서 변경 작업. 일부 멀티제어 오류 수정

jslee(madeinlab) 3 yıl önce
ebeveyn
işleme
5df11dca01
13 değiştirilmiş dosya ile 112 ekleme ve 86 silme
  1. 3 0
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java
  2. 7 2
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/PopupActivity.java
  3. 4 0
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/data/HeatingArrayData.java
  4. 1 0
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_aircon/KnxSystemAirconMainScreen.java
  5. 1 0
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_aircon/KnxSystemAirconPopupScreen.java
  6. 38 24
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_heating/HeatingV2MainScreen.java
  7. 21 15
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_heating/HeatingV2PopupScreen.java
  8. 3 1
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_light/LightKnxMainScreen.java
  9. 3 1
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_light/LightKnxPopupRoomScreen.java
  10. 5 1
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2PopupBoilerTestScreen.java
  11. 10 6
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2PopupTestScreen.java
  12. 16 36
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2TestScreen.java
  13. 0 0
      build/intermediates/lint-cache/maven.google/com/android/tools/build/group-index.xml

+ 3 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/MainActivity.java

@@ -1310,6 +1310,7 @@ public class MainActivity extends WpadActivity {
 			setPopupActivityRun(true);
 			Intent intent = new Intent(mContext, PopupActivity.class);
 			intent.putExtra("ScreenId", ScreenId);
+			intent.putExtra("Ho", mMultiAddress);
 
 			overridePendingTransition(0, 0);
 			startActivityForResult(intent, 0);
@@ -1332,6 +1333,8 @@ public class MainActivity extends WpadActivity {
 			setPopupActivityRun(true);
 			Intent intent = new Intent(mContext, PopupActivity.class);
 			intent.putExtra("ScreenId", ScreenId);
+			intent.putExtra("Ho", mMultiAddress);
+
 
 			intent.putExtra("PopupScreenDataIntent", data);
 

+ 7 - 2
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/PopupActivity.java

@@ -11,6 +11,7 @@ package kr.co.icontrols.wallpadhomectrl;
 
 import com.artncore.WallPadDataMgr.WallpadDeviceSet;
 import com.artncore.WallPadDataMgr.WallpadStatusData;
+import com.artncore.WallPadDataMgr.wallpaddbmgr;
 import com.artncore.wallpadapi.WallPadAPI;
 import com.util.LogUtil;
 import android.annotation.SuppressLint;
@@ -282,6 +283,7 @@ public class PopupActivity extends WpadActivity
         // 5. Start ScreenId Data Get
         Intent intent = getIntent();
         int ScreenId = intent.getIntExtra("ScreenId", -1);
+        mMultiAddress = intent.getIntExtra("Ho", -1);
         Log.d(TAG, "ScreenId = " + ScreenId);
         if(ScreenId < 0)
         {
@@ -545,7 +547,7 @@ public class PopupActivity extends WpadActivity
                 case ID.screen.HeatingV2PopupTestScreen:
                     try
                     {
-                        heatingV2PopupTestScreen = new HeatingV2PopupTestScreen(mContext, AllLayout, wpapi, OPERATION_MODE);
+                        heatingV2PopupTestScreen = new HeatingV2PopupTestScreen(mContext, AllLayout, OPERATION_MODE);
                         super.setCurrentScreen(heatingV2PopupTestScreen);
                     }
                     catch (RuntimeException re) {
@@ -751,6 +753,8 @@ public class PopupActivity extends WpadActivity
      *
      * */
 
+    int mMultiAddress;
+
     public String millToDate(long mills) {
         String pattern = "yyyy-MM-dd'T'HH:mm:ss";
         SimpleDateFormat formatter = new SimpleDateFormat(pattern);
@@ -811,7 +815,8 @@ public class PopupActivity extends WpadActivity
 
         public void run() {
             //String host = "10.1.1.1";
-            String host = "10.1.1.2";
+            //String host = "10.1.1.2";
+            String host = "10.1."+mMultiAddress+".1";
             int port = 9998;
             String json = "";
             // build jsonObject

+ 4 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/data/HeatingArrayData.java

@@ -7,6 +7,7 @@ public class HeatingArrayData{
     private int mode;
     private double setTemp;
     private double nowTemp;
+    private boolean valveStatus;
     private ArrayList<Integer> reservationArray;
     private int sleepTemp;
     private int sleepTime;
@@ -26,6 +27,9 @@ public class HeatingArrayData{
     public double getSetTemp() {
         return setTemp;
     }
+    public boolean getValveStatus() {
+        return valveStatus;
+    }
     public void setSetTemp(Float setTemp) {
         this.setTemp = setTemp;
     }

+ 1 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_aircon/KnxSystemAirconMainScreen.java

@@ -103,6 +103,7 @@ public class KnxSystemAirconMainScreen extends WpadScreen {
 
     private byte savedMode = 0;             //모드 저장용도. 자동(0)
 
+    //private final int[] ROOM_POS = {4,3,2,1,0,5,6,7,8,9,10,11,12,13,14,15};
     private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
 
     private String[] mDefaultRoomNameList = new String[]{"거실", "침실4", "침실1", "파우더룸", "침실2", "주방1", "침실3",

+ 1 - 0
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_aircon/KnxSystemAirconPopupScreen.java

@@ -76,6 +76,7 @@ public class KnxSystemAirconPopupScreen extends WpadScreen {
     private int mModeCount = 5;
 
     private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
+    //private final int[] ROOM_POS = {4,3,2,1,0,5,6,7,8,9,10,11,12,13,14,15};
 
 
     // =================================================================================================

+ 38 - 24
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_heating/HeatingV2MainScreen.java

@@ -79,7 +79,9 @@ public class HeatingV2MainScreen extends WpadScreen {
     private int ROOM_CNT = ROOM_CNT_NORMAL;   // 한 화면에 표시하는 방개수
     private final static int ROOM_CNT_EASYMODE = 4;
     private final static int ROOM_CNT_NORMAL = 6;
-    private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12};
+    //private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12};
+    private final int[] ROOM_POS = {7,6,5,4,3,2,1,0,8,9,10,11,12};
+
 
     int nDistributionPanelType = Version.DISTRIBUTION_MODEL.OTHER;
 
@@ -342,6 +344,7 @@ public class HeatingV2MainScreen extends WpadScreen {
         // 1. Data Create
         DebugLogOutput("[HeatingV2MainScreen] - Step1 : Data Create");
         OPERATION_MODE = operationMode;
+        //OPERATION_MODE = Common.MODE_BUSINESS_SAMPLE;
         WallpadDeviceSet wds = new WallpadDeviceSet(getContext());
         nDistributionPanelType = wds.Get_DistributionPannelType_Info();
         wds.closeDB();
@@ -759,6 +762,8 @@ public class HeatingV2MainScreen extends WpadScreen {
 
                 Intent data = new Intent();
 
+                //index = ROOM_POS[index];
+
                 // 타겟 룸인덱스
                 data.putExtra("ROOM_INDEX", index);
 
@@ -853,21 +858,22 @@ public class HeatingV2MainScreen extends WpadScreen {
                 }
             }
             else {
-                if (!checkRoomIndex(index)) return;
 
                 byte pos = (byte) ROOM_POS[index];
 
-                HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[pos];
-                //HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[index];
+                if (!checkRoomIndex(pos)) return;
+
+                //HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[pos];
+                HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[index];
 
                 // 운전모드 표시
-                drawModeChange(index, roomData.bValveStatus, roomData.Mode);
+                drawModeChange(pos, roomData.bValveStatus, roomData.Mode);
 
                 // 현재온도 표시
-                drawCurrentTemper(index, roomData.NowTemp);
+                drawCurrentTemper(pos, roomData.NowTemp);
 
                 // 설정온도 표시
-                if (Data_DriveModeConverterOnOff(index)) drawSetTemper(index, roomData.SetTemp);
+                if (Data_DriveModeConverterOnOff(index)) drawSetTemper(pos, roomData.SetTemp);
                 else roomView[index].TXT_TEMPER_SET.setText("");
             }
 
@@ -1064,8 +1070,8 @@ public class HeatingV2MainScreen extends WpadScreen {
      */
     private void drawEntireRoomTitle(int idx) {
         if (mData == null) return;
-        int room_title = ROOM_POS[idx];
-        drawRoomTitle(idx, astrRoomTitle[room_title]);
+        int newIndex = ROOM_POS[idx];
+        drawRoomTitle(idx, astrRoomTitle[newIndex]);
     }
 
     /**
@@ -1378,6 +1384,7 @@ public class HeatingV2MainScreen extends WpadScreen {
      */
     private int ctrlDeviceMode(byte RoomIdx, byte DeiveMode) {
         DebugLogOutput("[ctrlDeviceMode] - (RoomIdx:" + RoomIdx + ", DeiveMode:" + String.format("%02x", DeiveMode) + ")");
+        RoomIdx = (byte) ROOM_POS[RoomIdx];
         return ctrlDeviceUnitStatus(RoomIdx, DeiveMode, 0);
     }
 
@@ -1474,7 +1481,7 @@ public class HeatingV2MainScreen extends WpadScreen {
         byte RoomCount = (byte) ROOM_CNT;
         int GetRoomCount = DB_GetSampleRoomNumber();
         if(GetRoomCount > 0) RoomCount = (byte) GetRoomCount;
-//        RoomCount = 6; // 테스트 @@@@@@@@@@
+        RoomCount = 8; // 테스트 @@@@@@@@@@
         mData.heatingV2.Device.SetRoomCount(RoomCount);
 
         HeatingV2.Info info = mData.heatingV2.Device.info;
@@ -1514,44 +1521,50 @@ public class HeatingV2MainScreen extends WpadScreen {
             HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[i];
             switch (i) {
                 case 0:
+                case 7:
                     roomData.Mode = HeatingV2.MODE.HeatingON;
-                    roomData.SetTemp = 19.5;
-                    roomData.NowTemp = 18.0;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
                     ON = true;
                     break;
 
                 case 1:
+                case 8:
                     roomData.Mode = HeatingV2.MODE.HeatingON;
-                    roomData.SetTemp = 16.0;
-                    roomData.NowTemp = 16.5;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
                     ON = true;
                     break;
 
                 case 2:
+                case 9:
                     if (Version.getModelType() == Version.MODEL_TYPE.IHN_1020GL) roomData.Mode = HeatingV2.MODE.Pause;
                     else roomData.Mode = HeatingV2.MODE.Outing;
 
-                    roomData.SetTemp = 16.5;
-                    roomData.NowTemp = 15.0;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
 
                     break;
 
                 case 3:
+                case 10:
                     roomData.Mode = HeatingV2.MODE.HeatingOFF;
-                    roomData.SetTemp = 22.0;
-                    roomData.NowTemp = 20.5;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
                     break;
 
                 case 4:
+                case 11:
                     if (Version.getModelType() == Version.MODEL_TYPE.IHN_1020GL) roomData.Mode = HeatingV2.MODE.Sleep;
                     else roomData.Mode = HeatingV2.MODE.HeatingON;
 
-                    roomData.SetTemp = 20.0;
-                    roomData.NowTemp = 14.5;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
                     ON = true;
                     break;
 
                 case 5:
+                case 12:
                     if (Version.getModelType() == Version.MODEL_TYPE.IHN_1020GL) {
                         roomData.Mode = HeatingV2.MODE.Reservation;
                         ON = true;
@@ -1560,14 +1573,15 @@ public class HeatingV2MainScreen extends WpadScreen {
                         roomData.Mode = HeatingV2.MODE.HeatingOFF;
                     }
 
-                    roomData.SetTemp = 18.0;
-                    roomData.NowTemp = 17.0;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
                     break;
 
                 case 6:
+                case 13:
                     roomData.Mode = HeatingV2.MODE.HeatingON;
-                    roomData.SetTemp = 16.0;
-                    roomData.NowTemp = 16.5;
+                    roomData.SetTemp = 10.0+i;
+                    roomData.NowTemp = 10.5+i;
                     ON = true;
                     break;
             }

+ 21 - 15
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_heating/HeatingV2PopupScreen.java

@@ -119,8 +119,10 @@ public class HeatingV2PopupScreen extends WpadScreen {
 
     private int mCurrentTabStatus = -1;
     private int mCurrentRoomIndex = 0;
+    private int mCurrentOriginRoomIndex = 0;
 
-    private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12};
+    //private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12};
+    private final int[] ROOM_POS = {7,6,5,4,3,2,1,0,8,9,10,11,12};
 
     private class Data {
         private HeatingV2API.Data heatingV2;
@@ -191,7 +193,8 @@ public class HeatingV2PopupScreen extends WpadScreen {
             // 시작할 룸인덱스
             int RoomIndex = intent.getIntExtra("ROOM_INDEX", -1);
             if (RoomIndex > 0) {
-                mCurrentRoomIndex = RoomIndex;
+                mCurrentOriginRoomIndex = RoomIndex;
+                mCurrentRoomIndex = ROOM_POS[RoomIndex];
             }
 
             // 방명칭
@@ -674,9 +677,10 @@ public class HeatingV2PopupScreen extends WpadScreen {
                     }
                     mData.AmPm = false;
 
-                    mCurrentRoomIndex--;
-                    if (mCurrentRoomIndex < 0)
-                        mCurrentRoomIndex = (int) (mData.heatingV2.Device.info.RoomCount - 1);
+                    mCurrentOriginRoomIndex--;
+                    if (mCurrentOriginRoomIndex < 0)
+                        mCurrentOriginRoomIndex = (int) (mData.heatingV2.Device.info.RoomCount - 1);
+                    mCurrentRoomIndex = ROOM_POS[mCurrentOriginRoomIndex];
                     Draw_TitleChange(mCurrentRoomIndex);
                     if (OPERATION_MODE == Common.MODE_NOMAL)
                         Device_SetPollingMode(POLLING_MODE.FixRoom, (byte) mCurrentRoomIndex);
@@ -697,8 +701,9 @@ public class HeatingV2PopupScreen extends WpadScreen {
                     }
                     mData.AmPm = false;
 
-                    mCurrentRoomIndex++;
-                    if (mCurrentRoomIndex >= (int) mData.heatingV2.Device.info.RoomCount) mCurrentRoomIndex = 0;
+                    mCurrentOriginRoomIndex++;
+                    if (mCurrentOriginRoomIndex >= (int) mData.heatingV2.Device.info.RoomCount) mCurrentOriginRoomIndex = 0;
+                    mCurrentRoomIndex = ROOM_POS[mCurrentOriginRoomIndex];
                     Draw_TitleChange(mCurrentRoomIndex);
                     if (OPERATION_MODE == Common.MODE_NOMAL) Device_SetPollingMode(POLLING_MODE.FixRoom, (byte) mCurrentRoomIndex);
                     drawUpdate((byte) mCurrentRoomIndex);
@@ -950,9 +955,9 @@ public class HeatingV2PopupScreen extends WpadScreen {
                     Log.i(TAG, "[drawUpdate] (index != Common.INDEX_ALL) && (index != (byte) mCurrentRoomIndex)");
                     return;
                 }
-                int pos = ROOM_POS[index];
-                HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[pos];
-                //HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[mCurrentRoomIndex];
+                //int pos = ROOM_POS[index];
+                //HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[pos];
+                HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[mCurrentRoomIndex];
 
                 // 운전모드 , 밸브상태 갱신
                 Draw_ModeChange(roomData.bValveStatus, roomData.Mode);
@@ -1175,8 +1180,8 @@ public class HeatingV2PopupScreen extends WpadScreen {
 
         if ((index < 0) || (index >= 8)) return;
 
-        int room_title = ROOM_POS[index];
-        TitleText.setText(mRoomNameList[room_title]);
+        //int room_title = ROOM_POS[index];
+        TitleText.setText(mRoomNameList[index]);
     }
 
     /**
@@ -1543,6 +1548,7 @@ public class HeatingV2PopupScreen extends WpadScreen {
      */
     private int Device_ControlMode(byte RoomIdx, byte DeiveMode) {
         DebugLogOutput("[Device_ControlMode] - (RoomIdx:" + RoomIdx + ", DeiveMode:" + String.format("%02x", DeiveMode) + ")");
+        //RoomIdx = (byte) ROOM_POS[RoomIdx];
         return Device_SetEachRoomStatus(RoomIdx, DeiveMode, 0);
     }
 
@@ -1815,12 +1821,12 @@ public class HeatingV2PopupScreen extends WpadScreen {
      * @return (byte) 운전모드
      */
     private byte Data_getDriveMode(byte index) {
-        byte newIndex = (byte) ROOM_POS[index];
+        //byte newIndex = (byte) ROOM_POS[index];
         if (mData == null) return (byte) 0x00;
         if (mData.heatingV2.Device.Room == null) return (byte) 0x00;
-        if (mData.heatingV2.Device.Room.length <= newIndex) return (byte) 0x00;
+        if (mData.heatingV2.Device.Room.length <= index) return (byte) 0x00;
 
-        return mData.heatingV2.Device.Room[newIndex].Mode;
+        return mData.heatingV2.Device.Room[index].Mode;
     }
 
     /**

+ 3 - 1
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_light/LightKnxMainScreen.java

@@ -177,7 +177,8 @@ public class LightKnxMainScreen extends WpadScreen {
     private static final int EM_TYPE = 0;
     private static final int SWITCH_TYPE = 1;
 
-    private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
+    //private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
+    private final int[] ROOM_POS = {10,11,12,13,14,15,16,7,8,9,0,1,2,3,4,5,6,17,18,19,20};
 
     private String[] mDefaultRoomNameList = new String[]{"거실", "거실", "침실4", "침실1", "파우더룸", "침실2", "주방1", "침실3",
             "복도1", "욕실1", "욕실2","보조주방","욕실3","욕실4","욕실5","복도2", "현관", "신발장", "창고", "주방2", "간이주방", "서재1", "작업실","드레스룸3","추가룸1","추가룸2","추가룸3","추가룸4","추가룸5"};
@@ -550,6 +551,7 @@ public class LightKnxMainScreen extends WpadScreen {
             } else if ((TargetId >= ID.KnxLight.button.Light_Btn_1) && (TargetId <= ID.KnxLight.button.Light_Btn_1 + AllEMcount)) {
                 // 방별 조명 제어
                 int index = TargetId - ID.KnxLight.button.Light_Btn_1;
+                index = ROOM_POS[index];
                 DebugLogOutput("onTouchEvent [LIGHT_" + (index + 1) + "] BUTTON !!!");
 
                 boolean OnOff = false;

+ 3 - 1
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_light/LightKnxPopupRoomScreen.java

@@ -88,7 +88,9 @@ public class LightKnxPopupRoomScreen extends WpadScreen {
     public static final int min = 1;
     public int SeekBarValue = 1;
 
-    private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
+    //private final int[] ROOM_POS = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
+    private final int[] ROOM_POS = {10,11,12,13,14,15,16,7,8,9,0,1,2,3,4,5,6,17,18,19,20};
+
 
     private String[] mDefaultRoomNameList = new String[]{"거실", "거실", "침실4", "침실1", "파우더룸", "침실2", "주방1", "침실3",
             "복도1", "욕실1", "욕실2","보조주방","욕실3","욕실4","욕실5","복도2", "현관", "신발장", "창고", "주방2", "간이주방"};

+ 5 - 1
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2PopupBoilerTestScreen.java

@@ -216,10 +216,14 @@ public class HeatingV2PopupBoilerTestScreen extends WpadScreen
         ((PopupActivity) mContext).requestMultiControl(handler, JSON.MENU.HEATING, kind, reason, position, category, number, state);
     }
 
+    private void requestMultiStatus(int kind, int reason, int position){
+        ((PopupActivity) mContext).requestMultiStatus(handler, JSON.MENU.HEATING, kind, reason, position);
+    }
+
     private void updateData() {
         try {
             //난방 전체 상태 조회. 조회해서 data에 대입해준다.
-            requestMultiCommand(JSON.KIND.All,JSON.REASON.Status,0, "",0,0);
+            requestMultiStatus(JSON.KIND.All, JSON.REASON.Status,JSON.POSITION.All);
         } catch (RuntimeException re) {
             LogUtil.errorLogInfo("", TAG, re);
         }

+ 10 - 6
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2PopupTestScreen.java

@@ -36,6 +36,7 @@ import org.json.JSONObject;
 import java.util.Timer;
 import java.util.TimerTask;
 
+import kr.co.icontrols.wallpadhomectrl.MainActivity;
 import kr.co.icontrols.wallpadhomectrl.PopupActivity;
 import kr.co.icontrols.wallpadhomectrl.R;
 import kr.co.icontrols.wallpadhomectrl.data.HeatingArrayData;
@@ -240,10 +241,14 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
         ((PopupActivity) mContext).requestMultiControl(handler, JSON.MENU.HEATING, kind, reason, position, category, number, state);
     }
 
+    private void requestMultiStatus(int kind, int reason, int position){
+        ((PopupActivity) mContext).requestMultiStatus(handler, JSON.MENU.HEATING, kind, reason, position);
+    }
+
     private void updateData() {
         try {
-            //난방 전체 상태 조회. 조회해서 data에 대입해준다.
-            requestMultiCommand(JSON.KIND.All, JSON.REASON.Status, 0, "", 0, 0);
+            //난방 전체 상태 조회. 조회한 다음 data에 대입해준다.
+            requestMultiStatus(JSON.KIND.All, JSON.REASON.Status,JSON.POSITION.All);
         } catch (RuntimeException re) {
             LogUtil.errorLogInfo("", TAG, re);
         } catch (Exception e) {
@@ -302,10 +307,9 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
      *
      * @param context       - 부모 context
      * @param layout        - 사용할 main layout
-     * @param wpapi         - 상속받은 WallPadAPI
      * @param operationMode - 동작모드
      */
-    public HeatingV2PopupTestScreen(Context context, RelativeLayout layout, WallPadAPI wpapi, int operationMode) {
+    public HeatingV2PopupTestScreen(Context context, RelativeLayout layout, int operationMode) {
         super(context, layout);
 
         Log.i(TAG, "[START - Screen] --------------------------------------------");
@@ -314,8 +318,6 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
         DebugLogOutput("[Create] - Step1 : Data Create");
         mContext = context;
         OPERATION_MODE = operationMode;
-        //madeinLab for test
-        //OPERATION_MODE = Common.MODE_BUSINESS_SAMPLE;
         mData = new Data();
 
         Intent intent = super.getScreenIntent();
@@ -705,6 +707,8 @@ public class HeatingV2PopupTestScreen extends WpadScreen {
                 if (TargetId == ID.heatingV2Popup.button.EXIT) {
                     DebugLogOutput("onTouchEvent [EXIT] BUTTON !!!");
                     Sound().Play(SND.effect.TOUCH_LATCHED);
+                    Intent data = new Intent();
+                    super.setPopupResult(data);
 
                     super.finish();
                 } else if (TargetId == ID.heatingV2Popup.button.MANUAL) {

+ 16 - 36
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2TestScreen.java

@@ -99,7 +99,7 @@ public class HeatingV2TestScreen extends WpadScreen {
 
     int nDistributionPanelType = Version.DISTRIBUTION_MODEL.OTHER;
 
-    private String[] mKNXDefaultRoomNameList = new String[]{"거실!!", "침실4!!", "침실1", "파우더룸", "침실2", "주방1", "침실3",
+    private String[] mKNXDefaultRoomNameList = new String[]{"거실", "침실4", "침실1", "파우더룸", "침실2", "주방1", "침실3",
             "복도1", "욕실1", "욕실2","보조주방","욕실3","욕실4","욕실5","복도2", "현관", "신발장", "창고", "주방2", "간이주방"};
 
     // [Package]
@@ -338,8 +338,10 @@ public class HeatingV2TestScreen extends WpadScreen {
 
             String dataSeq = heatingData.getData_seq();
             String[] strDataSeq = dataSeq.split("_");
-            for(int i=0;i<ROOM_POS.length;i++){
-                ROOM_POS[i] = Integer.valueOf(strDataSeq[i]);
+            for(int i=0;i<strDataSeq.length;i++){
+                if(strDataSeq[i]!=null) {
+                    ROOM_POS[i] = Integer.valueOf(strDataSeq[i]);
+                }
             }
 
             DataClasses.HeatingV2.Info info = mData.heatingV2.Device.info;
@@ -361,6 +363,7 @@ public class HeatingV2TestScreen extends WpadScreen {
                 roomData.Mode = (byte)heatingArrayData.getMode();
                 roomData.SetTemp = heatingArrayData.getSetTemp();
                 roomData.NowTemp = heatingArrayData.getNowTemp();
+                roomData.bValveStatus = heatingArrayData.getValveStatus();
             }
             // 3. Image Create
             nTotalPageNo = (info.RoomCount / ROOM_CNT) + (((info.RoomCount % ROOM_CNT) > 0) ? 1: 0);
@@ -612,32 +615,7 @@ public class HeatingV2TestScreen extends WpadScreen {
     @Override
     protected void onPopupResult(Intent intent) {
         if (intent != null) {
-            int Screen = intent.getIntExtra("SCREEN", -1);
-            if (Screen == ID.screen.HeatingV2PopupScreen) {
-                if (OPERATION_MODE == Common.MODE_BUSINESS_SAMPLE) {
-                    double[] CurTempArray = intent.getDoubleArrayExtra("CURTEMP_ARRAY");
-                    double[] SetTempArray = intent.getDoubleArrayExtra("SETTEMP_ARRAY");
-                    byte[] ModeArray    = intent.getByteArrayExtra  ("MODE_ARRAY");
-
-                    if ((CurTempArray != null) && (SetTempArray != null) && (ModeArray != null)) {
-                        for (byte i = 0; i < mData.heatingV2.Device.info.RoomCount; i++) {
-                            HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[i];
-                            roomData.NowTemp = CurTempArray[i];
-                            roomData.SetTemp = SetTempArray[i];
-                            roomData.Mode    = ModeArray[i];
-
-                            if (Data_DriveModeConverterOnOff((byte)i)) {
-                                if (roomData.NowTemp < roomData.SetTemp) roomData.bValveStatus = true;
-                                else roomData.bValveStatus = false;
-                            }
-                            else {
-                                roomData.bValveStatus = false;
-                            }
-                        }
-                        drawUpdate(Common.INDEX_ALL);
-                    }
-                }
-            }
+            updateData();
         }
     }
 
@@ -774,18 +752,20 @@ public class HeatingV2TestScreen extends WpadScreen {
                 }
             }
             else {
-                if (!checkRoomIndex(index)) return;
+                
 
                 byte pos = (byte) ROOM_POS[index];
+				
+				if (!checkRoomIndex(index)) return;
 
-                HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[pos];
-                //HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[index];
+                //HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[pos];
+                HeatingV2.RoomData roomData = mData.heatingV2.Device.Room[index];
 
                 // 운전모드 표시
-                drawModeChange(index, roomData.bValveStatus, roomData.Mode);
+                drawModeChange(pos, roomData.bValveStatus, roomData.Mode);
 
                 // 현재온도 표시
-                drawCurrentTemper(index, roomData.NowTemp);
+                drawCurrentTemper(pos, roomData.NowTemp);
 
                 // 설정온도 표시
                 if (Data_DriveModeConverterOnOff(index)) drawSetTemper(index, roomData.SetTemp);
@@ -982,8 +962,8 @@ public class HeatingV2TestScreen extends WpadScreen {
      */
     private void drawEntireRoomTitle(int idx) {
         if (mData == null) return;
-        int room_title = ROOM_POS[idx];
-        drawRoomTitle(idx, astrRoomTitle[room_title]);
+        int newIndex = ROOM_POS[idx];
+        drawRoomTitle(idx, astrRoomTitle[newIndex]);
         //drawRoomTitle(idx, astrRoomTitle[idx]);
     }
 

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
build/intermediates/lint-cache/maven.google/com/android/tools/build/group-index.xml


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor