天气app视图修改
authorluozheng <1732036298@qq.com>
Sat, 16 Mar 2024 06:43:30 +0000 (14:43 +0800)
committerluozheng <1732036298@qq.com>
Sat, 16 Mar 2024 06:43:30 +0000 (14:43 +0800)
85 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h
code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h
code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp
code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h
code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/include/MainWeatherPresenter.h
code/sdk/application/wearable/fd230app/nativeui/weather/include/MainWeatherView.h
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportPresenter.h [deleted file]
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportView.h
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherView.h
code/sdk/application/wearable/fd230app/nativeui/weather/src/FutureWeatherPresenter.cpp
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/WeatherReportPresenter.cpp [deleted file]
code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherReportView.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherView.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/1.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/10.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/11.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/12.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/13.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/14.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/15.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/16.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/17.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/18.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/19.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/2.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/20.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/3.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/4.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/5.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/6.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/7.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/8.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/9.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/1.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/10.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/11.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/12.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/13.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/14.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/15.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/16.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/17.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/18.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/19.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/2.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/20.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/21.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/22.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/23.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/24.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/3.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/4.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/5.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/6.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/7.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/8.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/9.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/1.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/10.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/11.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/12.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/13.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/14.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/15.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/16.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/17.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/18.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/19.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/2.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/20.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/21.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/22.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/23.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/24.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/3.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/4.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/5.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/6.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/7.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/8.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/9.bin [new file with mode: 0644]

index 66a9a9f..4d25652 100644 (file)
@@ -252,9 +252,9 @@ set(SOURCES
 
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/config/src/ConfigModel.cpp
 
+    #天气
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/MainWeatherPresenter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/MainWeatherView.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/WeatherReportPresenter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/WeatherReportView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/FutureWeatherPresenter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/FutureWeatherView.cpp
index 3696585..487957f 100644 (file)
@@ -43,7 +43,6 @@ typedef enum : uint16_t
     VIEW_INDOORWALK,              // 室内步行
     VIEW_SHUTDOWN_OR_REBOOT,      // 关机或重启界面
     VIEW_WEATHER,                 // 天气
-    VIEW_WEATHER_REPORT,          // 气象报告
     VIEW_FUTURE_WEATHER,          // 未来天气
     VIEW_GET_WEATHER_DATA_ERROR,  // 获取天气数据失败
     VIEW_SYSTEM,                  // 系统
index e70e780..d195de5 100644 (file)
@@ -34,7 +34,6 @@ namespace OHOS
         void InitRecordingSlice(void);
         /* ----------------------------------- 天气 ----------------------------------- */
         void InitWeatherSlice(void);
-        void InitWeatherReportSlice(void);
         void InitFutureWeatherSlice(void);
         void InitGetWeatherDataErrorSlice(void);
         /* -------------------------------------------------------------------------- */
index e3879fd..398629a 100644 (file)
@@ -64,8 +64,6 @@
 
 #include "weather/include/MainWeatherPresenter.h"
 #include "weather/include/MainWeatherView.h"
-#include "weather/include/WeatherReportPresenter.h"
-#include "weather/include/WeatherReportView.h"
 #include "weather/include/FutureWeatherPresenter.h"
 #include "weather/include/FutureWeatherView.h"
 #include "weather/include/GetWeatherDataErrorPresenter.h"
@@ -161,7 +159,6 @@ namespace OHOS
         {VIEW_INDOORWALK, &NativeLauncher::InitIndoorWalkSlice},
         {VIEW_SHUTDOWN_OR_REBOOT, &NativeLauncher::InitRebootSlice},
         {VIEW_WEATHER, &NativeLauncher::InitWeatherSlice},                            // 天气
-        {VIEW_WEATHER_REPORT, &NativeLauncher::InitWeatherReportSlice},               // 气象报告
         {VIEW_FUTURE_WEATHER, &NativeLauncher::InitFutureWeatherSlice},               // 未来天气
         {VIEW_GET_WEATHER_DATA_ERROR, &NativeLauncher::InitGetWeatherDataErrorSlice}, // 获取天气数据失败
         {VIEW_SYSTEM, &NativeLauncher::InitSystemSlice},                              // 系统实例化地址
@@ -509,17 +506,6 @@ namespace OHOS
         NativeAbility::GetInstance().AddSliceProxy(VIEW_WEATHER, mainweather);
     }
 
-    void NativeLauncher::InitWeatherReportSlice(void) // 气象报告
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitWeatherReportSlice");
-        SliceProxy *weatherreport = new AbilitySliceProxy<WeatherReportView, WeatherReportPresenter>;
-        if (weatherreport == nullptr)
-        {
-            return;
-        }
-        NativeAbility::GetInstance().AddSliceProxy(VIEW_WEATHER_REPORT, weatherreport);
-    }
-
     void NativeLauncher::InitFutureWeatherSlice(void) // 未来天气
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitFutureWeatherSlice");
index 1590945..5ae3a10 100644 (file)
@@ -6,7 +6,7 @@
 #include <filesystem>
 #include "../../../../../../open_source/openharmony/third_party/cJSON/cJSON.h"
 #include "wearable_log.h"
-
+#include "components/ui_image_animator.h"
 namespace OHOS
 {
     class ConfigModel
@@ -144,6 +144,34 @@ namespace OHOS
             }
         }
     }
+    /* ------------------------------ ImageAnimator ----------------------------- */
+    /*
+     * 图片动画类
+     */
+    class ImageAnimator
+    {
+    public:
+        struct ImageAnimatorConfig
+        {
+            int16_t x;
+            int16_t y;
+            int16_t w;
+            int16_t h;
+
+            int numFrames;
+            int time;
+        } imageAnimatorConfig;
+        // 构造函数
+        ImageAnimator();
+        // 析构函数
+        ~ImageAnimator();
 
+        const char **CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages);
+
+        void InitImageAnimatorSource(UIImageAnimatorView *&imageAnimator, ImageAnimatorInfo *&imageAnimatorInfo, const char **imagePaths, const ImageAnimatorConfig &imageAnimatorConfig);
+
+        void FreeImagePathsArray(const char **imagePaths, const int numImages);
+
+    };
 }
 #endif
\ No newline at end of file
index 7d4feec..783635b 100644 (file)
@@ -128,4 +128,85 @@ namespace OHOS
     {
         return HeartRateOrBloodOxygenQuickAccessSwitch;
     }
+
+    /* ------------------------------ ImageAnimator ----------------------------- */
+
+    ImageAnimator::ImageAnimator()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ImageAnimator::ImageAnimator");
+    }
+
+    ImageAnimator::~ImageAnimator()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ImageAnimator::~ImageAnimator");
+    }
+
+    /*
+     * @brief 创建并初始化图像路径数组
+     * @param  basePath 包含图片文件的基本路径
+     * @param  fileExtension 图片文件的扩展名
+     * @param  numImages 图片文件的数量
+     * @return 返回包含图片文件路径的数组
+     */
+    const char **ImageAnimator::CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages)
+    {
+        const char **imagePaths = new const char *[numImages];
+        char buffer[256];
+        for (int i = 0; i < numImages; i++)
+        {
+            snprintf(buffer, sizeof(buffer), "%s%d.%s", basePath, i + 1, fileExtension);
+            imagePaths[i] = strdup(buffer);
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " imagePaths[%d] = %s", i, imagePaths[i]);
+        }
+        return imagePaths;
+    }
+
+    /*
+     * @brief 初始化UIImageAnimatorView,并设置为GIF动画
+     * 该函数用于使用提供的GIF图像和属性初始化UIImageAnimatorView
+     * @param imageAnimator 要初始化的UIImageAnimatorView对象的引用
+     * @param imagePaths 图片路径
+     * @param imageAnimatorInfo 图片映像的信息
+     * @param imageAnimatorConfig 样式配置信息
+     */
+    void ImageAnimator::InitImageAnimatorSource(UIImageAnimatorView *&imageAnimator, ImageAnimatorInfo *&imageAnimatorInfo, const char **imagePaths, const ImageAnimatorConfig &imageAnimatorConfig)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ImageAnimator::InitImageAnimatorSource");
+
+        if (imageAnimator == nullptr)
+        {
+            imageAnimator = new UIImageAnimatorView();
+        }
+        imageAnimator->SetPosition(imageAnimatorConfig.x, imageAnimatorConfig.y, imageAnimatorConfig.w, imageAnimatorConfig.h);
+        imageAnimator->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
+        imageAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+
+        imageAnimatorInfo = new ImageAnimatorInfo[imageAnimatorConfig.numFrames];
+        for (int i = 0; i < imageAnimatorConfig.numFrames; i++)
+        {
+            imageAnimatorInfo[i].imagePath = imagePaths[i];
+            imageAnimatorInfo[i].pos.x = imageAnimatorConfig.x;
+            imageAnimatorInfo[i].pos.y = imageAnimatorConfig.y;
+            imageAnimatorInfo[i].width = imageAnimatorConfig.w;
+            imageAnimatorInfo[i].height = imageAnimatorConfig.h;
+            imageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;
+        }
+
+        imageAnimator->SetImageAnimatorSrc(imageAnimatorInfo, imageAnimatorConfig.numFrames, imageAnimatorConfig.time); // 200 is the default delay time
+        imageAnimator->SetTimeOfPause(imageAnimatorConfig.time);
+        imageAnimator->SetRepeat(true);
+    }
+    /*
+     * 释放图片文件路径数组占用的内存
+     * @param  imagePaths  图片文件路径数组
+     * @param  numImages  图片文件的数量
+     */
+    void ImageAnimator::FreeImagePathsArray(const char **imagePaths, const int numImages)
+    {
+        for (int i = 0; i < numImages; i++)
+        {
+            free((void *)imagePaths[i]);
+        }
+        delete[] imagePaths;
+    }
 }
