Merge #577 into sdk602patch0626 from refs/changes/577/head 578/target/1
author罗正 <1732036298@qq.com>
Wed, 24 Jul 2024 01:42:47 +0000 (01:42 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Wed, 24 Jul 2024 01:42:47 +0000 (01:42 +0000)
Code review from 罗正

* refs/changes/577/head: (15 commits squashed)

  - 修改恢复出厂设置适配多国语言

  - 1.优化设置视图:添加了表冠控制但效果不佳
    2.滑动关机和重启视图添加按键注册功能
    3.现在设置视图进入关机和重启为“滑动关机重启Slice”

  - 优化屏幕与亮度Slice:
    1.添加了scrollview的表冠控制,
    2.标签断行模式为LINE_BREAK_OSCILLATION改为LINE_BREAK_OSCILLATION
    3.亮屏时长视图实现点击按钮该变亮屏时长单选按钮选中状态

  - 解决手表解绑后恢复出厂设置,如果手机是直接与手表配对成功未选择语言,进入主界面后发现手表缺少字体问题。
    1.如果手机与手表先绑定成功,未选择语言,需选择语言才进入主界面。
    2.如果已选择语言,这时手机与手表绑定成功将自动进入主界面。

  - 传统蓝牙Slice优化修改

  -  喝水提醒尾部括号字符移除(原因:特殊字符不显示故删除)

  - Merge branch &#39;sdk602patch0626&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626

  - Merge branch &#39;sdk602patch0626&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626

  - 设置视图优化表冠控制

  - 解决天气界面没有时间显示的bug,并优化时间刷新
    1.目前主界面天气刷新:如果在天气卡片,天气数据有效,就刷新时间
    2.如果是Slice天气:滑到第一个界面,时间就会更新

  - 解决左滑进入指南针卡片,手持手表,左上角度数被遮挡bug

  - 解决左滑进入指南针卡片,与预览图不一致问题q

  - 解决手表第一次启动:如果选择完语言后重启未配对会直接进入到主界面bug

  - 通过下拉,刷新蓝牙连接状态,解决手机关闭蓝牙后手机还显示已连接问题需要等待一会才会显示断开连接

  - Merge branch &#39;sdk602patch0626&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626

Signed-off-by: 罗正 <1732036298@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/577
25 files changed:
code/sdk/application/wearable/fd230app/nativeui/bluetooth/src/MainBluetoothView.cpp
code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/include/ClassicBlueToothPresenter.h
code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/BluetoothServiceOptionsView.cpp
code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothView.cpp
code/sdk/application/wearable/fd230app/nativeui/compass/include/CompassView.h
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_en.txt
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_zh.txt
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_en.xml
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_zh.xml
code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang
code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang
code/sdk/application/wearable/fd230app/nativeui/language/languagemake.sh
code/sdk/application/wearable/fd230app/nativeui/languagecode/LanguageInit.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp
code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherModel.h
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherView.h
code/sdk/application/wearable/fd230app/nativeui/weather/src/MainWeatherPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherModel.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/MainCard/CompassCard.bin
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang

index 4792a68..3c6aa8c 100644 (file)
@@ -342,7 +342,8 @@ void MainBluetoothView::ChangeSettingView()
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainBluetoothView::ChangeSettingView");\r
     BluetoothModel::GetInstance()->SetTagConnectView(false);\r
     BluetoothModel::GetInstance()->SetTagScanDeviceClicked(false);\r
-    NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+    // NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+    NativeAbility::GetInstance().Back();\r
 }\r
 \r
 void MainBluetoothView::DropEarPhoneView()\r
index 06f9536..0404af4 100644 (file)
@@ -1,3 +1,10 @@
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-04-25 11:50:51\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-07-23 10:15:46\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/include/ClassicBlueToothPresenter.h\r
+ */\r
 #ifndef CLASSIC_BLUETOOTH_PRESENTER_H\r
 #define CLASSIC_BLUETOOTH_PRESENTER_H\r
 #include "Presenter.h"\r
@@ -16,21 +23,21 @@ namespace OHOS
     public:\r
         ClassicBlueToothPresenter();\r
         virtual ~ClassicBlueToothPresenter();\r
+        static ClassicBlueToothPresenter *GetInstance();\r
 \r
         virtual void OnStart() override;\r
         virtual void OnPause() override;\r
         virtual void OnResume() override;\r
         virtual void OnStop() override;\r
 \r
-        static ClassicBlueToothPresenter *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
         bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
         bool OnChange(UICheckBox::UICheckBoxState state) override;\r
         bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
+\r
+        bool X_DRAG_FLAG{false};\r
     };\r
 }\r
 \r
index 694965b..7461ab1 100644 (file)
@@ -4,7 +4,9 @@
 #include "UiConfig.h"
 #include "wearable_log.h"
 #include "PhoneService.h"
+#include "phoneservice/include/PhoneService.h"
 #include "BluetoothModel.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     static BluetoothServiceOptionsView *g_pBluetoothServiceOptionsView{nullptr};
