${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
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/GetWeatherDataErrorPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/GetWeatherDataErrorView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/WeatherControlView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/weather/src/WeatherView.cpp
VIEW_SHUTDOWN_OR_REBOOT, // 关机或重启界面
VIEW_WEATHER, // 天气
VIEW_FUTURE_WEATHER, // 未来天气
- VIEW_GET_WEATHER_DATA_ERROR, // 获取天气数据失败
VIEW_SYSTEM, // 系统
VIEW_SOUND_VIBRATION, // 声音与震动
VIEW_SYSTEM_VOLUME, // 系统音量
/* -------------------------------------------------------------------------- */
void InitWeatherSlice(void);
void InitFutureWeatherSlice(void);
- void InitGetWeatherDataErrorSlice(void);
void InitSystemSlice(void);
void InitSoundAndVibrationSlice(void);
void InitSystemVolumeSlice(void);
#include "weather/include/MainWeatherView.h"
#include "weather/include/FutureWeatherPresenter.h"
#include "weather/include/FutureWeatherView.h"
-#include "weather/include/GetWeatherDataErrorPresenter.h"
-#include "weather/include/GetWeatherDataErrorView.h"
#include "system/include/SystemPresenter.h"
#include "system/include/SystemView.h"
{VIEW_SHUTDOWN_OR_REBOOT, &NativeLauncher::InitRebootSlice},
{VIEW_WEATHER, &NativeLauncher::InitWeatherSlice}, // 天气
{VIEW_FUTURE_WEATHER, &NativeLauncher::InitFutureWeatherSlice}, // 未来天气
- {VIEW_GET_WEATHER_DATA_ERROR, &NativeLauncher::InitGetWeatherDataErrorSlice}, // 获取天气数据失败
{VIEW_SYSTEM, &NativeLauncher::InitSystemSlice}, // 系统实例化地址
{VIEW_SOUND_VIBRATION, &NativeLauncher::InitSoundAndVibrationSlice}, // 声音与震动实例化地址
{VIEW_SYSTEM_VOLUME, &NativeLauncher::InitSystemVolumeSlice}, // 系统音量
NativeAbility::GetInstance().AddSliceProxy(VIEW_FUTURE_WEATHER, futureweather);
}
- void NativeLauncher::InitGetWeatherDataErrorSlice(void)
- {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitGetWeatherDataErrorSlice");
- SliceProxy *getweatherdataerror = new AbilitySliceProxy<GetWeatherDataErrorView, GetWeatherDataErrorPresenter>;
- if (getweatherdataerror == nullptr)
- {
- return;
- }
- NativeAbility::GetInstance().AddSliceProxy(VIEW_GET_WEATHER_DATA_ERROR, getweatherdataerror);
- }
+
void NativeLauncher::InitSystemSlice(void) // 系统
{
+++ /dev/null
-#ifndef Get_WEATHER_DATA_ERROR_PRESENTER_H\r
-#define Get_WEATHER_DATA_ERROR_PRESENTER_H\r
-\r
-#include "Presenter.h"\r
-#include "GetWeatherDataErrorView.h"\r
-\r
-namespace OHOS\r
-{\r
- class GetWeatherDataErrorView;\r
-\r
- class GetWeatherDataErrorPresenter : public Presenter<GetWeatherDataErrorView>,\r
- public UIView::OnClickListener,\r
- public UIView::OnDragListener\r
- {\r
- public:\r
- GetWeatherDataErrorPresenter();\r
- virtual ~GetWeatherDataErrorPresenter();\r
-\r
- void OnStart() override;\r
- void OnPause() override;\r
- void OnResume() override;\r
- void OnStop() override;\r
-\r
- static GetWeatherDataErrorPresenter *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 // GetWeatherDataError_PRESENTER_H
\ No newline at end of file
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-03-30 09:14:38\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-04-12 16:22:24\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/GetWeatherDataErrorView.h\r
+ */\r
#ifndef Get_WEATHER_DATA_ERROR_VIEW_H\r
#define Get_WEATHER_DATA_ERROR_VIEW_H\r
\r
#include "BaseView.h"\r
#include "View.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_view.h"\r
namespace OHOS\r
{\r
- class GetWeatherDataErrorPresenter;\r
- class GetWeatherDataErrorView : public View<GetWeatherDataErrorPresenter>\r
+\r
+ static constexpr const char *GETWEATHERDATAERRORVIEW = "GetWeatherDataErrorView";\r
+ class GetWeatherDataErrorView\r
{\r
\r
public:\r
GetWeatherDataErrorView();\r
virtual ~GetWeatherDataErrorView();\r
static GetWeatherDataErrorView *GetInstance(void);\r
-\r
- void OnStart() override;\r
- void OnSetUpView() override;\r
- void OnTearDownView() override;\r
- void OnStop() override;\r
+ UIScrollView *GetWeatherDataErrorViewInit(void);\r
\r
private:\r
- void InitView(void);\r
- void DeInitView(void);\r
- void PreLoad(void);\r
+ void ClearAll();\r
\r
- private:\r
- UIView::OnDragListener *draglistener{nullptr};\r
- UIViewGroup *container_ = nullptr;\r
- UIScrollView *scrollView1_ = nullptr;\r
- UILabel *label1_ = nullptr;\r
- UIImageView *image1_ = nullptr;\r
- bool viewInitStatus{false};\r
+ UIScrollView *scrollView = nullptr;\r
+ UILabel *label = nullptr;\r
+ UIImageView *image = nullptr;\r
};\r
-} // namespace OHOS\r
-#endif // GetWeatherDataError_PRESENTER_H
\ No newline at end of file
+} \r
+#endif
\ No newline at end of file
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-01-29 15:37:44\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-04-12 19:45:12\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/MainWeatherView.h\r
+ */\r
#ifndef MAIN_WEATHER_VIEW_H\r
#define MAIN_WEATHER_VIEW_H\r
\r
\r
#include "weather/include/WeatherView.h"\r
#include "weather/include/WeatherReportView.h"\r
+#include "weather/include/GetWeatherDataErrorView.h"\r
namespace OHOS\r
{\r
typedef enum\r
private:\r
WeatherView *weatherView{nullptr};\r
WeatherReportView *weatherReportView{nullptr};\r
-\r
+ GetWeatherDataErrorView *g_GetWeatherDataErrorView{nullptr};\r
private:\r
int16_t maxPage = MAX_WEATHERVIEW;\r
UISwipeView *weatherSwipeViewList{nullptr}; // 天气滑动视图列表\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-08 18:40:20
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-11 15:51:19
+ * @LastEditTime: 2024-04-12 18:57:44
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherModel.h
*/
#ifndef WEATHER_MODEL_H
#define WEATHER_MODEL_H
#include "wearable_log.h"
-#if __cplusplus
-extern "C"
+#include "iostream"
+namespace OHOS
{
+#if __cplusplus
+ extern "C"
+ {
#endif /* __cplusplus */
#include "string.h"
- static int WEATHER_DATA_VALID = 0; //天气数据是否有效
- /*天气数据*/
- struct Weather_data
- {
- int humidity; // 湿度
- char windScale[16]; // 风速
- char textNight[16]; // 夜间天气文本
- int uvIndex; // 紫外线指数
- int temp; // 温度
- int iconNight; // 夜间天气图标
- };
- //"address": { "lat" : 225737664, "atm" : "1010", "city" : "深圳", "subLocality" : "宝安", "lon" : 1138535138 }
- /*天气数据的地址信息*/
- struct Weather_data_address
- {
- int lat; // 纬度
- char atm[16]; // 大气压
- char city[32]; // 城市
- char subLocality[32]; // 子地区
- int lon; // 经纬度
- };
+ static uint8_t WEATHER_DATA_VALID = 0; // 天气数据是否有效
+ /*天气数据*/
+ struct Weather_data
+ {
+ int humidity; // 湿度
+ char windScale[16]; // 风速
+ char textNight[16]; // 夜间天气文本
+ int uvIndex; // 紫外线指数
+ int temp; // 温度
+ int iconNight; // 夜间天气图标
+ };
+ //"address": { "lat" : 225737664, "atm" : "1010", "city" : "深圳", "subLocality" : "宝安", "lon" : 1138535138 }
+ /*天气数据的地址信息*/
+ struct Weather_data_address
+ {
+ int lat; // 纬度
+ char atm[16]; // 大气压
+ char city[32]; // 城市
+ char subLocality[32]; // 子地区
+ int lon; // 经纬度
+ };
- //{"tempMin":22,"iconDay":6,"fxDate":1712505600,"textDay":"阵雨","tempMax":29},
- /*一天内天气数据*/
- struct ONE_DAY_DATA
- {
- int tempMin; // 最低温度
- int iconDay; // 白天天气图标
- int fxDate; // 日期
- char textDay[16]; // 白天天气文本
- int tempMax; // 最高温度
- };
-
- extern Weather_data Weather_data_t_now;
- extern Weather_data_address Weather_data_t_address;
- extern ONE_DAY_DATA Weather_data_seven_data[];
+ //{"tempMin":22,"iconDay":6,"fxDate":1712505600,"textDay":"阵雨","tempMax":29},
+ /*一天内天气数据*/
+ struct ONE_DAY_DATA
+ {
+ int tempMin; // 最低温度
+ int iconDay; // 白天天气图标
+ int fxDate; // 日期
+ char textDay[16]; // 白天天气文本
+ int tempMax; // 最高温度
+ };
- void UI_set_weather_now_data(int humidity, char *windScale, char *textNight, int uvIndex, int temp, int iconNight);
+ void UI_set_weather_now_data(int humidity, char *windScale, char *textNight, int uvIndex, int temp, int iconNight);
- void UI_set_weather_address_data(int lat, char *atm, char *city, char *subLocality, int lon);
+ void UI_set_weather_address_data(int lat, char *atm, char *city, char *subLocality, int lon);
- void UI_set_weather_seven_day_data(struct ONE_DAY_DATA *t);
+ void UI_set_weather_seven_day_data(struct ONE_DAY_DATA *t);
#if __cplusplus
-}
+ }
#endif /* __cplusplus */
-namespace OHOS
-{
+
+ static constexpr const char *WeatherBackground = "WEATHER_BACKGROUND.bin"; // 天气背景
+ static constexpr const char *weather130x130[] =
+ {
+ "/user/res/weather/weather130x130/WEATHER_CLEAR-CLOUDY.bin",
+ "/user/res/weather/weather130x130/WEATHER_CLEAR-SUNNY.bin", //晴
+ "/user/res/weather/weather130x130/WEATHER_DUSTSTORM.bin",
+ "/user/res/weather/weather130x130/WEATHER_FOGGY.bin",
+ "/user/res/weather/weather130x130/WEATHER_HAZE.bin",
+ "/user/res/weather/weather130x130/WEATHER_OVERCAST.bin",
+ "/user/res/weather/weather130x130/WEATHER_RAIN.bin",
+ "/user/res/weather/weather130x130/WEATHER_SNOW.bin",
+ "/user/res/weather/weather130x130/WEATHER_SUNNY.bin",
+ "/user/res/weather/weather130x130/WEATHER_SUNNY-CLOUNDY.bin",
+ "/user/res/weather/weather130x130/WEATHER_THUNDERSHOWER.bin",
+ "/user/res/weather/weather130x130/WEATHER_UNKNOWN.bin",
+ };
+ /* -------------------------------------------------------------------------- */
class WeatherModel
{
public:
static WeatherModel &GetInstance(void);
+ std::string GetWeatherImage();
+ std::string GetWeatherTemperature();
+ std::string GetWeatherDescription();
+ std::string GetWeatherArea();
+ std::string GetWeatherMaxAndMinTemperature();
+
private:
WeatherModel();
WeatherModel(const WeatherModel &) = delete;
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-03-30 09:14:38\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-04-12 16:41:27\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportView.h\r
+ */\r
#ifndef WEATHER_REPORT_VIEW_H\r
#define WEATHER_REPORT_VIEW_H\r
\r
#include "components/ui_view_group.h"\r
#include "components/ui_scroll_view.h"\r
#include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include "language/font/ui_resource_string.h"\r
#include "components/ui_image_animator.h"\r
#include "config/include/ConfigModel.h"\r
namespace OHOS\r
}\r
\r
private:\r
+ const char **CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages);\r
+ void FreeImagePathsArray(const char **imagePaths, const int numImages);\r
UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
bool WeatherReportViewLabelInit(void);\r
bool WeatherReportViewImageAnimatorViewInit(void);\r
UIImageAnimatorView *UVImageAnimatorView{nullptr}; // 紫外线动画\r
UIImageAnimatorView *WindSpeedImageAnimatorView{nullptr}; // 风速动画\r
UIImageAnimatorView *HumidityImageAnimatorView{nullptr}; // 湿度动画\r
- ImageAnimator *p_ImageAnimator{nullptr};\r
- ImageAnimatorInfo *UVimageAnimatorInfo{nullptr};\r
- ImageAnimatorInfo *WindSpeedimageAnimatorInfo{nullptr};\r
- ImageAnimatorInfo *HumidityimageAnimatorInfo{nullptr};\r
+ \r
const char **UVPathsArray{nullptr};\r
const char **WindSpeedPathsArray{nullptr};\r
const char **HumidityPathsArray{nullptr};\r
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-03-30 09:14:38
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-04-12 15:06:35
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherView.h
+ */
#ifndef WEATHER_VIEW_H
#define WEATHER_VIEW_H
#include "wearable_log.h"
#include "AppGroupView.h"
#include <iostream>
-#include "config/include/ConfigModel.h"
-
-namespace OHOS
-{
- static constexpr char *WeatherBackground = "WEATHER_BACKGROUND.bin"; // 天气背景
- static constexpr const char *weather130x130[] =
- {
- "/user/res/weather/weather130x130/WEATHER_CLEAR-CLOUDY.bin",
- "/user/res/weather/weather130x130/WEATHER_CLEAR-SUNNY.bin",
- "/user/res/weather/weather130x130/WEATHER_DUSTSTORM.bin",
- "/user/res/weather/weather130x130/WEATHER_FOGGY.bin",
- "/user/res/weather/weather130x130/WEATHER_HAZE.bin",
- "/user/res/weather/weather130x130/WEATHER_OVERCAST.bin",
- "/user/res/weather/weather130x130/WEATHER_RAIN.bin",
- "/user/res/weather/weather130x130/WEATHER_SNOW.bin",
- "/user/res/weather/weather130x130/WEATHER_SUNNY.bin",
- "/user/res/weather/weather130x130/WEATHER_SUNNY-CLOUNDY.bin",
- "/user/res/weather/weather130x130/WEATHER_THUNDERSHOWER.bin",
- "/user/res/weather/weather130x130/WEATHER_UNKNOWN.bin"};
-}
namespace OHOS
{
UILabelExt *InitLabelExt(int x, int y, int w, int h, const char *text, int textfont, int lineheight);
private:
- std::string GetTime();
- std::string GetWeatherImage();
- std::string GetWeatherTemperature();
- std::string GetWeatherDescription();
- std::string GetWeatherArea();
- std::string GetWeatherMaxAndMinTemperature();
-
+ const char **CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages);
+ void FreeImagePathsArray(const char **imagePaths, const int numImages);
+ void DumpWeatherInfo();
std::string WeatherImag; // 天气图片
std::string Temperature; // 温度
std::string WeatherDescription; // 天气描述
UILabelExt *showWeatherAreaLabel{nullptr}; // 显示天气地区
UILabelExt *showMaxandMinTemperatureLabel{nullptr}; // 显示最高与最低气温
UIImageAnimatorView *PullUpAnimatorView{nullptr}; // 上拉动画
- ImageAnimator *p_ImageAnimator{nullptr};
- ImageAnimatorInfo *PullUpimageAnimatorInfo{nullptr};
const char **PullUpPathsArray{nullptr};
bool viewInitStatus{false};
};
+++ /dev/null
-#include "AppViewIDs.h"\r
-#include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
-#include "NativeAbility.h"\r
-#include "weather/include/GetWeatherDataErrorPresenter.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
- // 当前Presenter属性实例化的内存指针\r
- static GetWeatherDataErrorPresenter *g_pGetWeatherDataErrorPresenter = nullptr;\r
-\r
- GetWeatherDataErrorPresenter::GetWeatherDataErrorPresenter()\r
- {\r
-\r
- g_pGetWeatherDataErrorPresenter = this;\r
- }\r
-\r
- GetWeatherDataErrorPresenter::~GetWeatherDataErrorPresenter()\r
- {\r
-\r
- g_pGetWeatherDataErrorPresenter = nullptr;\r
- }\r
-\r
- GetWeatherDataErrorPresenter *GetWeatherDataErrorPresenter::GetInstance()\r
- {\r
-\r
- return g_pGetWeatherDataErrorPresenter;\r
- }\r
-\r
- void GetWeatherDataErrorPresenter::OnStart()\r
- {\r
-\r
- Presenter<GetWeatherDataErrorView>::OnStart();\r
- }\r
-\r
- void GetWeatherDataErrorPresenter::OnPause(void)\r
- {\r
-\r
- Presenter<GetWeatherDataErrorView>::OnPause();\r
- }\r
-\r
- void GetWeatherDataErrorPresenter::OnResume(void)\r
- {\r
-\r
- Presenter<GetWeatherDataErrorView>::OnResume();\r
- }\r
-\r
- void GetWeatherDataErrorPresenter::OnStop(void)\r
- {\r
-\r
- Presenter<GetWeatherDataErrorView>::OnStop();\r
- }\r
-\r
- bool GetWeatherDataErrorPresenter::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
-\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
- (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_WEATHER);\r
- }\r
- return true;\r
- }\r
-\r
- bool GetWeatherDataErrorPresenter::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
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-01-29 15:37:44\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-04-12 20:00:56\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/GetWeatherDataErrorView.cpp\r
+ */\r
#include "weather/include/GetWeatherDataErrorView.h"\r
-#include "weather/include/GetWeatherDataErrorPresenter.h"\r
-#include "UiConfig.h"\r
+#include "wearable_log.h"\r
+#include "weather/include/MainWeatherPresenter.h"\r
\r
/* 天气获取数据失败后会调用该视图*/\r
namespace OHOS\r
\r
GetWeatherDataErrorView::GetWeatherDataErrorView()\r
{\r
-\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetWeatherDataErrorView::GetWeatherDataErrorView");\r
g_pGetWeatherDataErrorView = this;\r
}\r
\r
GetWeatherDataErrorView::~GetWeatherDataErrorView()\r
{\r
- if (viewInitStatus == true)\r
- {\r
- DeInitView();\r
- }\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetWeatherDataErrorView::~GetWeatherDataErrorView");\r
+ ClearAll();\r
g_pGetWeatherDataErrorView = nullptr;\r
}\r
\r
GetWeatherDataErrorView *GetWeatherDataErrorView::GetInstance()\r
{\r
-\r
return g_pGetWeatherDataErrorView;\r
}\r
\r
- void GetWeatherDataErrorView::InitView()\r
+ UIScrollView *GetWeatherDataErrorView::GetWeatherDataErrorViewInit()\r
{\r
- // Add ScrollView to App\r
- if (scrollView1_ == nullptr)\r
- {\r
- scrollView1_ = new UIScrollView();\r
- }\r
- scrollView1_->SetPosition(0, 0);\r
- scrollView1_->Resize(466, 466);\r
- scrollView1_->SetViewId("scrollView1");\r
- scrollView1_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- container_->Add(scrollView1_);\r
- scrollView1_->SetVisible(true);\r
-\r
- // Add Label to App\r
- if (label1_ == nullptr)\r
+ if (scrollView == nullptr)\r
{\r
- label1_ = new UILabel();\r
+ scrollView = new UIScrollView();\r
+ if (scrollView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView is new fail!!");\r
+ return nullptr;\r
+ }\r
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ scrollView->SetViewId(GETWEATHERDATAERRORVIEW);\r
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ UIView::OnDragListener *listener = static_cast<UIView::OnDragListener *>(MainWeatherPresenter::GetInstance());\r
+ if (listener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener is nullptr!!");\r
+ return nullptr;\r
+ }\r
+ scrollView->SetOnDragListener(listener);\r
+ /* -------------------------------------------------------------------------- */\r
+ image = new UIImageView();\r
+ if (image == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "image is new fail!!");\r
+ return nullptr;\r
+ }\r
+ image->SetPosition(168, 127, 130, 130);\r
+ const char * ImgSr = "/user/res/weather/weather130x130/WEATHER_UNKNOWN.bin"; //天气数据获取失败\r
+ image->SetSrc(ImgSr);\r
+ scrollView->Add(image);\r
+ /* -------------------------------------------------------------------------- */\r
+ label = new UILabel();\r
+ if (label == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "label is new fail!!");\r
+ return nullptr;\r
+ }\r
+ label->SetPosition(33, 268, 400, 70);\r
+ label->SetStyle(STYLE_TEXT_FONT, 26);\r
+ label->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ label->SetText("未获取到天气信息\n请前往APP更新");\r
+ label->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ label->SetRollSpeed(40);\r
+ label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
+ scrollView->Add(label);\r
}\r
- label1_->SetPosition(113, 268);\r
- label1_->Resize(240, 70);\r
- label1_->SetViewId("label1");\r
- label1_->SetStyle(STYLE_TEXT_FONT, 30);\r
- label1_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-\r
- // Set additional property\r
- label1_->SetText("未获取到天气信息\n请前往APP更新");\r
- label1_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- label1_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- label1_->SetRollSpeed(0);\r
- label1_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
- // Add to scrollView1\r
- scrollView1_->Add(label1_);\r
- label1_->SetVisible(true);\r
-\r
- // Add ImageView to App\r
- if (image1_ == nullptr)\r
- {\r
- image1_ = new UIImageView();\r
- }\r
- image1_->SetPosition(168, 127);\r
- image1_->Resize(130, 130);\r
- image1_->SetViewId("image1");\r
- image1_->SetSrc("/user/res/weather/WEATHER_UNKNOWN.bin");\r
-\r
- // Add to scrollView1\r
- scrollView1_->Add(image1_);\r
- image1_->SetVisible(true);\r
+ return scrollView;\r
}\r
\r
- void GetWeatherDataErrorView::DeInitView()\r
- {\r
- container_->RemoveAll();\r
- scrollView1_->RemoveAll();\r
- if (label1_ != nullptr)\r
- {\r
- delete label1_;\r
- label1_ = nullptr;\r
- }\r
- if (image1_ != nullptr)\r
- {\r
- delete image1_;\r
- image1_ = nullptr;\r
- }\r
- if (scrollView1_ != nullptr)\r
- {\r
- delete scrollView1_;\r
- scrollView1_ = nullptr;\r
- }\r
- if (container_ != nullptr)\r
- {\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
- }\r
- \r
- void GetWeatherDataErrorView::PreLoad(void)\r
+ void GetWeatherDataErrorView::ClearAll()\r
{\r
- if (!viewInitStatus)\r
+ scrollView->RemoveAll();\r
+\r
+ if (label != nullptr)\r
{\r
- InitView();\r
- viewInitStatus = true;\r
+ delete label;\r
+ label = nullptr;\r
}\r
- }\r
- void GetWeatherDataErrorView::OnStart()\r
- {\r
- container_ = new UIViewGroup();\r
- if (container_ == nullptr)\r
+\r
+ if (image != nullptr)\r
{\r
- return;\r
+ delete image;\r
+ image = nullptr;\r
}\r
- // container_容器属性 扩展\r
- container_->SetPosition(0, 0);\r
- container_->SetWidth(Screen::GetInstance().GetWidth());\r
- container_->SetHeight(Screen::GetInstance().GetHeight());\r
\r
- draglistener = static_cast<UIView::OnDragListener *>(GetWeatherDataErrorPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
+ if (scrollView != nullptr)\r
{\r
- return;\r
+ delete scrollView;\r
+ scrollView = nullptr;\r
}\r
- container_->SetOnDragListener(draglistener);\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
- PreLoad();\r
- RootView::GetInstance()->Add(container_);\r
}\r
\r
- void GetWeatherDataErrorView::OnSetUpView()\r
- {\r
-\r
- View<GetWeatherDataErrorPresenter>::OnSetUpView();\r
- Draw();\r
- }\r
-\r
- void GetWeatherDataErrorView::OnTearDownView()\r
- {\r
-\r
- View<GetWeatherDataErrorPresenter>::OnTearDownView();\r
- return;\r
- }\r
-\r
- void GetWeatherDataErrorView::OnStop()\r
- {\r
-\r
- View<GetWeatherDataErrorPresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
- }\r
}
\ No newline at end of file
\r
bool MainWeatherPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
{\r
- UNUSED(view);\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
+ if(strcmp(view.GetViewId(),GETWEATHERDATAERRORVIEW) == 0)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+ }\r
return true;\r
}\r
\r
#include "weather/include/MainWeatherView.h"\r
#include "weather/include/MainWeatherPresenter.h"\r
+#include "weather/include/WeatherModel.h"\r
namespace OHOS\r
{\r
static MainWeatherView *g_pMainWeatherView{nullptr};\r
\r
void MainWeatherView::ClearAll(void)\r
{\r
- for (int32_t i = 0; i < maxPage; i++)\r
+ if (weatherSwipeViewList != nullptr)\r
{\r
- recordCard[i] = nullptr;\r
- }\r
- weatherSwipeViewList->RemoveAll();\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
+ delete weatherView;\r
+ weatherView = nullptr;\r
\r
- delete weatherReportView;\r
- weatherReportView = nullptr;\r
+ delete weatherReportView;\r
+ weatherReportView = nullptr;\r
\r
- delete weatherSwipeViewList;\r
- weatherSwipeViewList = nullptr;\r
+ delete weatherSwipeViewList;\r
+ weatherSwipeViewList = nullptr;\r
+ }\r
+ \r
+ if (g_GetWeatherDataErrorView != nullptr)\r
+ {\r
+ delete g_GetWeatherDataErrorView;\r
+ g_GetWeatherDataErrorView = nullptr;\r
+ }\r
}\r
\r
/*\r
recordCard[i]->InitView(this);\r
weatherSwipeViewList->Add(recordCard[i]);\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainWeatherView InitPage over!!");\r
- return weatherSwipeViewList;\r
- }\r
-\r
- void MainWeatherView::OnStart()\r
- {\r
- View<MainWeatherPresenter>::OnStart();\r
- MainWeatherViewInit();\r
-\r
+ /* -------------------------------------------------------------------------- */\r
if (weatherSwipeViewList != nullptr)\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;\r
+ return nullptr;\r
}\r
\r
UIView::OnDragListener *weatherOnDragListener = (UIView::OnDragListener *)OHOS::MainWeatherPresenter::GetInstance();\r
if (weatherOnDragListener == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnDragListener new fail");\r
- return;\r
+ return nullptr;\r
}\r
\r
UISwipeView::OnSwipeListener *weatherOnSwipeListener = (UISwipeView::OnSwipeListener *)OHOS::MainWeatherPresenter::GetInstance();\r
if (weatherOnSwipeListener == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnSwipeListener new fail");\r
- return;\r
+ return nullptr;\r
}\r
\r
weatherSwipeViewList->SetOnClickListener(weatherOnClickListener);\r
weatherSwipeViewList->SetOnDragListener(weatherOnDragListener);\r
weatherSwipeViewList->SetOnSwipeListener(weatherOnSwipeListener);\r
}\r
+ /* -------------------------------------------------------------------------- */\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainWeatherView InitPage over!!");\r
+ return weatherSwipeViewList;\r
+ }\r
+\r
+ void MainWeatherView::OnStart()\r
+ {\r
+ View<MainWeatherPresenter>::OnStart();\r
+ if (WEATHER_DATA_VALID)\r
+ {\r
+ MainWeatherViewInit();\r
+ RootView::GetInstance()->Add(weatherSwipeViewList);\r
+ }\r
+ else\r
+ {\r
+ g_GetWeatherDataErrorView = new GetWeatherDataErrorView();\r
+ if (g_GetWeatherDataErrorView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "g_GetWeatherDataErrorView new fail!!");\r
+ return;\r
+ }\r
+ RootView::GetInstance()->Add(g_GetWeatherDataErrorView->GetWeatherDataErrorViewInit());\r
+ }\r
RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::MainWeatherPresenter::GetInstance();\r
RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
}\r
void MainWeatherView::OnSetUpView()\r
{\r
View<MainWeatherPresenter>::OnSetUpView();\r
- RootView::GetInstance()->Add(weatherSwipeViewList);\r
+\r
Draw();\r
}\r
\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-08 18:40:09
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-11 15:51:28
+ * @LastEditTime: 2024-04-12 16:34:46
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherModel.cpp
*/
#include "weather/include/WeatherModel.h"
-#if __cplusplus
-extern "C"
+namespace OHOS
{
-#endif /* __cplusplus */
- Weather_data Weather_data_t_now;
- Weather_data_address Weather_data_t_address;
- ONE_DAY_DATA Weather_data_seven_data[7];
-
- /*
- * @brief 设置当前天气数据
- * @param {int} humidity 湿度
- * @param {char} *windScale 风力
- * @param {char} *textNight 夜间天气文本
- * @param {int} uvIndex 紫外线指数
- * @param {int} temp 温度
- * @param {int} iconNight 夜间天气图标
- */
- void UI_set_weather_now_data(int humidity, char *windScale, char *textNight, int uvIndex, int temp, int iconNight)
+#if __cplusplus
+ extern "C"
{
- Weather_data_t_now.humidity = humidity;
- memset((void *)Weather_data_t_now.windScale, 0, 16);
- strcpy(Weather_data_t_now.windScale, windScale);
- memset((void *)Weather_data_t_now.textNight, 0, 16);
- strcpy(Weather_data_t_now.textNight, textNight);
- Weather_data_t_now.uvIndex = uvIndex;
- Weather_data_t_now.temp = temp;
- Weather_data_t_now.iconNight = iconNight;
+#endif /* __cplusplus */
+ static Weather_data Weather_data_t_now;
+ static Weather_data_address Weather_data_t_address;
+ static ONE_DAY_DATA Weather_data_seven_data[7];
- WEATHER_DATA_VALID = 1;
- }
+ /*
+ * @brief 设置当前天气数据
+ * @param {int} humidity 湿度
+ * @param {char} *windScale 风力
+ * @param {char} *textNight 夜间天气文本
+ * @param {int} uvIndex 紫外线指数
+ * @param {int} temp 温度
+ * @param {int} iconNight 夜间天气图标
+ */
+ void UI_set_weather_now_data(int humidity, char *windScale, char *textNight, int uvIndex, int temp, int iconNight)
+ {
+ Weather_data_t_now.humidity = humidity;
+ memset((void *)Weather_data_t_now.windScale, 0, 16);
+ strcpy(Weather_data_t_now.windScale, windScale);
+ memset((void *)Weather_data_t_now.textNight, 0, 16);
+ strcpy(Weather_data_t_now.textNight, textNight);
+ Weather_data_t_now.uvIndex = uvIndex;
+ Weather_data_t_now.temp = temp;
+ Weather_data_t_now.iconNight = iconNight;
- /*
- * @brief 设置天气地址信息
- * @param {int} lat 纬度
- * @param {char} *atm 大气压
- * @param {char} *city 城市
- * @param {char} *subLocality 子地区
- * @param {int} lon 经度
- */
- void UI_set_weather_address_data(int lat, char *atm, char *city, char *subLocality, int lon)
- {
- Weather_data_t_address.lat = lat;
- Weather_data_t_address.lon = lon;
- memset((void *)Weather_data_t_address.atm, 0, 16);
- strcpy(Weather_data_t_address.atm, atm);
- memset((void *)Weather_data_t_address.city, 0, 32);
- strcpy(Weather_data_t_address.city, city);
- memset((void *)Weather_data_t_address.subLocality, 0, 32);
- strcpy(Weather_data_t_address.subLocality, subLocality);
+ WEATHER_DATA_VALID = 1;
+ }
- WEATHER_DATA_VALID = 1;
- }
+ /*
+ * @brief 设置天气地址信息
+ * @param {int} lat 纬度
+ * @param {char} *atm 大气压
+ * @param {char} *city 城市
+ * @param {char} *subLocality 子地区
+ * @param {int} lon 经度
+ */
+ void UI_set_weather_address_data(int lat, char *atm, char *city, char *subLocality, int lon)
+ {
+ Weather_data_t_address.lat = lat;
+ Weather_data_t_address.lon = lon;
+ memset((void *)Weather_data_t_address.atm, 0, 16);
+ strcpy(Weather_data_t_address.atm, atm);
+ memset((void *)Weather_data_t_address.city, 0, 32);
+ strcpy(Weather_data_t_address.city, city);
+ memset((void *)Weather_data_t_address.subLocality, 0, 32);
+ strcpy(Weather_data_t_address.subLocality, subLocality);
+ }
- /*
- * @brief 设置七天天气数据
- */
- void UI_set_weather_seven_day_data(struct ONE_DAY_DATA *t)
- {
- for (int i = 0; i < 7; i++)
+ /*
+ * @brief 设置七天天气数据
+ */
+ void UI_set_weather_seven_day_data(struct ONE_DAY_DATA *t)
{
- Weather_data_seven_data[i].fxDate = t[i].fxDate;
- Weather_data_seven_data[i].iconDay = t[i].iconDay;
- Weather_data_seven_data[i].tempMax = t[i].tempMax;
- Weather_data_seven_data[i].tempMin = t[i].tempMin;
- Weather_data_seven_data[i].fxDate = t[i].fxDate;
- memset((void *)Weather_data_seven_data[i].textDay, 0, 16);
- strcpy(Weather_data_seven_data[i].textDay, t[i].textDay);
+ for (int i = 0; i < 7; i++)
+ {
+ Weather_data_seven_data[i].fxDate = t[i].fxDate;
+ Weather_data_seven_data[i].iconDay = t[i].iconDay;
+ Weather_data_seven_data[i].tempMax = t[i].tempMax;
+ Weather_data_seven_data[i].tempMin = t[i].tempMin;
+ Weather_data_seven_data[i].fxDate = t[i].fxDate;
+ memset((void *)Weather_data_seven_data[i].textDay, 0, 16);
+ strcpy(Weather_data_seven_data[i].textDay, t[i].textDay);
+ }
}
- WEATHER_DATA_VALID = 1;
- }
+ void jsonCheck_weather(uint8_t *buf);
#if __cplusplus
-}
+ }
#endif /* __cplusplus */
-namespace OHOS
-{
+
+ static constexpr const char json_data[] =
+ "{\"now\": {\"humidity\":89,\"windScale\":\"2\",\"textNight\":\"多云\",\"uvIndex\":3,\"temp\":24,\"iconNight\":4},"
+ "\"address\": {\"lat\":225737664,\"atm\":\"1010\",\"city\":\"深圳\",\"subLocality\":\"宝安\",\"lon\":1138535138},"
+ "\"daily\": [{\"tempMin\":22,\"iconDay\":6,\"fxDate\":1712505600,\"textDay\":\"阵雨\",\"tempMax\":29},"
+ "{\"tempMax\":27,\"textDay\":\"多云\",\"iconDay\":3,\"fxDate\":1712592000,\"tempMin\":22},"
+ "{\"tempMax\":29,\"fxDate\":1712678400,\"textDay\":\"多云\",\"iconDay\":3,\"tempMin\":22},"
+ "{\"tempMin\":23,\"textDay\":\"多云\",\"fxDate\":1712764800,\"tempMax\":30,\"iconDay\":3},"
+ "{\"fxDate\":1712851200,\"textDay\":\"多云\",\"iconDay\":3,\"tempMax\":31,\"tempMin\":24},"
+ "{\"fxDate\":1712937600,\"iconDay\":3,\"tempMax\":31,\"tempMin\":24,\"textDay\":\"多云\"},"
+ "{\"fxDate\":1713024000,\"textDay\":\"多云\",\"iconDay\":3,\"tempMax\":29,\"tempMin\":25}],"
+ "\"code\":1}";
+
+ /* -------------------------------------------------------------------------- */
WeatherModel::WeatherModel()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherModel::WeatherModel");
+ jsonCheck_weather((uint8_t *)json_data);
}
WeatherModel::~WeatherModel()
return instance;
}
+ // 获取天气图片
+ std::string WeatherModel::GetWeatherImage()
+ {
+ int size = Weather_data_t_now.iconNight;
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "iconNight:%d", size);
+ return weather130x130[size];
+ }
+
+ // 获取温度
+ std::string WeatherModel::GetWeatherTemperature()
+ {
+ int temperature = Weather_data_t_now.temp;
+ return std::to_string(temperature) + "°";
+ }
+
+ // 获取天气描述
+ std::string WeatherModel::GetWeatherDescription()
+ {
+ std::string WeatherDescription = Weather_data_t_now.textNight;
+ return WeatherDescription;
+ }
+
+ // 获取天气地区
+ std::string WeatherModel::GetWeatherArea()
+ {
+ std::string city = Weather_data_t_address.city;
+ std::string subLocality = Weather_data_t_address.city;
+ return (city + subLocality);
+ }
+
+ // 获取最高气温和最低气温
+ std::string WeatherModel::GetWeatherMaxAndMinTemperature()
+ {
+ int maxtemperature = Weather_data_seven_data[0].tempMax;
+ int mintemperature = Weather_data_seven_data[0].tempMin;
+ std::string MaxandMinTemperature = "最高" + std::to_string(maxtemperature) + "°" + " " + "最低" + std::to_string(mintemperature) + "°";
+ return MaxandMinTemperature;
+ }
}
\ No newline at end of file
static constexpr int16_t UV_IMAGE_ANIMATOR_VIEW_H = 60;\r
static constexpr int16_t UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 24; // 图片帧数\r
static constexpr int16_t UV_IMAGE_ANIMATOR_TIME = 100; // 图片更新间隔\r
+ static ImageAnimatorInfo UVimageAnimatorInfo[UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES];\r
\r
static constexpr int16_t WINDSPEED_IMAGE_ANIMATOR_VIEW_X = 203;\r
static constexpr int16_t WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 24; // 图片帧数\r
+ static ImageAnimatorInfo WindSpeedimageAnimatorInfo[WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES];\r
\r
static constexpr int16_t HUMIDITY_IMAGE_ANIMATOR_VIEW_X = 353;\r
static constexpr int16_t HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 20; // 图片帧数\r
+ static ImageAnimatorInfo HumidityimageAnimatorInfo[HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES];\r
\r
- static constexpr char *UVPaths = "/user/res/weather/weather60x60gif/UV/";\r
- static constexpr char *WindSpeedPaths = "/user/res/weather/weather60x60gif/WindSpeed/";\r
- static constexpr char *HumidityPaths = "/user/res/weather/weather60x60gif/Humidity/";\r
+ static constexpr const char *UVPaths = "/user/res/weather/weather60x60gif/UV/";\r
+ static constexpr const char *WindSpeedPaths = "/user/res/weather/weather60x60gif/WindSpeed/";\r
+ static constexpr const char *HumidityPaths = "/user/res/weather/weather60x60gif/Humidity/";\r
\r
static WeatherReportView *g_pWeatherReportView{nullptr};\r
\r
delete HumidityImageAnimatorView;\r
HumidityImageAnimatorView = nullptr;\r
\r
- if (p_ImageAnimator != nullptr)\r
- {\r
- p_ImageAnimator->FreeImagePathsArray(UVPathsArray, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
- p_ImageAnimator->DeleteImageAnimatorInfo(UVimageAnimatorInfo);\r
-\r
- p_ImageAnimator->FreeImagePathsArray(WindSpeedPathsArray, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
- p_ImageAnimator->DeleteImageAnimatorInfo(WindSpeedimageAnimatorInfo);\r
+ FreeImagePathsArray(UVPathsArray, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
\r
- p_ImageAnimator->FreeImagePathsArray(HumidityPathsArray, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
- p_ImageAnimator->DeleteImageAnimatorInfo(HumidityimageAnimatorInfo);\r
+ FreeImagePathsArray(WindSpeedPathsArray, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
\r
- delete p_ImageAnimator;\r
- p_ImageAnimator = nullptr;\r
- }\r
+ FreeImagePathsArray(HumidityPathsArray, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
}\r
}\r
\r
/* ----------------------------------- Add ---------------------------------- */\r
\r
Add(title);\r
-\r
Add(UV_Number);\r
Add(WindSpeed_Number);\r
Add(Humidity_Number);\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::WeatherReportViewImageAnimatorViewInit");\r
\r
- p_ImageAnimator = new ImageAnimator();\r
- if (p_ImageAnimator == nullptr)\r
+ /* ----------------------------- UVImageAnimatorView---------------------------- */\r
+ UVPathsArray = CreateImagePathsArray(UVPaths, "bin", UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+ if (UVImageAnimatorView == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "p_ImageAnimator new fail!!");\r
- return false;\r
+ UVImageAnimatorView = new UIImageAnimatorView();\r
+ if (UVImageAnimatorView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UVImageAnimatorView new fail");\r
+ return false;\r
+ }\r
+ for (uint8_t i = 0; i < UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++)\r
+ {\r
+ UVimageAnimatorInfo[i].imagePath = (UVPathsArray[i]);\r
+ UVimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+ UVimageAnimatorInfo[i].pos.x = UV_IMAGE_ANIMATOR_VIEW_X;\r
+ UVimageAnimatorInfo[i].pos.y = UV_IMAGE_ANIMATOR_VIEW_Y;\r
+ UVimageAnimatorInfo[i].width = UV_IMAGE_ANIMATOR_VIEW_W;\r
+ UVimageAnimatorInfo[i].height = UV_IMAGE_ANIMATOR_VIEW_H;\r
+ }\r
+ UVImageAnimatorView->SetPosition(UV_IMAGE_ANIMATOR_VIEW_X, UV_IMAGE_ANIMATOR_VIEW_Y, UV_IMAGE_ANIMATOR_VIEW_W, UV_IMAGE_ANIMATOR_VIEW_H);\r
+ UVImageAnimatorView->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ UVImageAnimatorView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ UVImageAnimatorView->SetImageAnimatorSrc(UVimageAnimatorInfo, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES, UV_IMAGE_ANIMATOR_TIME);\r
+ UVImageAnimatorView->SetRepeat(true);\r
+ UVImageAnimatorView->Start();\r
+ }\r
+ /* ----------------------- WindSpeedImageAnimatorView ----------------------- */\r
+ WindSpeedPathsArray = CreateImagePathsArray(WindSpeedPaths, "bin", WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+ if (WindSpeedImageAnimatorView == nullptr)\r
+ {\r
+ WindSpeedImageAnimatorView = new UIImageAnimatorView();\r
+ if (WindSpeedImageAnimatorView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WindSpeedImageAnimatorView new fail");\r
+ return false;\r
+ }\r
+ for (uint8_t i = 0; i < WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++)\r
+ {\r
+ WindSpeedimageAnimatorInfo[i].imagePath = (WindSpeedPathsArray[i]);\r
+ WindSpeedimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+ WindSpeedimageAnimatorInfo[i].pos.x = WINDSPEED_IMAGE_ANIMATOR_VIEW_X;\r
+ WindSpeedimageAnimatorInfo[i].pos.y = UV_IMAGE_ANIMATOR_VIEW_Y;\r
+ WindSpeedimageAnimatorInfo[i].width = UV_IMAGE_ANIMATOR_VIEW_W;\r
+ WindSpeedimageAnimatorInfo[i].height = UV_IMAGE_ANIMATOR_VIEW_H;\r
+ }\r
+ WindSpeedImageAnimatorView->SetPosition(WINDSPEED_IMAGE_ANIMATOR_VIEW_X, UV_IMAGE_ANIMATOR_VIEW_Y, UV_IMAGE_ANIMATOR_VIEW_W, UV_IMAGE_ANIMATOR_VIEW_H);\r
+ WindSpeedImageAnimatorView->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ WindSpeedImageAnimatorView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ WindSpeedImageAnimatorView->SetImageAnimatorSrc(WindSpeedimageAnimatorInfo, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES, UV_IMAGE_ANIMATOR_TIME);\r
+ WindSpeedImageAnimatorView->SetRepeat(true);\r
+ WindSpeedImageAnimatorView->Start();\r
+ }\r
+ /* ------------------------ HumidityImageAnimatorView ----------------------- */\r
+ HumidityPathsArray = CreateImagePathsArray(HumidityPaths, "bin", HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+ if (HumidityImageAnimatorView == nullptr)\r
+ {\r
+ HumidityImageAnimatorView = new UIImageAnimatorView();\r
+ if (HumidityImageAnimatorView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HumidityImageAnimatorView new fail");\r
+ return false;\r
+ }\r
+ for (uint8_t i = 0; i < HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++)\r
+ {\r
+ HumidityimageAnimatorInfo[i].imagePath = (HumidityPathsArray[i]);\r
+ HumidityimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+ HumidityimageAnimatorInfo[i].pos.x = HUMIDITY_IMAGE_ANIMATOR_VIEW_X;\r
+ HumidityimageAnimatorInfo[i].pos.y = UV_IMAGE_ANIMATOR_VIEW_Y;\r
+ HumidityimageAnimatorInfo[i].width = UV_IMAGE_ANIMATOR_VIEW_W;\r
+ HumidityimageAnimatorInfo[i].height = UV_IMAGE_ANIMATOR_VIEW_H;\r
+ }\r
+ HumidityImageAnimatorView->SetPosition(HUMIDITY_IMAGE_ANIMATOR_VIEW_X, UV_IMAGE_ANIMATOR_VIEW_Y, UV_IMAGE_ANIMATOR_VIEW_W, UV_IMAGE_ANIMATOR_VIEW_H);\r
+ HumidityImageAnimatorView->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ HumidityImageAnimatorView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ HumidityImageAnimatorView->SetImageAnimatorSrc(HumidityimageAnimatorInfo, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES, UV_IMAGE_ANIMATOR_TIME);\r
+ HumidityImageAnimatorView->SetRepeat(true);\r
+ HumidityImageAnimatorView->Start();\r
}\r
-\r
- p_ImageAnimator->imageAnimatorConfig = {\r
- .x = UV_IMAGE_ANIMATOR_VIEW_X,\r
- .y = UV_IMAGE_ANIMATOR_VIEW_Y,\r
- .w = UV_IMAGE_ANIMATOR_VIEW_W,\r
- .h = UV_IMAGE_ANIMATOR_VIEW_H,\r
- .numFrames = UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES,\r
- .time = UV_IMAGE_ANIMATOR_TIME,\r
- };\r
- UVPathsArray = p_ImageAnimator->CreateImagePathsArray(UVPaths, "bin", UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
- p_ImageAnimator->InitImageAnimatorSource(UVImageAnimatorView, UVimageAnimatorInfo, UVPathsArray, p_ImageAnimator->imageAnimatorConfig);\r
-\r
- p_ImageAnimator->imageAnimatorConfig.x = WINDSPEED_IMAGE_ANIMATOR_VIEW_X;\r
- WindSpeedPathsArray = p_ImageAnimator->CreateImagePathsArray(WindSpeedPaths, "bin", WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
- p_ImageAnimator->InitImageAnimatorSource(WindSpeedImageAnimatorView, WindSpeedimageAnimatorInfo, WindSpeedPathsArray, p_ImageAnimator->imageAnimatorConfig);\r
-\r
- p_ImageAnimator->imageAnimatorConfig.x = HUMIDITY_IMAGE_ANIMATOR_VIEW_X;\r
- p_ImageAnimator->imageAnimatorConfig.numFrames = HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES;\r
- HumidityPathsArray = p_ImageAnimator->CreateImagePathsArray(HumidityPaths, "bin", HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
- p_ImageAnimator->InitImageAnimatorSource(HumidityImageAnimatorView, HumidityimageAnimatorInfo, HumidityPathsArray, p_ImageAnimator->imageAnimatorConfig);\r
-\r
- /* ---------------------------------- Start --------------------------------- */\r
- UVImageAnimatorView->Start();\r
- WindSpeedImageAnimatorView->Start();\r
- HumidityImageAnimatorView->Start();\r
/* ----------------------------------- Add ---------------------------------- */\r
Add(UVImageAnimatorView);\r
Add(WindSpeedImageAnimatorView);\r
return true;\r
}\r
\r
+ const char **WeatherReportView::CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages)\r
+ {\r
+ const char **imagePaths = new const char *[numImages];\r
+ char buffer[256];\r
+ for (int i = 0; i < numImages; i++)\r
+ {\r
+ snprintf(buffer, sizeof(buffer), "%s%d.%s", basePath, i + 1, fileExtension);\r
+ imagePaths[i] = strdup(buffer);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " imagePaths[%d] = %s", i, imagePaths[i]);\r
+ }\r
+ return imagePaths;\r
+ }\r
+\r
+ /*\r
+ * @brief: 释放图片路径数组指针\r
+ * @param {char} imagePaths 图片路径数组\r
+ * @param {int} numImages 图片数量\r
+ */\r
+ void WeatherReportView::FreeImagePathsArray(const char **imagePaths, const int numImages)\r
+ {\r
+ for (int i = 0; i < numImages; i++)\r
+ {\r
+ delete imagePaths[i];\r
+ imagePaths[i] = nullptr;\r
+ }\r
+ }\r
+\r
}
\ No newline at end of file
static constexpr int16_t PULLUP_ANIMATOR_VIEW_Y = 400;
static constexpr int16_t PULLUP_ANIMATOR_VIEW_W = 40;
static constexpr int16_t PULLUP_ANIMATOR_VIEW_H = 40;
- static constexpr int16_t PULLUP_ANIMATOR_VIEW_NUM_FRAMES = 74;
- static constexpr int16_t PULLUP_ANIMATOR_VIEW_TIME = 50;
- static constexpr char *PullUpPaths = "/user/res/weather/PullUp/PullUp_";
+ static constexpr int16_t PULLUP_ANIMATOR_VIEW_NUM_FRAMES = 70;
+ static constexpr int16_t PULLUP_ANIMATOR_VIEW_TIME = 100;
+ ImageAnimatorInfo PullUpimageAnimatorInfo[PULLUP_ANIMATOR_VIEW_NUM_FRAMES];
+ static constexpr const char *PullUpPaths = "/user/res/weather/PullUp/PullUp_";
static WeatherView *g_pWeatherView{nullptr};
WeatherView::WeatherView()
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherView::WeatherView");
SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
SetViewIndex(0); // 视图索引
- WeatherImag = GetWeatherImage();
- Temperature = GetWeatherTemperature();
- WeatherDescription = GetWeatherDescription();
- WeatherArea = GetWeatherArea();
- MaxandMinTemperature = GetWeatherMaxAndMinTemperature();
+ if (WEATHER_DATA_VALID)
+ {
+ WeatherModel *p_WeatherModel = &WeatherModel::GetInstance();
+ WeatherImag = p_WeatherModel->GetWeatherImage();
+ Temperature = p_WeatherModel->GetWeatherTemperature();
+ WeatherDescription = p_WeatherModel->GetWeatherDescription();
+ WeatherArea = p_WeatherModel->GetWeatherArea();
+ MaxandMinTemperature = p_WeatherModel->GetWeatherMaxAndMinTemperature();
+ }
g_pWeatherView = this;
}
delete PullUpAnimatorView;
PullUpAnimatorView = nullptr;
}
- if (p_ImageAnimator != nullptr)
- {
- p_ImageAnimator->FreeImagePathsArray(PullUpPathsArray, PULLUP_ANIMATOR_VIEW_NUM_FRAMES);
- p_ImageAnimator->DeleteImageAnimatorInfo(PullUpimageAnimatorInfo);
- delete p_ImageAnimator;
- p_ImageAnimator = nullptr;
- }
+ FreeImagePathsArray(PullUpPathsArray, PULLUP_ANIMATOR_VIEW_NUM_FRAMES);
}
}
return g_pWeatherView;
}
- // 获取天气图片
- std::string WeatherView::GetWeatherImage()
- {
- int size = sizeof(weather130x130) / sizeof(weather130x130[0]);
- return weather130x130[8];
- }
- // 获取温度
-
- std::string WeatherView::GetWeatherTemperature()
- {
- // 使用系统时间作为种子
- srand(time(0));
- int temperature = rand() % 50;
- return std::to_string(22) + "°";
- }
- // 获取天气描述
-
- std::string WeatherView::GetWeatherDescription()
- {
- srand(time(0));
- std::string area[] = {"晴", "雨夹雪", "雷阵雨伴有冰雹"};
- int num = rand() % (sizeof(area) / sizeof(area[0]));
- return area[0];
- }
- // 获取天气地区
-
- std::string WeatherView::GetWeatherArea()
- {
- srand(time(0));
- std::string area[] = {"北京市东城区", "深圳市宝安区"};
- int num = rand() % (sizeof(area) / sizeof(area[0]));
- return area[1];
- }
- // 获取最高气温和最低气温
-
- std::string WeatherView::GetWeatherMaxAndMinTemperature()
- {
- // 使用系统时间作为种子
- srand(time(0));
- // 生成随机数
- int maxtemperature = 20 + rand() % 40; // 最高气温:20°~60°
- int mintemperature = -5 + rand() % 20;
- std::string MaxandMinTemperature = "最高" + std::to_string(22) + "°" + " " + "最低" + std::to_string(18) + "°";
- return MaxandMinTemperature;
- }
-
// 初始化标签
UILabelExt *WeatherView::InitLabelExt(int x, int y, int w, int h, const char *text, int textfont, int lineheight)
{
}
showMaxandMinTemperatureLabel->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
/* -------------------------------------------------------------------------- */
-
- p_ImageAnimator = new ImageAnimator();
- if (p_ImageAnimator == nullptr)
+ PullUpPathsArray = CreateImagePathsArray(PullUpPaths, "bin", PULLUP_ANIMATOR_VIEW_NUM_FRAMES);
+ if (PullUpAnimatorView == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "p_ImageAnimator new fail!!");
- return false;
+ PullUpAnimatorView = new UIImageAnimatorView();
+ if (PullUpAnimatorView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpAnimatorView new fail");
+ return false;
+ }
+ for (uint8_t i = 0; i < PULLUP_ANIMATOR_VIEW_NUM_FRAMES; i++)
+ {
+ PullUpimageAnimatorInfo[i].imagePath = (PullUpPathsArray[i]);
+ PullUpimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;
+ PullUpimageAnimatorInfo[i].pos.x = PULLUP_ANIMATOR_VIEW_X;
+ PullUpimageAnimatorInfo[i].pos.y = PULLUP_ANIMATOR_VIEW_Y;
+ PullUpimageAnimatorInfo[i].width = PULLUP_ANIMATOR_VIEW_W;
+ PullUpimageAnimatorInfo[i].height = PULLUP_ANIMATOR_VIEW_H;
+ }
+ PullUpAnimatorView->SetPosition(PULLUP_ANIMATOR_VIEW_X, PULLUP_ANIMATOR_VIEW_Y, PULLUP_ANIMATOR_VIEW_W, PULLUP_ANIMATOR_VIEW_H);
+ PullUpAnimatorView->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
+ PullUpAnimatorView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ PullUpAnimatorView->SetImageAnimatorSrc(PullUpimageAnimatorInfo, PULLUP_ANIMATOR_VIEW_NUM_FRAMES, PULLUP_ANIMATOR_VIEW_TIME);
+ PullUpAnimatorView->SetRepeat(true);
+ PullUpAnimatorView->Start();
}
-
- p_ImageAnimator->imageAnimatorConfig.x = PULLUP_ANIMATOR_VIEW_X;
- p_ImageAnimator->imageAnimatorConfig.y = PULLUP_ANIMATOR_VIEW_Y;
- p_ImageAnimator->imageAnimatorConfig.w = PULLUP_ANIMATOR_VIEW_W;
- p_ImageAnimator->imageAnimatorConfig.h = PULLUP_ANIMATOR_VIEW_H;
- p_ImageAnimator->imageAnimatorConfig.numFrames = PULLUP_ANIMATOR_VIEW_NUM_FRAMES;
- p_ImageAnimator->imageAnimatorConfig.time = PULLUP_ANIMATOR_VIEW_TIME;
- PullUpPathsArray = p_ImageAnimator->CreateImagePathsArray(PullUpPaths, "bin", PULLUP_ANIMATOR_VIEW_NUM_FRAMES);
- p_ImageAnimator->InitImageAnimatorSource(PullUpAnimatorView, PullUpimageAnimatorInfo, PullUpPathsArray, p_ImageAnimator->imageAnimatorConfig);
- PullUpAnimatorView->Start();
-
/* -------------------------------- 将组件添加到根视图 ------------------------------- */
Add(showWeatherImage);
Add(showCurrentTimeLabel);
showCurrentTimeLabel->SetText(stringtime.c_str());
}
}
+
+ const char **WeatherView::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: 释放图片路径数组指针
+ * @param {char} imagePaths 图片路径数组
+ * @param {int} numImages 图片数量
+ */
+ void WeatherView::FreeImagePathsArray(const char **imagePaths, const int numImages)
+ {
+ for (int i = 0; i < numImages; i++)
+ {
+ delete imagePaths[i];
+ imagePaths[i] = nullptr;
+ }
+ }
+
+ void WeatherView::DumpWeatherInfo()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherInfo:");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherImag:%s", WeatherImag.c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Temperature:%s", Temperature.c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherDescription:%s", WeatherDescription.c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherArea:%s", WeatherArea.c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MaxandMinTemperature:%s\n", MaxandMinTemperature.c_str());
+ }
}
\ No newline at end of file
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-04-11 19:15:39
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-04-12 20:04:57
+ * @FilePath: /FD230/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp
+ */
/**
* Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved. \n
*
#ifdef __cplusplus
#if __cplusplus
-extern "C" {
+extern "C"
+{
#endif /* __cplusplus */
#endif /* __cplusplus */
#include "custom_utils.h"
#include "string.h"
#include "bleService.h"
+//#include "../../../fd230app/nativeui/weather/include/WeatherModel.h"
+ // struct Weather_data
+ // {
+ // int humidity;
+ // char* windScale;
+ // char* textNight;
+ // int uvIndex;
+ // int temp;
+ // int iconNight;
+ // };
+ uint8_t ble_falg = 0;
-// struct Weather_data
-// {
-// int humidity;
-// char* windScale;
-// char* textNight;
-// int uvIndex;
-// int temp;
-// int iconNight;
-// };
-uint8_t ble_falg=0;
-
-uint8_t ble_is_ready(void)
-{
- return ble_falg;
-}
-
-uint8_t ble_is_connect_ready(void)
-{
- return Bleconnect;
-}
+ uint8_t ble_is_ready(void)
+ {
+ return ble_falg;
+ }
-void set_ble_falg(bool falg)
-{
- ble_falg=falg;
-}
+ uint8_t ble_is_connect_ready(void)
+ {
+ return Bleconnect;
+ }
-void set_weather_now_data(int humidity, char* windScale, char* textNight,int uvIndex,int temp,int iconNight)
-{
- return UI_set_weather_now_data(humidity, windScale, textNight,uvIndex,temp,iconNight);
-}
+ void set_ble_falg(bool falg)
+ {
+ ble_falg = falg;
+ }
-void set_weather_address_data(int lat, char* atm, char* city,char* subLocality,int lon)
-{
- return UI_set_weather_address_data(lat, atm, city,subLocality,lon);
-}
-// struct ONE_DAY_DATA
-// {
-// int tempMin;
-// int iconDay;
-// int fxDate;
-// char textDay[16];
-// int tempMax;
-// };
+ void set_weather_now_data(int humidity, char *windScale, char *textNight, int uvIndex, int temp, int iconNight)
+ {
+ return OHOS::UI_set_weather_now_data(humidity, windScale, textNight, uvIndex, temp, iconNight);
+ }
-static struct ONE_DAY_DATA data_t[7];
-void set_weather_one_data(int tempMin, int iconDay,int fxDate, int tempMax, char *textDay,int x)
-{
- data_t[x].tempMin=tempMin;
- data_t[x].iconDay=iconDay;
- data_t[x].fxDate=fxDate;
- data_t[x].tempMax=tempMax;
- memset((void*)data_t[x].textDay,0,16);
- strcpy(data_t[x].textDay,textDay);
+ void set_weather_address_data(int lat, char *atm, char *city, char *subLocality, int lon)
+ {
+ return OHOS::UI_set_weather_address_data(lat, atm, city, subLocality, lon);
+ }
+ // struct ONE_DAY_DATA
+ // {
+ // int tempMin;
+ // int iconDay;
+ // int fxDate;
+ // char textDay[16];
+ // int tempMax;
+ // };
+ static OHOS::ONE_DAY_DATA data_t[7];
+ void set_weather_one_data(int tempMin, int iconDay, int fxDate, int tempMax, char *textDay, int x)
+ {
+ data_t[x].tempMin = tempMin;
+ data_t[x].iconDay = iconDay;
+ data_t[x].fxDate = fxDate;
+ data_t[x].tempMax = tempMax;
+ memset((void *)data_t[x].textDay, 0, 16);
+ strcpy(data_t[x].textDay, textDay);
- if(x==6)
- return UI_set_weather_seven_day_data(data_t);
-}
+ if (x == 6)
+ return OHOS::UI_set_weather_seven_day_data(data_t);
+ }
#ifdef __cplusplus
#if __cplusplus
}
/*显示绑定通知*/
static OHOS::UIViewGroup* showDeviceBindingNotify(void)
{
- PairingViewEventListener::GetInstance().Pairing_StartTimer();
return OHOS::CreateDeviceBindingView();
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-03-22 10:04:36
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-12 11:37:28
+ * @LastEditTime: 2024-04-12 15:46:18
* @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp
*/
#include "notification_manager.h"
DeviceBindingView->Add(DeviceBindingButtonCancel);
DeviceBindingView->Add(DeviceBindingButtonOK);
}
+
+ PairingViewEventListener::GetInstance().Pairing_StartTimer();
+
return DeviceBindingView;
}