\ No newline at end of file
index 0ad0ca0..04e1e83 100644 (file)
@@ -7,11 +7,13 @@
 /*主天气视图*/\r
 namespace OHOS\r
 {\r
+    static constexpr const char *MAIN_WEATHER_VIEW = "MainWeatherview";\r
     class MainWeatherView;\r
     class MainWeatherPresenter : public Presenter<MainWeatherView>,\r
                                  public UIView::OnClickListener,\r
                                  public RootView::OnKeyActListener,\r
-                                 public UIView::OnDragListener\r
+                                 public UIView::OnDragListener,\r
+                                 public UISwipeView::OnSwipeListener\r
     {\r
     public:\r
         MainWeatherPresenter();\r
@@ -28,7 +30,9 @@ namespace OHOS
         // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
         bool OnClick(UIView &view, const ClickEvent &event) override;\r
         bool OnDrag(UIView &view, const DragEvent &event) override;\r
+        bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
         bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
+        void OnSwipe(UISwipeView& view) override;\r
     };\r
 } // namespace OHOS\r
 \r
index b5554d4..cbc2de4 100644 (file)
@@ -3,10 +3,20 @@
 \r
 #include "BaseView.h"\r
 #include "View.h"\r
-#include "weather/include/WeatherView.h"\r
+#include "components/ui_swipe_view.h"\r
 \r
+#include "weather/include/WeatherView.h"\r
+#include "weather/include/WeatherReportView.h"\r
 namespace OHOS\r
 {\r
+    typedef enum\r
+    {\r
+        MAINWEATHERVIEW = 0, // 主天气视图\r
+        WEATHERREPORTVIEW,   // 气象报告视图\r
+        // FUTUREWEATHERVIEW,   // 未来七天天气视图\r
+        MAX_WEATHERVIEW,\r
+    } WeatherPageId;\r
+\r
     class MainWeatherPresenter;\r
     class MainWeatherView : public View<MainWeatherPresenter>\r
     {\r
@@ -15,14 +25,29 @@ namespace OHOS
         MainWeatherView();\r
         virtual ~MainWeatherView();\r
         static MainWeatherView *GetInstance(void);\r
+        UIViewGroup *MainWeatherViewInit(void);\r
+        void ClearAll(void);\r
+        AppGroupView *WeatherViewPageInit(void);\r
+        AppGroupView *WeatherReportViewPageInit(void);\r
+        WeatherView * GetWeatherView(void);\r
+        WeatherReportView *GetWeatherReportView(void);\r
 \r
+    public:\r
         void OnStart() override;\r
         void OnSetUpView() override;\r
         void OnTearDownView() override;\r
         void OnStop() override;\r
 \r
     private:\r
-    WeatherView * weatherView{nullptr};\r
+        WeatherView *weatherView{nullptr};\r
+        WeatherReportView *weatherReportView{nullptr};\r
+\r
+    private:\r
+        int16_t maxPage = MAX_WEATHERVIEW;\r
+        UISwipeView *weatherSwipeViewList{nullptr}; // 天气滑动视图列表\r
+        AppGroupView *recordCard[MAX_WEATHERVIEW]{nullptr};\r
+        bool pageStatus[MAX_WEATHERVIEW]{false};\r
+        AppGroupView *CreatePage(int32_t WeatherPageId);\r
     };\r
 } // namespace OHOS\r
 #endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportPresenter.h
deleted file mode 100644 (file)
index a604926..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef WEATHER_REPORT_PRESENTER_H\r
-#define WEATHER_REPORT_PRESENTER_H\r
-\r
-#include "Presenter.h"\r
-#include "WeatherReportView.h"\r
-\r
-namespace OHOS\r
-{\r
-    class WeatherReportView;\r
-\r
-    class WeatherReportPresenter : public Presenter<WeatherReportView>,\r
-                                   public UIView::OnClickListener,\r
-                                   public UIView::OnDragListener\r
-    {\r
-    public:\r
-        WeatherReportPresenter();\r
-        virtual ~WeatherReportPresenter();\r
-\r
-        void OnStart() override;\r
-        void OnPause() override;\r
-        void OnResume() override;\r
-        void OnStop() override;\r
-\r
-        static WeatherReportPresenter *GetInstance();\r
-\r
-    private:\r
-        // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
-        bool OnClick(UIView &view, const ClickEvent &event) override;\r
-        bool OnDrag(UIView &view, const DragEvent &event) override;\r
-    };\r
-} // namespace OHOS\r
-\r
-#endif // WeatherReport_PRESENTER_H
\ No newline at end of file
index 31c9082..d5e112a 100644 (file)
@@ -3,45 +3,64 @@
 \r
 #include "BaseView.h"\r
 #include "View.h"\r
+#include "AppGroupView.h"\r
 #include "components/ui_view_group.h"\r
 #include "components/ui_scroll_view.h"\r
-#include "components/ui_label.h"\r
+#include "components/ui_label_ext.h"\r
 #include "components/ui_image_animator.h"\r