@@ -31,31 +33,48 @@ namespace OHOS
     {
         if (initViewStatus == true)
         {
-            BlueToothScrollView->RemoveAll();
-
-            delete Title;
-            Title = nullptr;
-
-            delete HFP_Image;
-            HFP_Image = nullptr;
-
-            delete A2DP_Image;
-            A2DP_Image = nullptr;
-
-            delete HFP_Label;
-            HFP_Label = nullptr;
-
-            delete A2DP_Label;
-            A2DP_Label = nullptr;
-
-            delete HFP_ToggleButton;
-            HFP_ToggleButton = nullptr;
-
-            delete A2DP_ToggleButton;
-            A2DP_ToggleButton = nullptr;
-
-            delete BlueToothScrollView;
-            BlueToothScrollView = nullptr;
+            if (BlueToothScrollView != nullptr)
+            {
+                BlueToothScrollView->RemoveAll();
+
+                if (Title != nullptr)
+                {
+                    delete Title;
+                    Title = nullptr;
+                }
+                if (HFP_Image != nullptr)
+                {
+                    delete HFP_Image;
+                    HFP_Image = nullptr;
+                }
+                if (A2DP_Image != nullptr)
+                {
+                    delete A2DP_Image;
+                    A2DP_Image = nullptr;
+                }
+                if (HFP_Label != nullptr)
+                {
+                    delete HFP_Label;
+                    HFP_Label = nullptr;
+                }
+                if (A2DP_Label != nullptr)
+                {
+                    delete A2DP_Label;
+                    A2DP_Label = nullptr;
+                }
+                if (HFP_ToggleButton != nullptr)
+                {
+                    delete HFP_ToggleButton;
+                    HFP_ToggleButton = nullptr;
+                }
+                if (A2DP_ToggleButton != nullptr)
+                {
+                    delete A2DP_ToggleButton;
+                    A2DP_ToggleButton = nullptr;
+                }
+                delete BlueToothScrollView;
+                BlueToothScrollView = nullptr;
+            }
         }
     }
 
@@ -95,9 +114,8 @@ namespace OHOS
         label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小
         label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize);                                       // 字体大小
         label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh);                                    // 字体行高
-        //label->SetText(labelconfig.text);                                                           // 内容
-        label->SetTextId(labelconfig.textId);                                                          
-        label->SetLineBreakMode(labelconfig.lineBreakMode);                                           // 断行模式。
+        label->SetTextId(labelconfig.textId);
+        label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。
         label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);
         return label;
     }
@@ -107,14 +125,13 @@ namespace OHOS
     {
         LabelConfig labelconfig = {
             .left = 93,
-            .top = 52,
+            .top = 50,
             .width = 280,
             .height = 40,
             .fontSize = 30,
             .lineHeigh = 35,
-            //.text = "蓝牙服务选项",
-            .textId = STR_BLUETOOTH_SERVICE_OPTIONS,
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,
+            .textId = STR_BLUETOOTH_SERVICE_OPTIONS, /*蓝牙服务选项*/
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,
         };
         Title = SetBluetoothServiceOptionsViewLabel(labelconfig);
         if (nullptr == Title)
@@ -131,9 +148,8 @@ namespace OHOS
             .height = 40,
             .fontSize = 30,
             .lineHeigh = 35,
-            //.text = "通话蓝牙",
-            .textId = STR_HFP,
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,
+            .textId = STR_HFP, /*通话蓝牙*/
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,
         };
         HFP_Label = SetBluetoothServiceOptionsViewLabel(labelconfig);
         if (nullptr == HFP_Label)
@@ -142,8 +158,7 @@ namespace OHOS
             return false;
         }
         labelconfig.top = 273;
-        //labelconfig.text = "媒体蓝牙";
-        labelconfig.textId = STR_A2DP;
+        labelconfig.textId = STR_A2DP; /*媒体蓝牙*/
         A2DP_Label = SetBluetoothServiceOptionsViewLabel(labelconfig);
         if (nullptr == A2DP_Label)
         {
@@ -164,7 +179,7 @@ namespace OHOS
             return false;
         }
         HFP_ToggleButton->SetPosition(298, 145, 100, 50);
-        HFP_ToggleButton->SetState(uapi_hfp_connect_state());//ConfigModel::GetInstance()->GetHFPState());
+        HFP_ToggleButton->SetState(uapi_hfp_connect_state()); // ConfigModel::GetInstance()->GetHFPState());
         HFP_ToggleButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
         HFP_ToggleButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE, PNG_TOGGLEBUTTON_OFF_IMAGE);
         /* -------------------------------------------------------------------------- */
@@ -180,6 +195,11 @@ namespace OHOS
         A2DP_ToggleButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE, PNG_TOGGLEBUTTON_OFF_IMAGE);
         /* -------------------------------------------------------------------------- */
         UIView::OnClickListener *clickListener = static_cast<UIView::OnClickListener *>(BluetoothServiceOptionsPresenter::GetInstance());
+        if (nullptr == clickListener)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothServiceOptionsPresenter::GetInstance fail!!");
+            return false;
+        }
         HFP_ToggleButton->SetOnClickListener(clickListener);
         A2DP_ToggleButton->SetOnClickListener(clickListener);
 
