Преглед на файлове

제어 스크린이 변경 후, 이전 timer이 이후 스크린에 영향을 미칠 경우가 발생할 여지에 대한 예방 코드. 가스 타이틀 오류 수정.

jslee(madeinlab) преди 3 години
родител
ревизия
769b0c7818

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

@@ -1423,6 +1423,7 @@ public class MainActivity extends WpadActivity {
 					break;
 
 				case API_Menu.SubMenuCtrl.Gas:
+				case ID.screen.GasTestScreen:
 					SetTitleText(API_Menu.SubMenuCtrl.Name_Gas);
 					ret = true;
 					break;

+ 7 - 2
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HeatingV2TestScreen.java

@@ -568,7 +568,9 @@ public class HeatingV2TestScreen extends WpadScreen {
                         }
                         else if(resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.
-                            makeDeviceData(jsonObject);
+                            if(timer!=null) {
+                                makeDeviceData(jsonObject);
+                            }
                         }
                     } catch (JSONException e) {
                         e.printStackTrace();
@@ -639,8 +641,11 @@ public class HeatingV2TestScreen extends WpadScreen {
         if (mData.heatingV2.Device.info.Support.Boiler) ((MainActivity)(getContext())).setTopBoilerBtnVisible(false);
         try {
             resetTimer();
-            if (timer != null)
+            if (timer != null) {
+                timer.purge();
                 timer.cancel();
+                timer = null;
+            }
         }catch (Exception e){}
     }
 

+ 7 - 2
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HybridCookTopTestScreen.java

@@ -478,7 +478,9 @@ public class HybridCookTopTestScreen extends WpadScreen {
                         }
                         else if(resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.
-                            makeDeviceData(jsonObject);
+                            if(timer!=null) {
+                                makeDeviceData(jsonObject);
+                            }
                         }
                     } catch (JSONException e) {
                         e.printStackTrace();
@@ -608,8 +610,11 @@ public class HybridCookTopTestScreen extends WpadScreen {
 
         try {
             resetTimer();
-            if (timer != null)
+            if (timer != null) {
+                timer.purge();
                 timer.cancel();
+                timer = null;
+            }
         }catch (Exception e){}
 
         Log.i(TAG, "[END   - Screen] ********************************************");

+ 7 - 2
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/KnxSystemAirconMainTestScreen.java

@@ -500,7 +500,9 @@ public class KnxSystemAirconMainTestScreen extends WpadScreen {
                         }
                         else if(resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.
-                            makeDeviceData(jsonObject);
+                            if(timer!=null) {
+                                makeDeviceData(jsonObject);
+                            }
                         }
                     } catch (JSONException e) {
                         e.printStackTrace();
@@ -583,8 +585,11 @@ public class KnxSystemAirconMainTestScreen extends WpadScreen {
 
         try {
             resetTimer();
-            if (timer != null)
+            if (timer != null) {
+                timer.purge();
                 timer.cancel();
+                timer = null;
+            }
         }catch (Exception e){}
     }
 

+ 7 - 2
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/LightKnxMainTestScreen.java

@@ -490,7 +490,9 @@ public class LightKnxMainTestScreen extends WpadScreen {
                             startRefreshTimer(1000);
                         } else if (resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.
-                            makeDeviceData(jsonObject);
+                            if(timer!=null) {
+                                makeDeviceData(jsonObject);
+                            }
                         }
                     } catch (JSONException e) {
                         e.printStackTrace();
@@ -597,8 +599,11 @@ public class LightKnxMainTestScreen extends WpadScreen {
 
         try {
             resetTimer();
-            if (timer != null)
+            if (timer != null) {
+                timer.purge();
                 timer.cancel();
+                timer = null;
+            }
         }catch (Exception e){}
     }
 

+ 7 - 2
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/VentilationMainTestScreen.java

@@ -555,7 +555,9 @@ public class VentilationMainTestScreen extends WpadScreen {
                             startRefreshTimer(500);
                         } else if (resultData.getType().equals("updateResponse")) {
                             //상태 조회 응답이 오면, data를 갱신한다.
-                            makeDeviceData(jsonObject);
+                            if(timer!=null) {
+                                makeDeviceData(jsonObject);
+                            }
                         }
                     } catch (JSONException e) {
                         e.printStackTrace();
@@ -733,8 +735,11 @@ public class VentilationMainTestScreen extends WpadScreen {
 
         try {
             resetTimer();
-            if (timer != null)
+            if (timer != null) {
+                timer.purge();
                 timer.cancel();
+                timer = null;
+            }
         }catch (Exception e){}
     }