+#include "config/include/ConfigModel.h"\r
 namespace OHOS\r
 {\r
-    class WeatherReportPresenter;\r
-    class WeatherReportView : public View<WeatherReportPresenter>\r
+\r
+    class WeatherReportView : public AppGroupView\r
     {\r
 \r
     public:\r
+        struct LabelConfig\r
+        {\r
+            int16_t left;\r
+            int16_t top;\r
+            int16_t width;\r
+            int16_t height;\r
+            int16_t fontSize;      // 字体大小\r
+            int16_t lineHeigh;     // 行高\r
+            const char *text;      // 文本\r
+            uint8_t lineBreakMode; // 断行模式。\r
+        };\r
         WeatherReportView();\r
         virtual ~WeatherReportView();\r
         static WeatherReportView *GetInstance(void);\r
-\r
-        void OnStart() override;\r
-        void OnSetUpView() override;\r
-        void OnTearDownView() override;\r
-        void OnStop() override;\r
-\r
-    private:\r
-        void InitView(void);\r
-        void DeInitView(void);\r
-        void PreLoad(void);\r
+        bool InitPage(void);\r
+        virtual bool InitView(void *caller) override;\r
+        void ClearAll(void);\r
+        UIImageAnimatorView *GetUVImageAnimatorView()\r
+        {\r
+            return UVImageAnimatorView;\r
+        }\r
 \r
     private:\r
-        UIViewGroup *container_ = nullptr;\r
-        UIScrollView *scrollView1_ = nullptr;\r
-        UILabel *label5_ = nullptr;\r
-        UIImageAnimatorView *imageAnimator3_ = nullptr;\r
-        UIImageAnimatorView *imageAnimator2_ = nullptr;\r
-        UIImageAnimatorView *imageAnimator1_ = nullptr;\r
-        UIImageAnimatorView *imageAnimator = nullptr;\r
-        UILabel *label6_ = nullptr;\r
-        UILabel *label7_ = nullptr;\r
-        UILabel *label8_ = nullptr;\r
-        UILabel *label9_ = nullptr;\r
-        UILabel *label10_ = nullptr;\r
-        UILabel *label11_ = nullptr;\r
+        UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
+        bool WeatherReportViewLabelInit(void);\r
+        bool WeatherReportViewImageAnimatorViewInit(void);\r
+        UILabelExt *title{nullptr};                               // 标题\r
+        UILabelExt *UV{nullptr};                                  // 紫外线\r
+        UILabelExt *UV_Number{nullptr};                           //\r
+        UILabelExt *WindSpeed{nullptr};                           // 风速\r
+        UILabelExt *WindSpeed_Number{nullptr};                    //\r
+        UILabelExt *Humidity{nullptr};                            // 湿度\r
+        UILabelExt *Humidity_Number{nullptr};                     //\r
+        UIImageAnimatorView *UVImageAnimatorView{nullptr};        // 紫外线动画\r
+        UIImageAnimatorView *WindSpeedImageAnimatorView{nullptr}; // 风速动画\r
+        UIImageAnimatorView *HumidityImageAnimatorView{nullptr};  // 湿度动画\r
+        UIImageAnimatorView *AnimatorView{nullptr};\r
+        ImageAnimator *p_ImageAnimator{nullptr};\r
+        ImageAnimatorInfo *UVimageAnimatorInfo{nullptr};\r
+        ImageAnimatorInfo *WindSpeedimageAnimatorInfo{nullptr};\r
+        ImageAnimatorInfo *HumidityimageAnimatorInfo{nullptr};\r
+        const char **UVPaths{nullptr};\r
+        const char **WindSpeedPaths{nullptr};\r
+        const char **HumidityPaths{nullptr};\r
+        std::string imagePaths = "/user/res/weather/weather60x60gif";\r
         bool viewInitStatus{false};\r
     };\r
 } // namespace OHOS\r
index 24b8e64..9a2ffeb 100644 (file)
@@ -36,7 +36,7 @@ namespace OHOS
 
 namespace OHOS
 {
-    class WeatherView : public UIViewGroup
+    class WeatherView : public AppGroupView
     {
 
     public:
@@ -44,7 +44,7 @@ namespace OHOS
         virtual ~WeatherView();
         static WeatherView *GetInstance(void);
         bool InitPage(void);
-        bool InitView(void);
+        virtual bool InitView(void *caller) override;
         void ClearAll();
         bool GetInitViewState(void);
 
index 8c2d22b..7235195 100644 (file)
@@ -57,7 +57,7 @@ namespace OHOS
         if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM &&\r
             (event.GetDeltaY() > 20) && (event.GetDeltaY() > (2 * MATH_ABS(event.GetDeltaX()))))\r
         {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_WEATHER_REPORT); // 未来天气界面从上往下滑进入气象报告界面\r
+            //NativeAbility::GetInstance().ChangeSlice(VIEW_WEATHER_REPORT); // 未来天气界面从上往下滑进入气象报告界面\r
         }\r
         return true;\r
     }\r
index 6acebea..595311c 100644 (file)
@@ -52,25 +52,27 @@ namespace OHOS
 \r
     bool MainWeatherPresenter::OnDrag(UIView &view, const DragEvent &event)\r
     {\r
-        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
-            (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))\r
+\r
+        return true;\r
+    }\r
+\r
+    bool MainWeatherPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " MainWeatherPresenter::OnDragEnd");\r
+        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
         {\r
             NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
             return true;\r
         }\r
-        // else if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP)\r
-        // {\r
-        //     NativeAbility::GetInstance().ChangeSlice(VIEW_WEATHER_REPORT); // 主天气界面从下往上滑进入气象报告界面\r
-        //     return true;\r
-        // }\r
-        return false;\r
+        return true;\r
     }\r
 \r
     bool MainWeatherPresenter::OnClick(UIView &view, const ClickEvent &event)\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " MainWeatherPresenter::OnClick");\r
 \r
-        // 根据控件id查找是哪个控件触发了点击回调\r
-        // if (strcmp(view.GetViewId(), 控件ID) == 0)\r
+        UNUSED(view);\r
+        UNUSED(event);\r
         return true;\r
     }\r
 \r
@@ -79,12 +81,18 @@ namespace OHOS
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnKeyAct");\r
         uint16 keyID = event.GetKeyId();\r
-               //如果是power键就返回上一级\r
-               if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
-               {\r
-                       uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
-                       NativeAbility::GetInstance().ChangeSlice(preSlice);\r
-               }\r
+        // 如果是power键就返回上一级\r
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+        {\r
+            uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+            NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+        }\r
         return true;\r
     }\r
+\r
+    void MainWeatherPresenter::OnSwipe(UISwipeView &view)\r
+    {\r
+        WEARABLE_LOGE(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
+    }\r
 }
\ No newline at end of file
index 8a7ceb3..24fd107 100644 (file)
 #include "weather/include/MainWeatherView.h"\r
 #include "weather/include/MainWeatherPresenter.h"\r
+#include "ScreenModels.h"\r
 namespace OHOS\r
 {\r
     static MainWeatherView *g_pMainWeatherView{nullptr};\r
     MainWeatherView::MainWeatherView()\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherView::MainWeatherView");\r
         g_pMainWeatherView = this;\r
     }\r
 \r
     MainWeatherView::~MainWeatherView()\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherView::~MainWeatherView");\r
-        RootView::GetInstance()->Remove(weatherView);\r
+        ClearAll();\r
+        g_pMainWeatherView = nullptr;\r
+    }\r
+\r
+    MainWeatherView *MainWeatherView::GetInstance(void)\r
+    {\r
+        return g_pMainWeatherView;\r
+    }\r
+\r
+    void MainWeatherView::ClearAll(void)\r
+    {\r
+        for (int32_t i = 0; i < maxPage; i++)\r
+        {\r
+            recordCard[i] = nullptr;\r
+        }\r
+        weatherSwipeViewList->RemoveAll();\r
+\r
         delete weatherView;\r
         weatherView = nullptr;\r
-        g_pMainWeatherView = nullptr;\r
+\r
+        delete weatherReportView;\r
+        weatherReportView = nullptr;\r
+\r
+        delete weatherSwipeViewList;\r
+        weatherSwipeViewList = nullptr;\r
     }\r
 \r
-    void MainWeatherView::OnStart()\r
+    /*\r
+     * @brief 主天气页面视图初始化\r
+     */\r
+    UIViewGroup *MainWeatherView::MainWeatherViewInit(void)\r
     {\r
-        View<MainWeatherPresenter>::OnStart();\r
-        weatherView = new WeatherView();\r
-        if (weatherView == nullptr)\r
+        WEARABLE_LOGE(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
+        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
+\r
+        UIView::OnClickListener *weatherOnClickListener = (UIView::OnClickListener *)OHOS::MainWeatherPresenter::GetInstance();\r
+        if (weatherOnClickListener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnClickListener new fail");\r
+            return nullptr;\r
+        }\r
+\r
+        UIView::OnDragListener *weatherOnDragListener = (UIView::OnDragListener *)OHOS::MainWeatherPresenter::GetInstance();\r
+        if (weatherOnDragListener == nullptr)\r
         {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherView::new weatherView fail!");\r
-            return;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnDragListener new fail");\r
+            return nullptr;\r
         }\r
-        UIView::OnDragListener *weatherDragListener = (UIView::OnDragListener *)OHOS::MainWeatherPresenter::GetInstance();\r
-        if (weatherDragListener == nullptr)\r
+\r
+        UISwipeView::OnSwipeListener *weatherOnSwipeListener = (UISwipeView::OnSwipeListener *)OHOS::MainWeatherPresenter::GetInstance();\r
+        if (weatherOnSwipeListener == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherDragListener new fail");\r
-            return;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnSwipeListener new fail");\r
+            return nullptr;\r
         }\r
-        weatherView->SetOnDragListener(weatherDragListener);\r
-        weatherView->InitView();\r
-        RootView::GetInstance()->Add(weatherView);\r
-        // 增加按键监听\r
+\r
+        weatherSwipeViewList->SetOnClickListener(weatherOnClickListener);\r
+        weatherSwipeViewList->SetOnDragListener(weatherOnDragListener);\r
+        weatherSwipeViewList->SetOnSwipeListener(weatherOnSwipeListener);\r
+        weatherSwipeViewList->SetViewId(MAIN_WEATHER_VIEW);\r
+        weatherSwipeViewList->SetDraggable(true);\r
+        weatherSwipeViewList->SetTouchable(true);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainWeatherView InitPage over!!");\r
+\r
+        return weatherSwipeViewList;\r
+    }\r
+\r
+    void MainWeatherView::OnStart()\r
+    {\r
+        View<MainWeatherPresenter>::OnStart();\r
+        MainWeatherViewInit();\r
+\r
         RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::MainWeatherPresenter::GetInstance();\r
         RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
     }\r
@@ -43,6 +112,7 @@ namespace OHOS
     void MainWeatherView::OnSetUpView()\r
     {\r
         View<MainWeatherPresenter>::OnSetUpView();\r
+        RootView::GetInstance()->Add(weatherSwipeViewList);\r
         Draw();\r
     }\r
 \r
@@ -60,4 +130,76 @@ namespace OHOS
         RootView::GetInstance()->RemoveAll();\r
         return;\r
     }\r