@@ -226,33 +246,23 @@ namespace OHOS
     /// @param  void
     void BluetoothServiceOptionsView::BluetoothServiceOptionsViewInit(void)
     {
-        if (!SetUpBlueToothScrollView())
-        {
-            return;
-        }
-
-        if (!SetUpBlueToothImageView())
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothServiceOptionsView::BluetoothServiceOptionsViewInit");
+        if (!SetUpBlueToothScrollView() || !SetUpBlueToothImageView() || !SetUpBlueToothLabel() || !SetUpBlueToothToggleButton())
         {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothServiceOptionsView::BluetoothServiceOptionsViewInit fail!!");
             return;
         }
-
-        if (!SetUpBlueToothLabel())
-        {
-            return;
-        }
-
-        if (!SetUpBlueToothToggleButton())
-        {
-            return;
-        }
-
-        initViewStatus = true;
     }
 
     void BluetoothServiceOptionsView::OnStart()
     {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothServiceOptionsView::OnStart");
         View<BluetoothServiceOptionsPresenter>::OnStart();
-        BluetoothServiceOptionsViewInit();
+        if (!initViewStatus)
+        {
+            BluetoothServiceOptionsViewInit();
+            initViewStatus = true;
+        }
 
         // 增加按键监听
         RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::BluetoothServiceOptionsPresenter::GetInstance();
index e91a7ed..b63e968 100644 (file)
@@ -1,8 +1,8 @@
 /*\r
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-04-25 11:50:57\r
- * @LastEditors: SnickerSun snickersun@163.com\r
- * @LastEditTime: 2024-07-03 15:18:50\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-07-23 10:18:06\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothPresenter.cpp\r
  */\r
 #include "classicbluetooth/include/ClassicBlueToothPresenter.h"\r
@@ -14,6 +14,7 @@
 #include <ohos_types.h>\r
 #include "wearable_log.h"\r
 #include "ConfigModel.h"\r
+#include <UiConfig.h>\r
 namespace OHOS\r
 {\r
     // 当前Presenter属性实例化的内存指针\r
@@ -36,23 +37,25 @@ namespace OHOS
 \r
     void ClassicBlueToothPresenter::OnStart()\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnStart");\r
         Presenter<ClassicBlueToothView>::OnStart();\r
     }\r
 \r
     void ClassicBlueToothPresenter::OnPause(void)\r
     {\r
-\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnPause");\r
         Presenter<ClassicBlueToothView>::OnPause();\r
     }\r
 \r
     void ClassicBlueToothPresenter::OnResume(void)\r
     {\r
-\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnResume");\r
         Presenter<ClassicBlueToothView>::OnResume();\r
     }\r
 \r
     void ClassicBlueToothPresenter::OnStop(void)\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnStop");\r
         Presenter<ClassicBlueToothView>::OnStop();\r
     }\r
 \r
@@ -85,8 +88,11 @@ namespace OHOS
     bool ClassicBlueToothPresenter::OnDrag(UIView &view, const DragEvent &event)\r
     {\r
         UNUSED(view);\r
-        UNUSED(event);\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnDrag");\r
+        if ((event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) // 拖动过程中判断是否是水平滑动\r
+        {\r
+            X_DRAG_FLAG = true;\r
+        }\r
         return true;\r
     }\r
 \r
@@ -94,9 +100,10 @@ namespace OHOS
     {\r
         UNUSED(view);\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnDragEnd");\r
-        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && X_DRAG_FLAG)\r
         {\r
             NativeAbility::GetInstance().Back();\r
+            X_DRAG_FLAG = false;\r
         }\r
 \r
         return true;\r
@@ -128,7 +135,7 @@ namespace OHOS
 \r
     bool ClassicBlueToothPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnKeyAct");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothPresenter::OnKeyAct");\r
         uint16 keyID = event.GetKeyId();\r
         uint16 keyState = event.GetState();\r
         // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
index 520695e..7891457 100644 (file)
@@ -16,7 +16,6 @@ namespace OHOS
     ClassicBlueToothView::~ClassicBlueToothView()\r
     {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "~ClassicBlueToothView::ClassicBlueToothView");\r
-        ClearAll();\r
         g_pClassicBlueToothView = nullptr;\r
     }\r
 \r
@@ -29,34 +28,52 @@ namespace OHOS
     {\r
         if (initViewStatus == true)\r
         {\r
-            BlueToothScrollView->RemoveAll();\r
-\r
-            delete Title;\r
-            Title = nullptr;\r
-\r
-            delete BlueToothEarPhoneButton;\r
-            BlueToothEarPhoneButton = nullptr;\r
-\r
-            delete TradionalBlueToothButton;\r
-            TradionalBlueToothButton = nullptr;\r
-\r
-            delete BluetoothServiceOptionsButton;\r
-            BluetoothServiceOptionsButton = nullptr;\r
-\r
-            delete BlueToothEarPhoneLabel;\r
-            BlueToothEarPhoneLabel = nullptr;\r
-\r
-            delete TradionalBlueToothLabel;\r
-            TradionalBlueToothLabel = nullptr;\r
-\r
-            delete AttentionLabel;\r
-            AttentionLabel = nullptr;\r
-\r
-            delete TradionalBlueToothToggleButton;\r
-            TradionalBlueToothToggleButton = nullptr;\r
-\r
-            delete BlueToothScrollView;\r
-            BlueToothScrollView = nullptr;\r
+            if (BlueToothScrollView)\r
+            {\r
+                BlueToothScrollView->RemoveAll();\r
+                if (Title != nullptr)\r
+                {\r
+                    delete Title;\r
+                    Title = nullptr;\r
+                }\r
+                if (BlueToothEarPhoneButton != nullptr)\r
+                {\r
+                    delete BlueToothEarPhoneButton;\r
+                    BlueToothEarPhoneButton = nullptr;\r
+                }\r
+                if (TradionalBlueToothButton != nullptr)\r
+                {\r
+                    delete TradionalBlueToothButton;\r
+                    TradionalBlueToothButton = nullptr;\r
+                }\r
+                if (BluetoothServiceOptionsButton != nullptr)\r
+                {\r
+                    delete BluetoothServiceOptionsButton;\r
+                    BluetoothServiceOptionsButton = nullptr;\r
+                }\r
+                if (BlueToothEarPhoneLabel != nullptr)\r
+                {\r
+                    delete BlueToothEarPhoneLabel;\r
+                    BlueToothEarPhoneLabel = nullptr;\r
+                }\r
+                if (TradionalBlueToothLabel != nullptr)\r
+                {\r
+                    delete TradionalBlueToothLabel;\r
+                    TradionalBlueToothLabel = nullptr;\r
+                }\r
+                if (AttentionLabel != nullptr)\r
+                {\r
+                    delete AttentionLabel;\r
+                    AttentionLabel = nullptr;\r
+                }\r
+                if (TradionalBlueToothToggleButton != nullptr)\r
+                {\r
+                    delete TradionalBlueToothToggleButton;\r
+                    TradionalBlueToothToggleButton = nullptr;\r
+                }\r
+                delete BlueToothScrollView;\r
+                BlueToothScrollView = nullptr;\r
+            }\r
         }\r
     }\r
 \r
