增加天气card回退索引 864/1
authorluozheng <1732036298@qq.com>
Tue, 3 Sep 2024 10:08:04 +0000 (18:08 +0800)
committerluozheng <1732036298@qq.com>
Tue, 3 Sep 2024 10:08:04 +0000 (18:08 +0800)
code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherControlView.h
code/sdk/application/wearable/fd230app/nativeui/weather/src/MainWeatherPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/src/MainWeatherView.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherControlView.cpp

index 8b58ce5..91cc6fb 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-01 15:10:34
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-23 11:41:32
+ * @LastEditTime: 2024-09-03 17:53:43
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h
  */
 
@@ -93,6 +93,7 @@ namespace OHOS
     private:
         void LogCardTransition(CardId previous, CardId current);
         void ResetSleepCardView();
+        void ResetWeatherCardView();
         void StartHeartRateDetection();
         void UpdateWatchFace();
         void UpdateWeather();
index f3f82bb..d053c32 100644 (file)
@@ -413,14 +413,19 @@ namespace OHOS
             LogCardTransition(previousCardId, currentCardId);
             HeartModel::GetInstance()->Heart_Control(HeartState::End, HeartCheck::CARDCHECK);
         }
-#if 1
+
         // 从睡眠卡片跳转到其他卡片时切换到睡眠卡片主界面
         if (previousCardId == SLEEP && currentCardId != SLEEP)
         {
             LogCardTransition(previousCardId, currentCardId);
             ResetSleepCardView();
         }
-#endif
+        if (previousCardId == WEATHER && currentCardId != WEATHER)
+        {
+            LogCardTransition(previousCardId, currentCardId);
+            ResetWeatherCardView();
+        }
+
         // 更新上一个卡片的值
         previousCardId = currentCardId;
 
@@ -446,9 +451,6 @@ namespace OHOS
             UpdateWeather();
             break;
 
-            // case SLEEP:
-            //     ResetSleepCardView();
-            //     break;
         }
     }
     /*打印日志*/
@@ -468,6 +470,18 @@ namespace OHOS
             }
         }
     }
+    /*天气卡片*/
+    void MainPresenterSample::ResetWeatherCardView()
+    {
+        if(WeatherControlView::GetInstance())
+        {
+            auto weatherSwipView = WeatherControlView::GetInstance()->GetWeatherSwipView();
+            if (weatherSwipView->GetCurrentPage() != 0)
+            {
+                weatherSwipView->SetCurrentPage(0);
+            }
+        }
+    }
     /*心率卡片*/
     void MainPresenterSample::StartHeartRateDetection()
     {
index 8ada8cd..edad327 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-01-29 15:37:44
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-19 10:02:35
+ * @LastEditTime: 2024-09-03 18:01:53
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherControlView.h
  */
 #ifndef WEATHER_CONTROL_VIEW_H
@@ -25,6 +25,7 @@ namespace OHOS
         void PreLoad(void) override;
         void UnLoad(void) override;
         bool UpdateWeatherControlViewVisibility();
+        UISwipeView *GetWeatherSwipView(void);
 
     private:
         void ClearAll(void);
index f4e5fef..2961a7f 100644 (file)
@@ -105,7 +105,7 @@ namespace OHOS
 \r
     void MainWeatherPresenter::OnSwipe(UISwipeView &view)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainWeatherPresenter::OnSwipe,current tab index = %d", view.GetCurrentPage());\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherPresenter::OnSwipe,current tab index = %d", view.GetCurrentPage());\r
         // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "the view index = %d,dragging direction = %d,current tab index = %d", view.GetViewIndex(), view.GetDirection(), view.GetCurrentPage());\r
         if (view.GetCurrentPage() == MAINWEATHERVIEW)\r
         {\r
@@ -115,16 +115,16 @@ namespace OHOS
 \r
     void WeatherControlViewOnSwipeListener::OnSwipe(UISwipeView &view)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherControlViewOnSwipeListener::OnSwipe,current tab index = %d", view.GetCurrentPage());\r
-        if (view.GetCurrentPage() == MAINWEATHERVIEW)\r
-        {\r
-            view.SetIntercept(false);\r
-            //MainWeatherView::GetInstance()->GetFutureWeatherView()->GetFutureWeatherList()->RefreshList();\r
-        }\r
-        else\r
-        {\r
-            view.SetIntercept(true);\r
-        }\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherControlViewOnSwipeListener::OnSwipe,current tab index = %d", view.GetCurrentPage());\r
+        // if (view.GetCurrentPage() == MAINWEATHERVIEW)\r
+        // {\r
+        //     view.SetIntercept(false);\r
+        //     //MainWeatherView::GetInstance()->GetFutureWeatherView()->GetFutureWeatherList()->RefreshList();\r
+        // }\r
+        // else\r
+        // {\r
+        //     view.SetIntercept(true);\r
+        // }\r
         return;\r
     }\r
 }