+\r
+    WeatherView *MainWeatherView::GetWeatherView(void)\r
+    {\r
+        return weatherView;\r
+    }\r
+\r
+    WeatherReportView *MainWeatherView::GetWeatherReportView(void)\r
+    {\r
+        return weatherReportView;\r
+    }\r
+\r
+    /*\r
+     * @brief 天气页面视图初始化\r
+     */\r
+    AppGroupView *MainWeatherView::WeatherViewPageInit(void)\r
+    {\r
+        weatherView = new WeatherView();\r
+        if (weatherView == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainWeatherView::new weatherView fail!");\r
+            return nullptr;\r
+        }\r
+\r
+        return weatherView;\r
+    }\r
+\r
+    /*\r
+     * @brief 气象报告视图初始化\r
+     */\r
+    AppGroupView *MainWeatherView::WeatherReportViewPageInit(void)\r
+    {\r
+        weatherReportView = new WeatherReportView();\r
+        if (weatherReportView == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainWeatherView::new weatherReportView fail!");\r
+            return nullptr;\r
+        }\r
+        return weatherReportView;\r
+    }\r
+\r
+    struct MainWeatherViewMapper\r
+    {\r
+        const int16_t viewId;\r
+        AppGroupView *(MainWeatherView::*func)(void);\r
+    };\r
+\r
+    // 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与DisplayBrightnessViewMapper类中的特定成员函数指针进行了绑定。\r
+    static const MainWeatherViewMapper g_pageMapper[] = {\r
+        {MAINWEATHERVIEW, &MainWeatherView::WeatherViewPageInit},\r
+        {WEATHERREPORTVIEW, &MainWeatherView::WeatherReportViewPageInit},\r
+    };\r
+\r
+    /*\r
+     * @brief 根据提供的 WeatherPageId 查找对应的页面ID,然后根据这个页面ID来创建对应的页面视图\r
+     */\r
+    AppGroupView *MainWeatherView::CreatePage(int32_t WeatherPageId)\r
+    {\r
+        uint16_t i;\r
+        AppGroupView *view = nullptr;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage WeatherPageId:%d", WeatherPageId);\r
+\r
+        for (i = 0; i < sizeof(g_pageMapper) / sizeof(g_pageMapper[0]); i++)\r
+        {\r
+            if (g_pageMapper[i].viewId == WeatherPageId)\r
+            {                                             // 正确使用 WeatherPageId 来匹配视图ID\r
+                view = (this->*(g_pageMapper[i].func))(); // 如果找到匹配项,则调用相应的函数创建视图\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage view:%p", view);\r
+                return view; // 返回创建的视图\r
+            }\r
+        }\r
+        return nullptr; // 如果没有找到匹配的视图ID,返回 nullptr\r
+    }\r
 }
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherReportPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherReportPresenter.cpp
deleted file mode 100644 (file)
index 22ef28c..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#include "AppViewIDs.h"\r
-#include "NativeAbility.h"\r
-\r
-#include "weather/include/WeatherReportPresenter.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
-    // 当前Presenter属性实例化的内存指针\r
-    static WeatherReportPresenter *g_pWeatherReportPresenter = nullptr;\r
-\r
-    WeatherReportPresenter::WeatherReportPresenter()\r
-    {\r
-\r
-        g_pWeatherReportPresenter = this;\r
-    }\r
-\r
-    WeatherReportPresenter::~WeatherReportPresenter()\r
-    {\r
-\r
-        g_pWeatherReportPresenter = nullptr;\r
-    }\r
-\r
-    WeatherReportPresenter *WeatherReportPresenter::GetInstance()\r
-    {\r
-\r
-        return g_pWeatherReportPresenter;\r
-    }\r
-\r
-    void WeatherReportPresenter::OnStart()\r
-    {\r
-\r
-        Presenter<WeatherReportView>::OnStart();\r
-    }\r
-\r
-    void WeatherReportPresenter::OnPause(void)\r
-    {\r
-\r
-        Presenter<WeatherReportView>::OnPause();\r
-    }\r
-\r
-    void WeatherReportPresenter::OnResume(void)\r
-    {\r
-\r
-        Presenter<WeatherReportView>::OnResume();\r
-    }\r
-\r
-    void WeatherReportPresenter::OnStop(void)\r
-    {\r
-\r
-        Presenter<WeatherReportView>::OnStop();\r
-    }\r
-\r
-    bool WeatherReportPresenter::OnDrag(UIView &view, const DragEvent &event)\r
-    {\r
-\r
-        if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM &&\r
-            (event.GetDeltaY() > 20) && (event.GetDeltaY() > (2 * MATH_ABS(event.GetDeltaX()))))\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_WEATHER); // 气象报告界面从上往下滑进入主天气界面\r
-            return true;\r
-        }\r
-        if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_FUTURE_WEATHER); // 气象报告界面从下往上进入未来天气界面\r
-            return true;\r
-        }\r
-        return false;\r
-    }\r
-\r
-    bool WeatherReportPresenter::OnClick(UIView &view, const ClickEvent &event)\r
-    {\r
-\r
-        // 根据控件id查找是哪个控件触发了点击回调\r
-        // if (strcmp(view.GetViewId(), 控件ID) == 0)\r
-        return true;\r
-    }\r
-}
\ No newline at end of file
index 9207a89..95edcc5 100644 (file)
 #include "weather/include/WeatherReportView.h"\r
-#include "weather/include/WeatherReportPresenter.h"\r
-#include "UiConfig.h"\r
+#include "wearable_log.h"\r
 \r
 namespace OHOS\r
 {\r
-\r
-    const char *IMAGEANIMATOR3 = "/user/res/weather/WEATHER_WINDSPEED.bin";\r
-    const char *IMAGEANIMATOR2 = "/user/res/weather/WEATHER_HUMIDITY.bin";\r
-    const char *IMAGEANIMATOR1 = "/user/res/weather/WEATHER_UVI.bin";\r
-    static ImageAnimatorInfo g_imageAnimator3Info[2] = {\r
-        {IMAGEANIMATOR3, {341, 167}, 60, 60, IMG_SRC_FILE_PATH},\r
-        {"", {341, 167}, 60, 60, IMG_SRC_FILE_PATH},\r
-    };\r
-    static ImageAnimatorInfo g_imageAnimator2Info[2] = {\r
-        {IMAGEANIMATOR2, {207, 167}, 60, 60, IMG_SRC_FILE_PATH},\r
-        {"", {207, 167}, 60, 60, IMG_SRC_FILE_PATH},\r
-    };\r
-\r
-    static ImageAnimatorInfo g_imageAnimator1Info[2] = {\r
-        {IMAGEANIMATOR1, {73, 167}, 60, 60, IMG_SRC_FILE_PATH},\r
-        {"", {73, 167}, 60, 60, IMG_SRC_FILE_PATH},\r
-    };\r
-    static ImageAnimatorInfo g_imageAnimatorInfo[2] = {\r
-        {PNG_ANIMATOR1_IMAGE, {213, 400}, 40, 40, IMG_SRC_FILE_PATH},\r
-        {PNG_ANIMATOR2_IMAGE, {213, 400}, 40, 40, IMG_SRC_FILE_PATH},\r
-    };\r
     static WeatherReportView *g_pWeatherReportView{nullptr};\r
 \r
     WeatherReportView::WeatherReportView()\r
     {\r
-\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " WeatherReportView::WeatherReportView");\r
+        SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+        SetViewIndex(1);\r
         g_pWeatherReportView = this;\r
     }\r
 \r
     WeatherReportView::~WeatherReportView()\r
     {\r
-        if (viewInitStatus == true)\r
-        {\r
-            DeInitView();\r
-        }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " WeatherReportView::~WeatherReportView");\r
+        ClearAll();\r
         g_pWeatherReportView = nullptr;\r
     }\r
 \r
     WeatherReportView *WeatherReportView::GetInstance()\r
     {\r
-\r
         return g_pWeatherReportView;\r
     }\r
 \r