@@ -69,9 +86,10 @@ namespace OHOS
             return false;\r
         }\r
         BlueToothScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
-        BlueToothScrollView->SetScrollBlankSize(35);\r
+        BlueToothScrollView->SetScrollBlankSize(50);\r
         BlueToothScrollView->SetReboundSize(50);\r
         BlueToothScrollView->SetDirection(1);\r
+        BlueToothScrollView->RequestFocus();\r
         UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(ClassicBlueToothPresenter::GetInstance());\r
         if (draglistener == nullptr)\r
         {\r
@@ -96,7 +114,6 @@ namespace OHOS
         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->SetTextId(labelconfig.textId);\r
         label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。\r
         label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
@@ -108,14 +125,13 @@ namespace OHOS
     {\r
         LabelConfig labelconfig = {\r
             .left = 93,\r
-            .top = 52,\r
+            .top = 50,\r
             .width = 300,\r
             .height = 35,\r
             .fontSize = 30,\r
             .lineHeigh = 35,\r
-            //.text = "蓝牙",\r
-            .textId = STR_BLUETOOTH,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .textId = STR_BLUETOOTH, /*蓝牙*/\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         Title = SetClassicBlueToothViewLabel(labelconfig);\r
         if (nullptr == Title)\r
@@ -132,9 +148,8 @@ namespace OHOS
             .height = 35,\r
             .fontSize = 30,\r
             .lineHeigh = 35,\r
-            //.text = "蓝牙耳机",\r
-            .textId = STR_BLUETOOTH_HEADPHONES,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .textId = STR_BLUETOOTH_HEADPHONES, /*蓝牙耳机*/\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         BlueToothEarPhoneLabel = SetClassicBlueToothViewLabel(labelconfig);\r
         if (nullptr == BlueToothEarPhoneLabel)\r
@@ -144,8 +159,7 @@ namespace OHOS
         }\r
         /* -------------------------------------------------------------------------- */\r
         labelconfig.top = 273;\r
-        // labelconfig.text = "传统蓝牙";\r
-        labelconfig.textId = STR_TRADITIONAL_BLUETOOTH;\r
+        labelconfig.textId = STR_TRADITIONAL_BLUETOOTH; /*传统蓝牙*/\r
         TradionalBlueToothLabel = SetClassicBlueToothViewLabel(labelconfig);\r
         if (nullptr == TradionalBlueToothLabel)\r
         {\r
@@ -154,8 +168,7 @@ namespace OHOS
         }\r
         /* -------------------------------------------------------------------------- */\r
         labelconfig.top = 393;\r
-        // labelconfig.text = "蓝牙服务选项";\r
-        labelconfig.textId = STR_BLUETOOTH_SERVICE_OPTIONS;\r
+        labelconfig.textId = STR_BLUETOOTH_SERVICE_OPTIONS; /*蓝牙服务选项*/\r
         BluetoothServiceOptionsLabel = SetClassicBlueToothViewLabel(labelconfig);\r
         if (nullptr == BluetoothServiceOptionsLabel)\r
         {\r
@@ -172,10 +185,10 @@ namespace OHOS
         AttentionLabel->SetPosition(53, 499, 360, 180);  // 位置大小\r
         AttentionLabel->SetStyle(STYLE_TEXT_FONT, 20);   // 字体大小\r
         AttentionLabel->SetStyle(STYLE_LINE_HEIGHT, 30); // 字体行高\r
-        //.text = "注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加电耗,建议在有需要的时候使用\n\n(该功能主要用于电话拨打/通知、音乐控制/传输等)",\r
-        //SetLabelId(AttentionLabel, STR_AUTO_OFF_BLUETOOTH_NOTE);\r
+        //.text = "注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加电耗,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等)",\r
         AttentionLabel->SetTextId(STR_AUTO_OFF_BLUETOOTH_NOTE);\r
         AttentionLabel->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+        AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
         AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); // 断行模式。\r
         AttentionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 20);\r
         /* -------------------------------------------------------------------------- */\r
@@ -197,7 +210,7 @@ namespace OHOS
         BlueToothEarPhoneButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
         BlueToothEarPhoneButton->SetImagePosition(326, 37);\r
         BlueToothEarPhoneButton->SetImageSrc(PNG_SETTING_NEXT_IMAGE, PNG_SETTING_NEXT_IMAGE);\r
-        BlueToothEarPhoneButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);\r
+        BlueToothEarPhoneButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
         /* -------------------------------------------------------------------------- */\r
         TradionalBlueToothButton = new UILabelButtonExt();\r
         if (TradionalBlueToothButton == nullptr)\r