\ No newline at end of file
index c7f874e..69919a4 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-01-29 15:37:44\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-19 10:09:11\r
+ * @LastEditTime: 2024-09-03 18:01:48\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/MainWeatherView.cpp\r
  */\r
 #include "weather/include/MainWeatherView.h"\r
@@ -79,32 +79,35 @@ namespace OHOS
     UISwipeView *MainWeatherView::MainWeatherViewInit(void)\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherView::MainWeatherViewInit");\r
-        weatherSwipeViewList = new UISwipeView(UISwipeView::VERTICAL);\r
         if (nullptr == weatherSwipeViewList)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherSwipeViewList new fail!!");\r
-            return nullptr;\r
-        }\r
-\r
-        weatherSwipeViewList->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
-        weatherSwipeViewList->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); // 0 : X; 0 : Y\r
-        weatherSwipeViewList->SetAnimatorTime(50);                                           // 50:animator drag time(ms)\r
-        weatherSwipeViewList->SetViewId(MAIN_WEATHER_VIEW);\r
-        weatherSwipeViewList->SetDraggable(true);\r
-        weatherSwipeViewList->SetTouchable(true);\r
-        weatherSwipeViewList->SetVisible(false);\r
-        for (uint16_t i = 0; i < maxPage; i++)\r
-        {\r
-            recordCard[i] = CreatePage(i);\r
-            if (nullptr == recordCard[i])\r
+            weatherSwipeViewList = new UISwipeView(UISwipeView::VERTICAL);\r
+            if (nullptr == weatherSwipeViewList)\r
             {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordCard[%d] is nullptr!!", i);\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherSwipeViewList new fail!!");\r
                 return nullptr;\r
             }\r
-            recordCard[i]->InitView(this);\r
-            weatherSwipeViewList->Add(recordCard[i]);\r
+\r
+            weatherSwipeViewList->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+            weatherSwipeViewList->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); // 0 : X; 0 : Y\r
+            weatherSwipeViewList->SetAnimatorTime(50);                                           // 50:animator drag time(ms)\r
+            weatherSwipeViewList->SetViewId(MAIN_WEATHER_VIEW);\r
+            weatherSwipeViewList->SetDraggable(true);\r
+            weatherSwipeViewList->SetTouchable(true);\r
+            weatherSwipeViewList->SetVisible(false);\r
+            for (uint16_t i = 0; i < maxPage; i++)\r
+            {\r
+                recordCard[i] = CreatePage(i);\r
+                if (nullptr == recordCard[i])\r
+                {\r
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordCard[%d] is nullptr!!", i);\r
+                    return nullptr;\r
+                }\r
+                recordCard[i]->InitView(this);\r
+                weatherSwipeViewList->Add(recordCard[i]);\r
+            }\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherView InitPage over!!");\r
         }\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherView InitPage over!!");\r
         return weatherSwipeViewList;\r
     }\r
 \r
index d2e9c94..1eb0079 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-01-29 15:37:44
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-19 10:04:22
+ * @LastEditTime: 2024-09-03 18:01:21
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherControlView.cpp
  */
 #include "weather/include/WeatherControlView.h"
@@ -66,7 +66,7 @@ namespace OHOS
         return true;
     }
 
-    //天气数据有效初始化该视图
+    // 天气数据有效初始化该视图
     bool WeatherControlView::InitializeWeatherSwipeView()
     {
         weatherSwipView = mainWeatherView->MainWeatherViewInit();
@@ -83,14 +83,14 @@ namespace OHOS
             return false;
         }
 
-        weatherSwipView->SetOnSwipeListener(weatherOnSwipeListener);
+        // weatherSwipView->SetOnSwipeListener(weatherOnSwipeListener);
         weatherSwipView->SetVisible(false);
         Add(weatherSwipView);
 
         return true;
     }
 
-    //无天气数据则初始化该视图
+    // 无天气数据则初始化该视图
     bool WeatherControlView::InitializeWeatherDataErrorView()
     {
         weatherScrllView = mainWeatherView->WeatherDataErrorViewPageInit();
@@ -164,4 +164,9 @@ namespace OHOS
         // Weather's usage scenes is complicated, so we do not release it's resources inner slice.
     }
 
+    UISwipeView *WeatherControlView::GetWeatherSwipView(void)
+    {
+        return weatherSwipView;
+    }
+
 }
\ No newline at end of file