-    void WeatherReportView::InitView()\r
+    /**\r
+     * 释放图片文件路径数组占用的内存\r
+     * @param  imagePaths  图片文件路径数组\r
+     * @param  numImages  图片文件的数量\r
+     */\r
+    static void FreeImagePathsArray(const char **imagePaths, int numImages)\r
     {\r
-        if (container_ == nullptr)\r
+        for (int i = 0; i < numImages; i++)\r
         {\r
-            container_ = new UIViewGroup();\r
-            container_->SetPosition(0, 0, 466, 466);\r
-            container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
-            container_->SetTouchable(true);\r
-            container_->SetDraggable(true);\r
-            UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(WeatherReportPresenter::GetInstance());\r
-            container_->SetOnDragListener(draglistener);\r
+            free((void *)imagePaths[i]);\r
         }\r
+        delete[] imagePaths;\r
+    }\r
 \r
-        // Add ScrollView to App\r
-        if (scrollView1_ == nullptr)\r
+    void WeatherReportView::ClearAll(void)\r
+    {\r
+        if (viewInitStatus == true)\r
         {\r
-            scrollView1_ = new UIScrollView();\r
-        }\r
-        scrollView1_->SetPosition(0, 0);        // widget's left position and top position\r
-        scrollView1_->Resize(466, 466);         // widget's width and height\r
-        scrollView1_->SetViewId("scrollView1"); // Set style\r
-        scrollView1_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+            RemoveAll();\r
+            delete title;\r
+            title = nullptr;\r
 \r
-        // Set additional property\r
+            delete UV;\r
+            UV = nullptr;\r
 \r
-        // Add to rootView\r
-        container_->Add(scrollView1_);\r
-        scrollView1_->SetVisible(true);\r
+            delete UV_Number;\r
+            UV_Number = nullptr;\r
 \r
-        // Add Label to App\r
-        if (label5_ == nullptr)\r
-        {\r
-            label5_ = new UILabel();\r
-        }\r
-        label5_->SetPosition(173, 52); // widget's left position and top position\r
-        label5_->Resize(120, 35);      // widget's width and height\r
-        label5_->SetViewId("label5");  // Set style\r
-        label5_->SetStyle(STYLE_TEXT_FONT, 30);\r
-        label5_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-\r
-        // Set additional property\r
-        label5_->SetText("气象报告");\r
-        label5_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        label5_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label5_->SetRollSpeed(0);\r
-        label5_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(label5_);\r
-        label5_->SetVisible(true);\r
-\r
-        // Add ImageAnimatorView to App\r
-        if (imageAnimator3_ == nullptr)\r
-        {\r
-            imageAnimator3_ = new UIImageAnimatorView();\r
-        }\r
-        imageAnimator3_->SetPosition(341, 167);       // widget's left position and top position\r
-        imageAnimator3_->Resize(60, 60);              // widget's width and height\r
-        imageAnimator3_->SetViewId("imageAnimator3"); // Set style\r
-\r
-        // Set additional property\r
-        imageAnimator3_->SetImageAnimatorSrc(g_imageAnimator3Info, 2, 200);\r
-        imageAnimator3_->SetTimeOfPause(500);\r
-        imageAnimator3_->SetRepeatTimes(1);\r
-        imageAnimator3_->SetReverse(true);\r
-        imageAnimator3_->Start();\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(imageAnimator3_);\r
-        imageAnimator3_->SetVisible(true);\r
-\r
-        // Add ImageAnimatorView to App\r
-        if (imageAnimator2_ == nullptr)\r
-        {\r
-            imageAnimator2_ = new UIImageAnimatorView();\r
-        }\r
-        imageAnimator2_->SetPosition(207, 167);       // widget's left position and top position\r
-        imageAnimator2_->Resize(60, 60);              // widget's width and height\r
-        imageAnimator2_->SetViewId("imageAnimator2"); // Set style\r
-\r
-        // Set additional property\r
-        imageAnimator2_->SetImageAnimatorSrc(g_imageAnimator2Info, 2, 200);\r
-        imageAnimator2_->SetTimeOfPause(500);\r
-        imageAnimator2_->SetRepeatTimes(1);\r
-        imageAnimator2_->SetReverse(true);\r
-        imageAnimator2_->Start();\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(imageAnimator2_);\r
-        imageAnimator2_->SetVisible(true);\r
-\r
-        // Add ImageAnimatorView to App\r
-        if (imageAnimator1_ == nullptr)\r
-        {\r
-            imageAnimator1_ = new UIImageAnimatorView();\r
-        }\r
-        imageAnimator1_->SetPosition(73, 167);        // widget's left position and top position\r
-        imageAnimator1_->Resize(60, 60);              // widget's width and height\r
-        imageAnimator1_->SetViewId("imageAnimator1"); // Set style\r
-\r
-        // Set additional property\r
-        imageAnimator1_->SetImageAnimatorSrc(g_imageAnimator1Info, 2, 200);\r
-        imageAnimator1_->SetTimeOfPause(500);\r
-        imageAnimator1_->SetRepeatTimes(1);\r
-        imageAnimator1_->SetReverse(true);\r
-        imageAnimator1_->Start();\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(imageAnimator1_);\r
-        imageAnimator1_->SetVisible(true);\r
-\r
-        // Add Label to App\r
-        if (label6_ == nullptr)\r
-        {\r
-            label6_ = new UILabel();\r
-        }\r
-        label6_->SetPosition(93, 240); // widget's left position and top position\r
-        label6_->Resize(20, 50);       // widget's width and height\r
-        label6_->SetViewId("label6");  // Set style\r
-        label6_->SetStyle(STYLE_TEXT_FONT, 40);\r
-        label6_->SetStyle(STYLE_LINE_HEIGHT, 50);\r
-\r
-        // Set additional property\r
-        label6_->SetText("7");\r
-        label6_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        label6_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label6_->SetRollSpeed(0);\r
-        label6_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(label6_);\r
-        label6_->SetVisible(true);\r
-\r
-        // Add Label to App\r
-        if (label7_ == nullptr)\r
-        {\r
-            label7_ = new UILabel();\r
-        }\r
-        label7_->SetPosition(210, 240); // widget's left position and top position\r
-        label7_->Resize(200, 60);       // widget's width and height\r
-        label7_->SetViewId("label7");   // Set style\r
-        label7_->SetStyle(STYLE_TEXT_FONT, 40);\r
-        label7_->SetStyle(STYLE_LINE_HEIGHT, 50);\r
-\r
-        // Set additional property\r
-        label7_->SetText("1-2");\r
-        label7_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        label7_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label7_->SetRollSpeed(0);\r
-        label7_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(label7_);\r
-        label7_->SetVisible(true);\r
-\r
-        // Add Label to App\r
-        if (label8_ == nullptr)\r
-        {\r
-            label8_ = new UILabel();\r
-        }\r
-        label8_->SetPosition(337, 240); // widget's left position and top position\r
-        label8_->Resize(200, 60);       // widget's width and height\r
-        label8_->SetViewId("label8");   // Set style\r
-        label8_->SetStyle(STYLE_TEXT_FONT, 40);\r
-        label8_->SetStyle(STYLE_LINE_HEIGHT, 50);\r
-\r
-        // Set additional property\r
-        label8_->SetText("75%");\r
-        label8_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        label8_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label8_->SetRollSpeed(0);\r
-        label8_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(label8_);\r
-        label8_->SetVisible(true);\r
-\r
-        // Add Label to App\r
-        if (label9_ == nullptr)\r
-        {\r
-            label9_ = new UILabel();\r
-        }\r
-        label9_->SetPosition(63, 293); // widget's left position and top position\r
-        label9_->Resize(200, 60);      // widget's width and height\r
-        label9_->SetViewId("label9");  // Set style\r
-        label9_->SetStyle(STYLE_TEXT_FONT, 26);\r
-        label9_->SetStyle(STYLE_LINE_HEIGHT, 30);\r
-\r
-        // Set additional property\r
-        label9_->SetText("紫外线");\r
-        label9_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        label9_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label9_->SetRollSpeed(0);\r
-        label9_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(label9_);\r
-        label9_->SetVisible(true);\r
-\r
-        // Add Label to App\r
-        if (label10_ == nullptr)\r
-        {\r
-            label10_ = new UILabel();\r
-        }\r
-        label10_->SetPosition(212, 293); // widget's left position and top position\r
-        label10_->Resize(290, 60);       // widget's width and height\r
-        label10_->SetViewId("label10");  // Set style\r
-        label10_->SetStyle(STYLE_TEXT_FONT, 26);\r
-        label10_->SetStyle(STYLE_LINE_HEIGHT, 30);\r
-\r
-        // Set additional property\r
-        label10_->SetText("风速");\r
-        label10_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        label10_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label10_->SetRollSpeed(0);\r
-        label10_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(label10_);\r
-        label10_->SetVisible(true);\r
-\r
-        // Add Label to App\r
-        if (label11_ == nullptr)\r
-        {\r
-            label11_ = new UILabel();\r
-        }\r
-        label11_->SetPosition(345, 293); // widget's left position and top position\r
-        label11_->Resize(200, 60);       // widget's width and height\r
-        label11_->SetViewId("label11");  // Set style\r
-        label11_->SetStyle(STYLE_TEXT_FONT, 26);\r
-        label11_->SetStyle(STYLE_LINE_HEIGHT, 30);\r
-\r
-        // Set additional property\r
-        label11_->SetText("湿度");\r
-        label11_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        label11_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label11_->SetRollSpeed(0);\r
-        label11_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(label11_);\r
-        label11_->SetVisible(true);\r
-        /* -------------------------------------------------------------------------- */\r
-        #if 0\r
-        // Add ImageAnimatorView to App\r
-        if (imageAnimator == nullptr)\r
-        {\r
-            imageAnimator = new UIImageAnimatorView();\r
+            delete WindSpeed;\r
+            WindSpeed = nullptr;\r
+\r
+            delete WindSpeed_Number;\r
+            WindSpeed_Number = nullptr;\r
+\r
+            delete Humidity;\r
+            Humidity = nullptr;\r
+\r
+            delete Humidity_Number;\r
+            Humidity_Number = nullptr;\r
+\r
+            UVImageAnimatorView->Stop();\r
+            delete UVImageAnimatorView;\r
+            UVImageAnimatorView = nullptr;\r
+\r
+            WindSpeedImageAnimatorView->Stop();\r
+            delete WindSpeedImageAnimatorView;\r
+            WindSpeedImageAnimatorView = nullptr;\r
+\r
+            HumidityImageAnimatorView->Stop();\r
+            delete HumidityImageAnimatorView;\r
+            HumidityImageAnimatorView = nullptr;\r
+\r
+            if (p_ImageAnimator != nullptr)\r
+            {\r
+                p_ImageAnimator->FreeImagePathsArray(UVPaths, 24);\r
+                p_ImageAnimator->FreeImagePathsArray(WindSpeedPaths, 24);\r
+                p_ImageAnimator->FreeImagePathsArray(HumidityPaths, 20);\r
+\r
+                delete p_ImageAnimator;\r
+                p_ImageAnimator = nullptr;\r
+            }\r
+\r
+            delete UVimageAnimatorInfo;\r
+            delete WindSpeedimageAnimatorInfo;\r
+            delete HumidityimageAnimatorInfo;\r
         }\r
-        imageAnimator->SetPosition(213, 400);\r
-        imageAnimator->Resize(40, 40);\r
-        imageAnimator->SetViewId("imageAnimator1");\r
-        imageAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-\r
-        // Set additional property\r
-        imageAnimator->SetImageAnimatorSrc(g_imageAnimatorInfo, 2, 200);\r
-        imageAnimator->SetTimeOfPause(200);\r
-        imageAnimator->SetRepeatTimes(1);\r
-        imageAnimator->SetReverse(true);\r
-        imageAnimator->Start();\r
-\r
-        // Add to scrollView1\r
-        scrollView1_->Add(imageAnimator);\r
-        #endif\r
     }\r
 \r