@@ -222,11 +235,10 @@ namespace OHOS
         BluetoothServiceOptionsButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
         BluetoothServiceOptionsButton->SetImagePosition(326, 37);\r
         BluetoothServiceOptionsButton->SetImageSrc(PNG_SETTING_NEXT_IMAGE, PNG_SETTING_NEXT_IMAGE);\r
-        BluetoothServiceOptionsButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);\r
+        BluetoothServiceOptionsButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
         /* -------------------------------------------------------------------------- */\r
-        UIView::OnClickListener *clickListener = static_cast<UIView::OnClickListener *>(ClassicBlueToothPresenter::GetInstance());\r
-        BlueToothEarPhoneButton->SetOnClickListener(clickListener);\r
-        BluetoothServiceOptionsButton->SetOnClickListener(clickListener);\r
+        BlueToothEarPhoneButton->SetOnClickListener(presenter_);\r
+        BluetoothServiceOptionsButton->SetOnClickListener(presenter_);\r
 \r
         return true;\r
     }\r
@@ -244,8 +256,7 @@ namespace OHOS
         TradionalBlueToothToggleButton->SetState(ConfigModel::GetInstance()->GetClassicBlueToothState());\r
         TradionalBlueToothToggleButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
         TradionalBlueToothToggleButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE, PNG_TOGGLEBUTTON_OFF_IMAGE);\r
-        UICheckBox::OnChangeListener *changeListener = static_cast<UICheckBox::OnChangeListener *>(ClassicBlueToothPresenter::GetInstance());\r
-        TradionalBlueToothToggleButton->SetOnChangeListener(changeListener);\r
+        TradionalBlueToothToggleButton->SetOnChangeListener(presenter_);\r
         return true;\r
     }\r
 \r
@@ -258,37 +269,25 @@ namespace OHOS
     /// @param  void\r
     void ClassicBlueToothView::ClassicBlueToothViewInit(void)\r
     {\r
-        if (!SetUpBlueToothScrollView())\r
-        {\r
-            return;\r
-        }\r
-\r
-        if (!SetUpBlueToothButton())\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothView::ClassicBlueToothViewInit");\r
+        if (!SetUpBlueToothScrollView() || !SetUpBlueToothButton() || !SetUpBlueToothLabel() || !SetUpBlueToothToggleButton())\r
         {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothView::ClassicBlueToothViewInit fail!!");\r
             return;\r
         }\r
-\r
-        if (!SetUpBlueToothLabel())\r
-        {\r
-            return;\r
-        }\r
-\r
-        if (!SetUpBlueToothToggleButton())\r
-        {\r
-            return;\r
-        }\r
-\r
-        initViewStatus = true;\r
     }\r
 \r
     void ClassicBlueToothView::OnStart()\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClassicBlueToothView::OnStart");\r
         View<ClassicBlueToothPresenter>::OnStart();\r
-        ClassicBlueToothViewInit();\r
+        if (!initViewStatus)\r
+        {\r
+            ClassicBlueToothViewInit();\r
+            initViewStatus = true;\r
+        }\r
 \r
-        // 增加按键监听\r
-        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::ClassicBlueToothPresenter::GetInstance();\r
-        RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+        RootView::GetInstance()->SetOnKeyActListener(presenter_); // 增加按键监听\r
     }\r
 \r
     void ClassicBlueToothView::OnSetUpView()\r
@@ -305,6 +304,7 @@ namespace OHOS
         BlueToothScrollView->Add(AttentionLabel);\r
         BlueToothScrollView->Add(TradionalBlueToothToggleButton);\r
         RootView::GetInstance()->Add(BlueToothScrollView);\r
+        container_ = BlueToothScrollView;\r
         Draw();\r
     }\r
 \r
@@ -321,6 +321,7 @@ namespace OHOS
         View<ClassicBlueToothPresenter>::OnStop();\r
         RootView::GetInstance()->RemoveAll();\r
         RootView::GetInstance()->ClearOnKeyActListener();\r
+        ClearAll();\r
         return;\r
     }\r
 \r
index 877572f..420dee6 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-06-12 11:44:04
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-27 09:51:49
+ * @LastEditTime: 2024-07-23 15:18:13
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/compass/include/CompassView.h
  */
 