-    void WeatherReportView::DeInitView()\r
+    // 设置标签\r
+    UILabelExt *WeatherReportView::SetUpLabel(LabelConfig &labelconfig)\r
     {\r
-        if (label5_ != nullptr)\r
-        {\r
-            delete label5_;\r
-            label5_ = nullptr;\r
-        }\r
-        if (imageAnimator3_ != nullptr)\r
-        {\r
-            imageAnimator3_->Stop();\r
-            delete imageAnimator3_;\r
-            imageAnimator3_ = nullptr;\r
-        }\r
-        if (imageAnimator2_ != nullptr)\r
-        {\r
-            imageAnimator2_->Stop();\r
-            delete imageAnimator2_;\r
-            imageAnimator2_ = nullptr;\r
-        }\r
-        if (imageAnimator1_ != nullptr)\r
-        {\r
-            imageAnimator1_->Stop();\r
-            delete imageAnimator1_;\r
-            imageAnimator1_ = nullptr;\r
-        }\r
-        if (imageAnimator != nullptr)\r
-        {\r
-            imageAnimator->Stop();\r
-            delete imageAnimator;\r
-            imageAnimator = nullptr;\r
-        }\r
-        if (label6_ != nullptr)\r
+        UILabelExt *label = new UILabelExt();\r
+        if (label == nullptr)\r
         {\r
-            delete label6_;\r
-            label6_ = nullptr;\r
+            return nullptr;\r
         }\r
-        if (label7_ != nullptr)\r
+        label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小\r
+        label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize);                                       // 字体大小\r
+        label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh);                                    // 字体行高\r
+        label->SetText(labelconfig.text);                                                             // 内容\r
+        label->SetLineBreakMode(labelconfig.lineBreakMode);                                           // 断行模式。\r
+        label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
+        return label;\r
+    }\r
+\r
+    bool WeatherReportView::WeatherReportViewLabelInit(void)\r
+    {\r
+        LabelConfig labelconfig = {\r
+            .left = 173,\r
+            .top = 52,\r
+            .width = 120,\r
+            .height = 40,\r
+            .fontSize = 30,\r
+            .lineHeigh = 35,\r
+            .text = "气象报告",\r
+            .lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS,\r
+        };\r
+        title = SetUpLabel(labelconfig);\r
+        if (title == nullptr)\r
         {\r
-            delete label7_;\r
-            label7_ = nullptr;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::title new fail!");\r
+            return false;\r
         }\r
-        if (label8_ != nullptr)\r
+        /* -------------------------------------------------------------------------- */\r
+        labelconfig = {\r
+            .left = 23,\r
+            .top = 240,\r
+            .width = 120,\r
+            .height = 50,\r
+            .fontSize = 40,\r
+            .lineHeigh = 50,\r
+            .text = "7",\r
+            .lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS,\r
+        };\r
+        UV_Number = SetUpLabel(labelconfig);\r
+        if (UV_Number == nullptr)\r
         {\r
-            delete label8_;\r
-            label8_ = nullptr;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::UV_Number new fail!");\r
+            return false;\r
         }\r
-        if (label9_ != nullptr)\r
+\r
+        labelconfig.left = 173;\r
+        labelconfig.text = "1-2";\r
+        WindSpeed_Number = SetUpLabel(labelconfig);\r
+        if (WindSpeed_Number == nullptr)\r
         {\r
-            delete label9_;\r
-            label9_ = nullptr;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::WindSpeed_Number new fail!");\r
+            return false;\r
         }\r
-        if (label10_ != nullptr)\r
+\r
+        labelconfig.left = 323;\r
+        labelconfig.text = "75%";\r
+        Humidity_Number = SetUpLabel(labelconfig);\r
+        if (Humidity_Number == nullptr)\r
         {\r
-            delete label10_;\r
-            label10_ = nullptr;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::Humidity_Number new fail!");\r
+            return false;\r
         }\r
-        if (label11_ != nullptr)\r
+\r
+        /* -------------------------------------------------------------------------- */\r
+        labelconfig = {\r
+            .left = 23,\r
+            .top = 290,\r
+            .width = 120,\r
+            .height = 30,\r
+            .fontSize = 26,\r
+            .lineHeigh = 35,\r
+            .text = "紫外线",\r
+            .lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS,\r
+        };\r
+        UV = SetUpLabel(labelconfig);\r
+        if (UV == nullptr)\r
         {\r
-            delete label11_;\r
-            label11_ = nullptr;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::UV new fail!");\r
+            return false;\r
         }\r
-        if (scrollView1_ != nullptr)\r
+        UV->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+\r
+        labelconfig.left = 173;\r
+        labelconfig.text = "风速";\r
+        WindSpeed = SetUpLabel(labelconfig);\r
+        if (WindSpeed == nullptr)\r
         {\r
-            delete scrollView1_;\r
-            scrollView1_ = nullptr;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::WindSpeed new fail!");\r
+            return false;\r
         }\r
-        if (container_ != nullptr)\r
+        WindSpeed->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+\r
+        labelconfig.left = 323;\r
+        labelconfig.text = "湿度";\r
+        Humidity = SetUpLabel(labelconfig);\r
+        if (Humidity == nullptr)\r
         {\r
-            container_->RemoveAll();\r
-            delete container_;\r
-            container_ = nullptr;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::Humidity new fail!");\r
+            return false;\r
         }\r
+        Humidity->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+        /* ----------------------------------- Add ---------------------------------- */\r
+\r
+        Add(title);\r
+\r
+        Add(UV_Number);\r
+        Add(WindSpeed_Number);\r
+        Add(Humidity_Number);\r
+        Add(UV);\r
+        Add(WindSpeed);\r
+        Add(Humidity);\r
+\r
+        return true;\r
     }\r
 \r
-    void WeatherReportView::PreLoad(void)\r
+    bool WeatherReportView::WeatherReportViewImageAnimatorViewInit(void)\r
     {\r
-        if (!viewInitStatus)\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::WeatherReportViewImageAnimatorViewInit");\r
+\r
+        p_ImageAnimator = new ImageAnimator();\r
+        if (p_ImageAnimator == nullptr)\r
         {\r
-            InitView();\r
-            viewInitStatus = true;\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "p_ImageAnimator new fail!!");\r
+            return false;\r
         }\r
-    }\r
-    void WeatherReportView::OnStart()\r
-    {\r
-        View<WeatherReportPresenter>::OnStart();\r
-        PreLoad();\r
-        RootView::GetInstance()->Add(container_);\r
-    }\r
-\r
-    void WeatherReportView::OnSetUpView()\r
-    {\r
 \r
-        View<WeatherReportPresenter>::OnSetUpView();\r
-        Draw();\r
+        p_ImageAnimator->imageAnimatorConfig = {\r
+            .x = 53,\r
+            .y = 160,\r
+            .w = 60,\r
+            .h = 60,\r
+            .numFrames = 24,\r
+            .time = 100,\r
+        };\r
+        UVPaths = p_ImageAnimator->CreateImagePathsArray("/user/res/weather/weather60x60gif/UV/", "bin", 24);\r
+        p_ImageAnimator->InitImageAnimatorSource(UVImageAnimatorView, UVimageAnimatorInfo, UVPaths, p_ImageAnimator->imageAnimatorConfig);\r
+\r
+        p_ImageAnimator->imageAnimatorConfig.x = 203;\r
+        WindSpeedPaths = p_ImageAnimator->CreateImagePathsArray("/user/res/weather/weather60x60gif/WindSpeed/", "bin", 24);\r
+        p_ImageAnimator->InitImageAnimatorSource(WindSpeedImageAnimatorView, WindSpeedimageAnimatorInfo, WindSpeedPaths, p_ImageAnimator->imageAnimatorConfig);\r
+\r
+        p_ImageAnimator->imageAnimatorConfig.x = 353;\r
+        p_ImageAnimator->imageAnimatorConfig.numFrames = 20;\r
+        HumidityPaths = p_ImageAnimator->CreateImagePathsArray("/user/res/weather/weather60x60gif/Humidity/", "bin", 20);\r
+        p_ImageAnimator->InitImageAnimatorSource(HumidityImageAnimatorView, HumidityimageAnimatorInfo, HumidityPaths, p_ImageAnimator->imageAnimatorConfig);\r
+\r
+        /* ---------------------------------- Start --------------------------------- */\r
+        UVImageAnimatorView->Start();\r
+        WindSpeedImageAnimatorView->Start();\r
+        HumidityImageAnimatorView->Start();\r
+        /* ----------------------------------- Add ---------------------------------- */\r
+        Add(UVImageAnimatorView);\r
+        Add(WindSpeedImageAnimatorView);\r
+        Add(HumidityImageAnimatorView);\r
+\r
+        return true;\r
     }\r
 \r
-    void WeatherReportView::OnTearDownView()\r
+    bool WeatherReportView::InitPage(void)\r
     {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::InitPage");\r
+        if (!WeatherReportViewLabelInit())\r
+        {\r
+            return false;\r
+        }\r
+\r
+        if (!WeatherReportViewImageAnimatorViewInit())\r
+        {\r
+            return false;\r
+        }\r
 \r
-        View<WeatherReportPresenter>::OnTearDownView();\r
-        return;\r
+        viewInitStatus = true;\r
+        return true;\r
     }\r
 \r
-    void WeatherReportView::OnStop()\r
+    bool WeatherReportView::InitView(void *caller)\r
     {\r
-\r
-        View<WeatherReportPresenter>::OnStop();\r
-        RootView::GetInstance()->RemoveAll();\r
-        return;\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView InitView %p", caller);\r
+        if (InitPage() == false)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::InitPage fail");\r
+            return false;\r
+        }\r
+        SetDraggable(true);\r
+        SetTouchable(true);\r
+        return true;\r
     }\r
+\r
 }
\ No newline at end of file
index 12922aa..c162385 100644 (file)
@@ -13,8 +13,9 @@ namespace OHOS
     static WeatherView *g_pWeatherView{nullptr};
     WeatherView::WeatherView()
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::WeatherView()");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::WeatherView");
         SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+        SetViewIndex(0);
         Time = GetTime();
         WeatherImag = GetWeatherImage();
         Temperature = GetWeatherTemperature();
@@ -26,7 +27,7 @@ namespace OHOS
 
     WeatherView::~WeatherView()
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " WeatherView::~WeatherView()");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " WeatherView::~WeatherView");
         ClearAll();
         g_pWeatherView = nullptr;
     }
@@ -154,12 +155,12 @@ namespace OHOS
     // 初始化天气页面
     bool WeatherView::InitPage(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " WeatherView::InitPage()");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " WeatherView::InitPage");
         /* -------------------------------------------------------------------------- */
         showWeatherImage = new UIImageView();
         if (showWeatherImage == nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new showWeatherImage fail!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::new showWeatherImage fail!");
             return false;
         }
         showWeatherImage->SetPosition(109, 124, 100, 100);
@@ -168,19 +169,19 @@ namespace OHOS
         showCurrentTimeLabel = InitLabel(185, 52, Time.c_str(), "showCurrentTimeLabel", 40, 47);
         if (showCurrentTimeLabel == nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new showCurrentTimeLabel fail!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::new showCurrentTimeLabel fail!");
             return false;
         }
         /* -------------------------------------------------------------------------- */
         showTemperatureLabel = InitLabel(249, 126, Temperature.c_str(), "showTemperatureLabel", 100, 125);
         if (showTemperatureLabel == nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new showTemperatureLabel fail!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::new showTemperatureLabel fail!");
             return false;
         }
         /* -------------------------------------------------------------------------- */
         showWeatherDescriptionLabel = new UILabel();
-        showWeatherDescriptionLabel->SetPosition(83, 264,300,40);
+        showWeatherDescriptionLabel->SetPosition(83, 264, 300, 40);
         showWeatherDescriptionLabel->SetViewId("showWeatherDescriptionLabel");
         showWeatherDescriptionLabel->SetStyle(STYLE_TEXT_FONT, 35);
         showWeatherDescriptionLabel->SetStyle(STYLE_LINE_HEIGHT, 41);