@@ -20,7 +20,7 @@
 #include "CompassCalibrationView.h"
 
 namespace OHOS {
-static constexpr float VIEW_CENTERS = 227;
+static constexpr float VIEW_CENTERS = 233;/*233代表分辨率为466的屏幕*/
 
 class CompassView : public AppGroupView {
 public:
index 969dd69..baca8ed 100644 (file)
@@ -451,7 +451,7 @@ STR_DEVICE_BINDING_NOTE$XX wants to connect and bind with you
 STR_EQUIPMENT_UNTYING$Equipment untying\r
 STR_EQUIPMENT_UNTYING_NOTE$XX would like to unbind you\r
 STR_DRINK_WATER_REMINDER$Drink water reminder\r
-STR_DRINK_WATER_REMINDER_NOTE$Time for some water! And stay hydrated (๑•̀ㅂ•́)\r
+STR_DRINK_WATER_REMINDER_NOTE$Time for some water! And stay hydrated\r
 STR_SEDENTARY_REMINDER$Sedentary reminder\r
 STR_SEDENTARY_REMINDER_NOTE$You haven't moved for XX hours. Get up and move.\r
 STR_SYSTEM_UPGRADING$System upgrading\r
index 099b258..4590219 100644 (file)
@@ -451,7 +451,7 @@ STR_DEVICE_BINDING_NOTE$XX想要与你进行连接绑定
 STR_EQUIPMENT_UNTYING$设备解绑\r
 STR_EQUIPMENT_UNTYING_NOTE$XX想要与你进行解绑\r
 STR_DRINK_WATER_REMINDER$喝水提醒\r
-STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足(๑•̀ㅂ•́)و✧\r
+STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足\r
 STR_SEDENTARY_REMINDER$久坐提醒\r
 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。\r
 STR_SYSTEM_UPGRADING$系统升级中\r
index 08bd8e4..974a1d2 100644 (file)
        <lanstr id="STR_EQUIPMENT_UNTYING" value="Equipment untying"/>
        <lanstr id="STR_EQUIPMENT_UNTYING_NOTE" value="XX would like to unbind you"/>
        <lanstr id="STR_DRINK_WATER_REMINDER" value="Drink water reminder"/>
-       <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="Time for some water! And stay hydrated (๑•̀ㅂ•́)"/>
+       <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="Time for some water! And stay hydrated"/>
        <lanstr id="STR_SEDENTARY_REMINDER" value="Sedentary reminder"/>
        <lanstr id="STR_SEDENTARY_REMINDER_NOTE" value="You haven't moved for XX hours. Get up and move."/>
        <lanstr id="STR_SYSTEM_UPGRADING" value="System upgrading"/>
index 8bb63aa..6ad434b 100644 (file)
        <lanstr id="STR_EQUIPMENT_UNTYING" value="设备解绑"/>
        <lanstr id="STR_EQUIPMENT_UNTYING_NOTE" value="XX想要与你进行解绑"/>
        <lanstr id="STR_DRINK_WATER_REMINDER" value="喝水提醒"/>
-       <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="该喝水啦!记得按时保持水分充足(๑•̀ㅂ•́)و✧"/>
+       <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="该喝水啦!记得按时保持水分充足"/>
        <lanstr id="STR_SEDENTARY_REMINDER" value="久坐提醒"/>
        <lanstr id="STR_SEDENTARY_REMINDER_NOTE" value="你已经XX小时未活动了,站起来活动一下吧。"/>
        <lanstr id="STR_SYSTEM_UPGRADING" value="系统升级中"/>
index 0cc6eea..3f74213 100644 (file)
Binary files a/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang and b/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang differ
index d06ff68..bd8dda9 100644 (file)
Binary files a/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang and b/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang differ
index b2140ff..1b158ed 100644 (file)
@@ -1,14 +1,14 @@
 #!/bin/bash
 ###
  # @Date: 2024-07-10 21:03:33
- # @LastEditors: Caisking 3449750381@qq.com
- # @LastEditTime: 2024-07-10 21:03:37
+ # @LastEditors: luozheng 1732036298@qq.com
+ # @LastEditTime: 2024-07-23 11:29:39
  # @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/languagemake.sh
 ### 
 
 # 进入目录 Language_xml
 cd ~/XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml
-
+#cd /home/luozheng/xts_origin/FD230/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml
 # 运行 languagetool.py
 python languagetool.py
 
index 047731c..807de8b 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-30 09:14:38
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-20 18:03:40
+ * @LastEditTime: 2024-07-23 17:10:22
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/languagecode/LanguageInit.cpp
  */
 #include <fstream>
@@ -117,11 +117,11 @@ namespace OHOS
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLangues");
         // 获取json里面的语言
         int thelanguage = ConfigModel::GetInstance()->GetLanguage();
-        if( thelanguage == -1 )
+        if(ConfigModel::GetInstance()->GetisFirstTimeStart() == true)
         {
             /**
              * TODO:
-             * 如果 thelanguage = -1 证明第一次启动,需要实现弹窗切换语言的功能。
+             * 如果 GetisFirstTimeStart()证明第一次启动,需要实现弹窗切换语言的功能。
              * 在此之前,先设置成默认0
             */
             //thelanguage = 0;
index 8cb7d95..6698e36 100644 (file)
@@ -29,6 +29,7 @@
 #include "custom_utils.h"
 #include "traing/training_card/include/Training_CardView.h"
 #include "dnotdisturb/include/DnotDisturbModel.h"
+#include "weather/include/WeatherModel.h"
 #if USE_OFFLINE_DIAL
 #include "DialViewGroup.h"
 #endif
@@ -392,6 +393,11 @@ namespace OHOS
             }
         }
         break;
+        case WEATHER:
+            if(WeatherModel::GetInstance().GetWeatherDataIsValid()) {
+                WeatherModel::GetInstance().UpdateWeatherCurTime();
+            }
+            break;
         }
     }
 
index 2f08ff2..c824011 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-06-26 18:14:24
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-16 15:31:46
+ * @LastEditTime: 2024-07-23 18:13:38
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp
  */
 
@@ -18,6 +18,8 @@
 #include "dnotdisturb/include/DnotDisturbModel.h"
 #include "custom_utils.h"
 #include "custom_runtime.h"