@@ -190,14 +191,14 @@ namespace OHOS
         showWeatherDescriptionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35);
         if (showWeatherDescriptionLabel == nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new showWeatherDescriptionLabel fail!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::new showWeatherDescriptionLabel fail!");
             return false;
         }
         /* -------------------------------------------------------------------------- */
         showWeatherAreaLabel = InitLabel(155, 330, WeatherArea.c_str(), "showWeatherAreaLabel", 26, 30);
         if (showWeatherAreaLabel == nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new showWeatherAreaLabel fail!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::new showWeatherAreaLabel fail!");
             return false;
         }
         showWeatherAreaLabel->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
@@ -205,11 +206,11 @@ namespace OHOS
         showMaxandMinTemperatureLabel = InitLabel(158, 368, MaxandMinTemperature.c_str(), "showMaxandMinTemperatureLabel", 20, 23);
         if (showMaxandMinTemperatureLabel == nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new showMaxandMinTemperatureLabel fail!");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::new showMaxandMinTemperatureLabel fail!");
             return false;
         }
         showMaxandMinTemperatureLabel->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
-       
+
         /* -------------------------------- 将组件添加到根视图 ------------------------------- */
         Add(showWeatherImage);
         Add(showCurrentTimeLabel);
@@ -221,12 +222,12 @@ namespace OHOS
         return true;
     }
 
-    bool WeatherView::InitView()
+    bool WeatherView::InitView(void *caller)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::InitView");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView InitView %p", caller);
         if (InitPage() == false)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitPage fail");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::InitPage fail");
             return false;
         }
         SetDraggable(true);
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/1.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/1.bin
new file mode 100644 (file)
index 0000000..26e0503
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/1.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/10.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/10.bin
new file mode 100644 (file)
index 0000000..5856200
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/10.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/11.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/11.bin
new file mode 100644 (file)
index 0000000..da418e6
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/11.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/12.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/12.bin
new file mode 100644 (file)
index 0000000..bc99018
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/12.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/13.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/13.bin
new file mode 100644 (file)
index 0000000..c65159f
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/13.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/14.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/14.bin
new file mode 100644 (file)
index 0000000..44fa2f8
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/14.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/15.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/15.bin
new file mode 100644 (file)
index 0000000..f17bd43
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/15.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/16.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/16.bin
new file mode 100644 (file)
index 0000000..da1d9bc
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/16.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/17.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/17.bin
new file mode 100644 (file)
index 0000000..cfd14c3
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/17.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/18.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/18.bin
new file mode 100644 (file)
index 0000000..2d940d6
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/18.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/19.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/19.bin
new file mode 100644 (file)
index 0000000..ecb91b5
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/19.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/2.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/2.bin
new file mode 100644 (file)
index 0000000..9837764
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/2.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/20.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/20.bin
new file mode 100644 (file)
index 0000000..5ee7470
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/20.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/3.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/3.bin
new file mode 100644 (file)
index 0000000..666e09c
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/3.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/4.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/4.bin
new file mode 100644 (file)
index 0000000..d5f59b8
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/4.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/5.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/5.bin
new file mode 100644 (file)
index 0000000..6c28cf8
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/5.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/6.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/6.bin
new file mode 100644 (file)
index 0000000..9badd78
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/6.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/7.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/7.bin
new file mode 100644 (file)
index 0000000..fde04ff
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/7.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/8.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/8.bin
new file mode 100644 (file)
index 0000000..1d5c19a
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/8.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/9.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/9.bin
new file mode 100644 (file)
index 0000000..e56abec
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/Humidity/9.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/1.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/1.bin
new file mode 100644 (file)
index 0000000..f449dad
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/1.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/10.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/10.bin
new file mode 100644 (file)
index 0000000..159eacf
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/10.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/11.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/11.bin
new file mode 100644 (file)
index 0000000..358cdfc
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/11.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/12.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/12.bin
new file mode 100644 (file)
index 0000000..1508160
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/12.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/13.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/13.bin
new file mode 100644 (file)
index 0000000..e79f9dd
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/13.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/14.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/14.bin
new file mode 100644 (file)
index 0000000..a619bf7
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/14.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/15.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/15.bin
new file mode 100644 (file)
index 0000000..c586f06
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/15.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/16.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/16.bin
new file mode 100644 (file)
index 0000000..2e0d7c9
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/16.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/17.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/17.bin
new file mode 100644 (file)
index 0000000..1b2d8a2
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/17.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/18.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/18.bin
new file mode 100644 (file)
index 0000000..402347b
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/18.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/19.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/19.bin
new file mode 100644 (file)
index 0000000..65c145f
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/19.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/2.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/2.bin
new file mode 100644 (file)
index 0000000..d969f14
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/2.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/20.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/20.bin
new file mode 100644 (file)
index 0000000..29f1121
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/20.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/21.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/21.bin
new file mode 100644 (file)
index 0000000..729a77d
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/21.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/22.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/22.bin
new file mode 100644 (file)
index 0000000..de173e3
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/22.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/23.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/23.bin
new file mode 100644 (file)
index 0000000..c87459b
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/23.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/24.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/24.bin
new file mode 100644 (file)
index 0000000..b6ede91
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/24.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/3.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/3.bin
new file mode 100644 (file)
index 0000000..6979336
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/3.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/4.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/4.bin
new file mode 100644 (file)
index 0000000..b1f6cf4
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/4.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/5.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/5.bin
new file mode 100644 (file)
index 0000000..d81e513
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/5.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/6.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/6.bin
new file mode 100644 (file)
index 0000000..a5c6875
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/6.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/7.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/7.bin
new file mode 100644 (file)
index 0000000..567cced
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/7.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/8.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/8.bin
new file mode 100644 (file)
index 0000000..ee82fda
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/8.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/9.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/9.bin
new file mode 100644 (file)
index 0000000..70187e6
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/UV/9.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/1.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/1.bin
new file mode 100644 (file)
index 0000000..105641d
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/1.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/10.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/10.bin
new file mode 100644 (file)
index 0000000..be3a15e
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/10.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/11.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/11.bin
new file mode 100644 (file)
index 0000000..04cd932
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/11.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/12.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/12.bin
new file mode 100644 (file)
index 0000000..850a974
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/12.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/13.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/13.bin
new file mode 100644 (file)
index 0000000..c57ce81
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/13.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/14.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/14.bin
new file mode 100644 (file)
index 0000000..93c6d78
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/14.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/15.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/15.bin
new file mode 100644 (file)
index 0000000..aabb743
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/15.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/16.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/16.bin
new file mode 100644 (file)
index 0000000..7b76584
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/16.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/17.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/17.bin
new file mode 100644 (file)
index 0000000..9eed554
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/17.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/18.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/18.bin
new file mode 100644 (file)
index 0000000..7fc964a
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/18.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/19.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/19.bin
new file mode 100644 (file)
index 0000000..0ab7eba
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/19.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/2.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/2.bin
new file mode 100644 (file)
index 0000000..604f06b
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/2.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/20.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/20.bin
new file mode 100644 (file)
index 0000000..ff8502e
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/20.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/21.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/21.bin
new file mode 100644 (file)
index 0000000..360551b
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/21.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/22.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/22.bin
new file mode 100644 (file)
index 0000000..76c3722
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/22.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/23.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/23.bin
new file mode 100644 (file)
index 0000000..1c9a0db
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/23.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/24.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/24.bin
new file mode 100644 (file)
index 0000000..a1cec35
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/24.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/3.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/3.bin
new file mode 100644 (file)
index 0000000..de995cc
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/3.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/4.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/4.bin
new file mode 100644 (file)
index 0000000..db07201
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/4.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/5.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/5.bin
new file mode 100644 (file)
index 0000000..33a193a
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/5.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/6.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/6.bin
new file mode 100644 (file)
index 0000000..f29776e
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/6.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/7.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/7.bin
new file mode 100644 (file)
index 0000000..1964cf1
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/7.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/8.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/8.bin
new file mode 100644 (file)
index 0000000..91497f7
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/8.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/9.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/9.bin
new file mode 100644 (file)
index 0000000..5ad4907
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/weather/weather60x60gif/WindSpeed/9.bin differ