+#include "bluetooth/include/BluetoothModel.h"
+#include "phoneservice/include/PhoneService.h"
 namespace OHOS
 {
 
@@ -755,7 +757,7 @@ namespace OHOS
         }
         else if (cat1_powerOn == 1 && sim == 1)
         {
-            if (signal == SIGNAL_NO_SIGNAL) //计算信号强度
+            if (signal == SIGNAL_NO_SIGNAL) // 计算信号强度
             {
                 // 无信号UI显示
                 // UpdateCat1NoSignalisplay(true);
@@ -780,10 +782,10 @@ namespace OHOS
             }
             else
             {
-                if (cat1_network_type == NETWORK_TYPE_NO_NETWORK) 
+                if (cat1_network_type == NETWORK_TYPE_NO_NETWORK)
                 {
                     // 无信号,无4G图标 显示
-                    //UpdateCat1NoSignalisplay(true);
+                    // UpdateCat1NoSignalisplay(true);
                     UpdateCat14GDisplay(false);
                     UpdateCat1MobileDataDisplay(false);
                     // UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
@@ -791,7 +793,7 @@ namespace OHOS
                 else if (cat1_network_type == NETWORK_TYPE_4G)
                 {
                     // 有4G图标,正常显示信号
-                    //UpdateCat1NoSignalisplay(false);
+                    // UpdateCat1NoSignalisplay(false);
                     UpdateCat14GDisplay(true);
                     UpdateCat1MobileDataDisplay(true);
                     // UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
@@ -799,7 +801,7 @@ namespace OHOS
                 else
                 {
                     // 无4G图标,正常显示信号
-                    //UpdateCat1NoSignalisplay(false);
+                    // UpdateCat1NoSignalisplay(false);
                     UpdateCat14GDisplay(false);
                     UpdateCat1MobileDataDisplay(true);
                     // UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
@@ -880,7 +882,7 @@ namespace OHOS
     /*更新移动数据图标显示*/
     void PullUpDownView::UpdateCat1MobileDataDisplay(bool state)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateCat1MobileDataDisplay %d",state);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateCat1MobileDataDisplay %d", state);
         if (MobileData != nullptr)
         {
             MobileData->SetVisible(state);
@@ -910,7 +912,12 @@ namespace OHOS
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateSignalStrengthStatusAndBatteryPosition");
         updateSignalDisplay();
-        //UpdateBatteryPosition(GetSignalStrength());
+
+        int a2dp = uapi_a2dp_snk_get_device_connect_state();
+        int hfp = uapi_hfp_connect_state();
+        bool bluetoothstatus = (a2dp == 0 || hfp == 0) ? false : true;
+        UpdateBlueToothStatus(bluetoothstatus);
+        // UpdateBatteryPosition(GetSignalStrength());
     }
 
     // 下拉视图初始化
index 02a3073..94efc0b 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-07-12 09:55:29
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-22 11:33:17
+ * @LastEditTime: 2024-07-22 18:30:57
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp
  */
 
@@ -84,7 +84,7 @@ namespace OHOS
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::scrollView is nullptr");
             return;
         }
-        scrollView->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+        scrollView->SetPosition(0, 0, 466, 466);
         scrollView->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
         scrollView->SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
         scrollView->SetScrollBlankSize(SETTING_SCROLLBLANKSIZE);
@@ -125,12 +125,13 @@ namespace OHOS
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::contentList is nullptr");
             return;
         }
-        contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+        contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, 380, 400);
         contentList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
-        contentList->SetScrollBlankSize(SETTING_SCROLLBLANKSIZE);
-        contentList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position
+        contentList->SetScrollBlankSize(75);
+        // contentList->SetSelectPosition(820 / SNUM_2); // middle position
         contentList->SetDraggable(true);
         contentList->SetThrowDrag(true);
+        contentList->EnableAutoAlign(true);
         contentList->SetReboundSize(REBOUNDSIZE);
         contentList->SetMaxScrollDistance(MAX_SCR_DIS);
         contentList->RequestFocus();
index 669210b..2d92052 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-08 18:40:20
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-19 10:24:03
+ * @LastEditTime: 2024-07-23 14:41:27
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherModel.h
  */
 #ifndef WEATHER_MODEL_H
@@ -88,6 +88,7 @@ namespace OHOS
         static WeatherModel &GetInstance(void);
         void InitFutureWeatherItem();
         void TimestampToMonthDayString(time_t timestamp, char *buffer);
+        std::string GetWeatherCurTime();
         std::string GetWeatherImage();
         std::string GetWeatherTemperature();
         std::string GetWeatherDescription();
@@ -109,6 +110,7 @@ namespace OHOS
         void SetWeatherDataIsValid(bool value);
         /* -------------------------------------------------------------------------- */
         void UpdateMainWeatherData(void);
+        void UpdateWeatherCurTime(void);
     private:
         WeatherModel();
         WeatherModel(const WeatherModel &) = delete;
index 3c93ddf..618c915 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-30 09:14:38
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-15 16:31:50
+ * @LastEditTime: 2024-07-23 14:51:03
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherView.h
  */
 #ifndef WEATHER_VIEW_H
@@ -35,6 +35,7 @@ namespace OHOS
         virtual bool InitView(void *caller) override;
         void ClearAll();
         bool UpdateWeatherViewData(void);
+        bool UpdateWeatherTime(void);
 
     private:
         UILabelExt *InitLabelExt(int x, int y, int w, int h, const char *text, int textfont, int lineheight);
@@ -45,7 +46,6 @@ namespace OHOS
         void DumpWeatherInfo();
         bool SetImageSource(UIImageView *image, const std::string &source);
         bool SetTextLabel(UILabel *label, const std::string &text);
-        bool UpdateWeatherTime(void);
         bool UpdateWeatherImag(void);
         bool UpdateWeatherTemperature(void);
         bool UpdateWeatherWeatherDescription(void);
index daaba8b..edeae73 100644 (file)
@@ -101,9 +101,9 @@ namespace OHOS
     {\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
-        if (view.GetCurrentPage() == WEATHERREPORTVIEW)\r
+        if (view.GetCurrentPage() == MAINWEATHERVIEW)\r
         {\r
-            //MainWeatherView::GetInstance()->GetFutureWeatherView()->GetFutureWeatherList()->RefreshList();\r
+            WeatherModel::GetInstance().UpdateWeatherCurTime();\r
         }\r
     }\r
 \r
index 7002393..eb23d01 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-08 18:40:09
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-19 10:24:12
+ * @LastEditTime: 2024-07-23 14:54:46
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherModel.cpp
  */
 #include "weather/include/WeatherModel.h"
@@ -135,6 +135,22 @@ namespace OHOS
         sprintf(buffer, "%02d.%02d", timeinfo.tm_mon + 1, timeinfo.tm_mday);
     }
 
+    /*获取天气界面的当前时间*/
+    std::string WeatherModel::GetWeatherCurTime()
+    {
+        struct tm pTM;
+        time_t seconds;
+        time(&seconds);
+        localtime_r(&seconds, &pTM);
+
+        int hour = pTM.tm_hour;
+        int minute = pTM.tm_min;
+
+        std::string weatherTime = (hour < 10 ? "0" : "") + std::to_string(hour) + ":" + (minute < 10 ? "0" : "") + std::to_string(minute);
+
+        return weatherTime;
+    }
+
     // 获取天气图片
     std::string WeatherModel::GetWeatherImage()
     {
@@ -267,7 +283,7 @@ namespace OHOS
     /* 更新所有天气数据 */
     void WeatherModel::UpdateMainWeatherData(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateMainWeatherData");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateMainWeatherData");
 
         MainWeatherView *p_MainWeatherView = MainWeatherView::GetInstance();
         if (p_MainWeatherView != nullptr)
@@ -287,4 +303,15 @@ namespace OHOS
             p_WeatherControlView->UpdateWeatherControlViewVisibility();
         }
     }
+
+    /*更新天气界面的时间显示*/
+    void WeatherModel::UpdateWeatherCurTime(void)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateWeatherCurTime");
+        MainWeatherView *p_MainWeatherView = MainWeatherView::GetInstance();
+        if (p_MainWeatherView != nullptr)
+        {
+            p_MainWeatherView->GetWeatherView()->UpdateWeatherTime();
+        }
+    }
 }
\ No newline at end of file
index 7e79b1a..d4c1057 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-06-12 11:44:04
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-19 10:51:02
+ * @LastEditTime: 2024-07-23 14:44:07
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherView.cpp
  */
 #include "weather/include/WeatherView.h"
@@ -87,6 +87,7 @@ namespace OHOS
         SetViewIndex(0); // 视图索引
 
         WeatherModel *p_WeatherModel = &WeatherModel::GetInstance();
+        WeatherTime = p_WeatherModel->GetWeatherCurTime();
         WeatherImag = p_WeatherModel->GetWeatherImage();
         Temperature = p_WeatherModel->GetWeatherTemperature();
         WeatherDescription = p_WeatherModel->GetWeatherDescription();
@@ -200,7 +201,7 @@ namespace OHOS
         showWeatherImage->SetResizeMode(UIImageView::CONTAIN);
         showWeatherImage->SetSrc(WeatherImag.c_str());
         /* -------------------------------------------------------------------------- */
-        showCurrentTimeLabel = InitLabelExt(CURRENT_TIME_LABEL_X, CURRENT_TIME_LABEL_Y, CURRENT_TIME_LABEL_W, CURRENT_TIME_LABEL_H, "",
+        showCurrentTimeLabel = InitLabelExt(CURRENT_TIME_LABEL_X, CURRENT_TIME_LABEL_Y, CURRENT_TIME_LABEL_W, CURRENT_TIME_LABEL_H, WeatherTime.c_str(),
                                             CURRENT_TIME_LABEL_TEXT_FONT, CURRENT_TIME_LABEL_LINE_HEIGHT);
         if (showCurrentTimeLabel == nullptr)
         {
@@ -362,15 +363,7 @@ namespace OHOS
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::UpdateWeatherTime");
 
-        struct tm pTM;
-        time_t seconds;
-        time(&seconds);
-        localtime_r(&seconds, &pTM);
-
-        int hour = pTM.tm_hour;
-        int minute = pTM.tm_min;
-
-        std::string weatherTime = (hour < 10 ? "0" : "") + std::to_string(hour) + ":" + (minute < 10 ? "0" : "") + std::to_string(minute);
+        std::string weatherTime = WeatherModel::GetInstance().GetWeatherCurTime();
 
         return SetTextLabel(showCurrentTimeLabel, weatherTime);
     }
index 0cc6eea..3f74213 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang differ
index d06ff68..bd8dda9 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang differ