1.音乐的蓝牙未连接视图添加,多国语言资源添加
authorluozheng <1732036298@qq.com>
Mon, 12 Aug 2024 11:21:41 +0000 (19:21 +0800)
committerluozheng <1732036298@qq.com>
Mon, 12 Aug 2024 11:21:41 +0000 (19:21 +0800)
2.删除"/user/music/"下的音乐,并移动到"/user/userdata/music"目录下
3.音乐Model新增判断音乐路径是否存在函数
4.修复进入音乐删除视图后在音乐播放器界面点击任意一个按钮错误进入音乐删除视图

34 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h
code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h
code/sdk/application/wearable/fd230app/nativeui/player/include/MusicPlayerBTConnectFailedView.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayerListDelSongView.h
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersModel.h
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersPresenter.h
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h
code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBluetoothDisConView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerSourceView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayerListDelSongView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersCaseListAdapter.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp
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/ui_resource_string.h
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/Lemon.mp3 [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/music/Lemon.mp3 with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/alarm.mp3 [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/music/alarm.mp3 with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/chun_feng_chu.mp3 [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/music/chun_feng_chu.mp3 with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/lan_jing.mp3 [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/music/lan_jing.mp3 with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/mp3_48k_caiqing.mp3 [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/music/mp3_48k_caiqing.mp3 with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/music.txt [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/one.mp3 [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/music/one.mp3 with 100% similarity]
code/sdk/drivers/peripheral/utils/custom_utils.c
tools/language_tool/Language_xml/input_list_en.txt
tools/language_tool/Language_xml/input_list_zh.txt
tools/language_tool/Language_xml/language_en.xml
tools/language_tool/Language_xml/language_zh.xml
tools/language_tool/font/en.lang
tools/language_tool/font/ui_resource_string.h
tools/language_tool/font/zh.lang

index fd9e954..f5d2e1f 100644 (file)
@@ -244,6 +244,7 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/VolumeSettingPresenter.cpp
     #音乐
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/MusicPlayerBluetoothDisConView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/MusicPlayerSourceView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/PlayersView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/PlayersPresenter.cpp
index 36407b3..d609c3f 100644 (file)
@@ -64,7 +64,7 @@ namespace OHOS
 #define DOUBLES 2
 
 #define APP_RES_PATH "/user/res"
-#define APP_MUSIC_PATH "/user/music"
+#define APP_MUSIC_PATH "/user/userdata/music"
 #define APP_VIDEO_PATH "/user/video"
 #define APP_DEFAULT_DIAL_PATH "/user/dial"                /*默认表盘安装路径*/
 #define APP_DOWNLOAD_DIAL_PATH "/user/userdata/dial"      /*表盘市场安装路径*/
index a501aad..353e3f2 100644 (file)
@@ -441,80 +441,82 @@ enum UIResourceTextId : uint16_t {
     STR_CONNECTION_ERROR = 428,\r
     STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE = 429,\r
     STR_ENABLE_BLUETOOTH_CALL = 430,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 431,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR = 432,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE = 433,\r
-    STR_SIM_CARD_ERROR = 434,\r
-    STR_CHECK_SIM_CARD_INSERTION = 435,\r
-    STR_WEATHER_REPORT = 436,\r
-    STR_ULTRAVIOLET = 437,\r
-    STR_WIND_SPEED = 438,\r
-    STR_HUMIDITY = 439,\r
-    STR_NEXT_7_DAYS = 440,\r
-    STR_GET_WEATHER_ERROR = 441,\r
-    STR_MUSIC_SOURCE = 442,\r
-    STR_MOBILE_MUSIC = 443,\r
-    STR_WATCH_MUSIC = 444,\r
-    STR_MUSIC_LIST = 445,\r
-    STR_BLUETOOTH_CONNECTION_FAILED = 446,\r
-    STR_SCANNING_BINDING = 447,\r
-    STR_DEVICE_BINDING = 448,\r
-    STR_DEVICE_BINDING_NOTE = 449,\r
-    STR_EQUIPMENT_UNTYING = 450,\r
-    STR_EQUIPMENT_UNTYING_NOTE = 451,\r
-    STR_DRINK_WATER_REMINDER = 452,\r
-    STR_DRINK_WATER_REMINDER_NOTE = 453,\r
-    STR_SEDENTARY_REMINDER = 454,\r
-    STR_SEDENTARY_REMINDER_NOTE = 455,\r
-    STR_SYSTEM_UPGRADING = 456,\r
-    STR_NEWDEVICE_BIND_REMIND_NOTE = 457,\r
-    STR_AI_VOICE = 458,\r
-    STR_AI_INTELLIGENT_ASSISTANT = 459,\r
-    STR_START_CHAT = 460,\r
-    STR_BOOT_FAILED = 461,\r
-    STR_ENABLE_MOBILE_DATA_FIRST = 462,\r
-    STR_ENABLE_BLUETOOTH_FIRST = 463,\r
-    STR_LISTENING = 464,\r
-    STR_FINISH_SPEAKING = 465,\r
-    STR_THINKING = 466,\r
-    STR_CANCEL = 467,\r
-    STR_CONNECT_TIMEOUT = 468,\r
-    STR_PLEASE_RESTART_CHAT = 469,\r
-    STR_CONTINUE_CHAT = 470,\r
-    STR_AIMODELS_DOUBAO = 471,\r
-    STR_AIMODES_WENXINYIYAN = 472,\r
-    STR_AIMODES_KIMI = 473,\r
-    STR_AIMODES_CHATGPT = 474,\r
-    STR_SLIDE_TO_SHUTDOWN = 475,\r
-    STR_SLIDE_TO_REBOOT = 476,\r
-    STR_AI_FAMILY_MEALS = 477,\r
-    STR_CHAT = 478,\r
-    STR_PCY4GC_OR_AS = 479,\r
-    STR_API_KEYS = 480,\r
-    STR_PGTTAF = 481,\r
-    STR_DAFBS = 482,\r
-    STR_OPENAI_API_KEYS = 483,\r
-    STR_KHBB = 484,\r
-    STR_GTAS = 485,\r
-    STR_DYWTDAK = 486,\r
-    STR_CONNECTING = 487,\r
-    STR_CONNECTION_FAIL = 488,\r
-    STR_PTALORTM = 489,\r
-    STR_MOTION_DETECTION_NOTE = 490,\r
-    STR_PE4GC = 491,\r
-    STR_OBU_MESSAGE = 492,\r
-    STR_DELETE = 493,\r
-    STR_CHARGE = 494,\r
-    STR_CHARGE_NOTE = 495,\r
-    STR_STEP_FREQUENCY = 496,\r
-    STR_STEP_LENGTH = 497,\r
-    STR_AVG_PACE = 498,\r
-    STR_TONGYI_QIANWEN = 499,\r
-    STR_IFLYTEK_SPARK = 500,\r
-    STR_DISTURBNOTE_OFF = 501,\r
-    STR_4G_NOTE = 502,\r
-    STR_MUSIC_PLAYER_SOURCE_NOTE = 503,\r
-    STR_MAX_ID = 504,\r
+    STR_SOLUTION = 431,\r
+    STR_IPHONE = 432,\r
+    STR_ANDROID = 433,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 434,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID = 435,\r
+    STR_SIM_CARD_ERROR = 436,\r
+    STR_CHECK_SIM_CARD_INSERTION = 437,\r
+    STR_WEATHER_REPORT = 438,\r
+    STR_ULTRAVIOLET = 439,\r
+    STR_WIND_SPEED = 440,\r
+    STR_HUMIDITY = 441,\r
+    STR_NEXT_7_DAYS = 442,\r
+    STR_GET_WEATHER_ERROR = 443,\r
+    STR_MUSIC_SOURCE = 444,\r
+    STR_MOBILE_MUSIC = 445,\r
+    STR_WATCH_MUSIC = 446,\r
+    STR_MUSIC_LIST = 447,\r
+    STR_BLUETOOTH_CONNECTION_FAILED = 448,\r
+    STR_SCANNING_BINDING = 449,\r
+    STR_DEVICE_BINDING = 450,\r
+    STR_DEVICE_BINDING_NOTE = 451,\r
+    STR_EQUIPMENT_UNTYING = 452,\r
+    STR_EQUIPMENT_UNTYING_NOTE = 453,\r
+    STR_DRINK_WATER_REMINDER = 454,\r
+    STR_DRINK_WATER_REMINDER_NOTE = 455,\r
+    STR_SEDENTARY_REMINDER = 456,\r
+    STR_SEDENTARY_REMINDER_NOTE = 457,\r
+    STR_SYSTEM_UPGRADING = 458,\r
+    STR_NEWDEVICE_BIND_REMIND_NOTE = 459,\r
+    STR_AI_VOICE = 460,\r
+    STR_AI_INTELLIGENT_ASSISTANT = 461,\r
+    STR_START_CHAT = 462,\r
+    STR_BOOT_FAILED = 463,\r
+    STR_ENABLE_MOBILE_DATA_FIRST = 464,\r
+    STR_ENABLE_BLUETOOTH_FIRST = 465,\r
+    STR_LISTENING = 466,\r
+    STR_FINISH_SPEAKING = 467,\r
+    STR_THINKING = 468,\r
+    STR_CANCEL = 469,\r
+    STR_CONNECT_TIMEOUT = 470,\r
+    STR_PLEASE_RESTART_CHAT = 471,\r
+    STR_CONTINUE_CHAT = 472,\r
+    STR_AIMODELS_DOUBAO = 473,\r
+    STR_AIMODES_WENXINYIYAN = 474,\r
+    STR_AIMODES_KIMI = 475,\r
+    STR_AIMODES_CHATGPT = 476,\r
+    STR_SLIDE_TO_SHUTDOWN = 477,\r
+    STR_SLIDE_TO_REBOOT = 478,\r
+    STR_AI_FAMILY_MEALS = 479,\r
+    STR_CHAT = 480,\r
+    STR_PCY4GC_OR_AS = 481,\r
+    STR_API_KEYS = 482,\r
+    STR_PGTTAF = 483,\r
+    STR_DAFBS = 484,\r
+    STR_OPENAI_API_KEYS = 485,\r
+    STR_KHBB = 486,\r
+    STR_GTAS = 487,\r
+    STR_DYWTDAK = 488,\r
+    STR_CONNECTING = 489,\r
+    STR_CONNECTION_FAIL = 490,\r
+    STR_PTALORTM = 491,\r
+    STR_MOTION_DETECTION_NOTE = 492,\r
+    STR_PE4GC = 493,\r
+    STR_OBU_MESSAGE = 494,\r
+    STR_DELETE = 495,\r
+    STR_CHARGE = 496,\r
+    STR_CHARGE_NOTE = 497,\r
+    STR_STEP_FREQUENCY = 498,\r
+    STR_STEP_LENGTH = 499,\r
+    STR_AVG_PACE = 500,\r
+    STR_TONGYI_QIANWEN = 501,\r
+    STR_IFLYTEK_SPARK = 502,\r
+    STR_DISTURBNOTE_OFF = 503,\r
+    STR_4G_NOTE = 504,\r
+    STR_MUSIC_PLAYER_SOURCE_NOTE = 505,\r
+    STR_MAX_ID = 506,\r
 }; // UIResourceTextId\r
 \r
 enum FontLanguageId : uint8_t {\r
diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/include/MusicPlayerBTConnectFailedView.h b/code/sdk/application/wearable/fd230app/nativeui/player/include/MusicPlayerBTConnectFailedView.h
new file mode 100644 (file)
index 0000000..9615c6d
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-08-12 11:31:35
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-08-12 17:08:31
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/MusicPlayerBTConnectFailedView.cpp
+ */
+#ifndef MUSIC_PLAYER_BTCONNECTFAILED_VIEW_H
+#define MUSIC_PLAYER_BTCONNECTFAILED_VIEW_H
+#include "components/ui_label_ext.h"
+#include "components/ui_view_group.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_button.h"
+namespace OHOS
+{
+    class MusicPlayerBTConnectFailedView : public UIView::OnClickListener
+    {
+    public:
+        MusicPlayerBTConnectFailedView();
+        ~MusicPlayerBTConnectFailedView();
+        UIViewGroup *CreateMusicPlayerBTConnectFailedView(void);
+        bool OnClick(UIView &view, const ClickEvent &event) override;
+
+    private:
+        bool CreateMusicPlayerBTConnectFailedViewLabel();
+        bool CreateMusicPlayerBTConnectFailedViewButton();
+        void ClearAll();
+        UIViewGroup *group{nullptr};
+        UIScrollView *scrollView{nullptr};
+        UILabelExt *titleLabel{nullptr}; // 标题
+        UILabelExt *IPoneLabel{nullptr};
+        UILabelExt *AndroidLabel{nullptr}; 
+        UILabelExt *BTNoteLabel1{nullptr};
+        UILabelExt *BTNoteLabel2{nullptr};
+        UILabelExt *BTNoteLabel3{nullptr};
+        UILabelExt *CloseLabel{nullptr};
+        UIButton *CloseButton{nullptr};
+        UIView::OnDragListener *dragListener{nullptr};
+    };
+
+}
+#endif
\ No newline at end of file
index 2108562..e01aa52 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-08-05 15:20:03
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-09 18:23:38
+ * @LastEditTime: 2024-08-12 18:24:31
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayerListDelSongView.h
  */
 
@@ -44,7 +44,7 @@ namespace OHOS
         virtual ~PlayerListDelSongView();
         static PlayerListDelSongView *GetInstance(void);
         UIViewGroup *CreatePlayerListDelSongView();
-        void SetTheSongLabelStyle(const char *songName);
+        void SetTheDelSongLabelStyle(const char *songName);
         void DeleteSongNameFile(void);
         UIButton *GetEnsureDeleteButton(void);
         UIButton *GetCancelDeleteButton(void);
index ed11ebf..060ed80 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-08-05 15:20:03
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-09 18:31:29
+ * @LastEditTime: 2024-08-12 17:59:14
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersModel.h
  */
 
@@ -95,6 +95,7 @@ public:
     void ClearActivateAudioInterrupt(void);
     void GetDuration(int64_t &duration);
 public:
+    bool CreateMusicPlayDirectory(const char* path = APP_MUSIC_PATH);
     std::string GetMusicPlayPath(void);
     bool GetMusicSource();
     void SetMusicSource(bool value);
index 9e1a75c..a9e449a 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-08-05 15:20:03\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-10 17:54:49\r
+ * @LastEditTime: 2024-08-12 14:54:57\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersPresenter.h\r
  */\r
 \r
@@ -56,7 +56,8 @@ class VolumeSettingView;
 #define MUSIC_PLAYER_LIST_VIEW "MusicPlayerListView"     //音乐列表的滑动监听\r
 #define MUSIC_PLAYER_DELETE_VIEW "MusicPlayerDeleteView" //音乐删除视图的滑动监听\r
 #define MUSIC_PLAYER_DELETE_VIEW "MusicPlayerDeleteView" //音乐删除视图的滑动监听\r
-#define MUISC_PLAYER_BLUETOOTH_DISCONN_VIEW "MusicPlayerBluetoothDisConView"\r
+#define MUISC_PLAYER_BLUETOOTH_DISCONN_VIEW "MusicPlayerBluetoothDisConView" //蓝牙未连接视图的滑动监听\r
+#define MUISC_PLAYER_BLUETOOTH_CONNECTFAILED_VIEW "MusicPlayerBluetoothConncetFailedView" //蓝牙连接失败视图的滑动监听\r
 #define TIPS_SUCC_MESSAGE_VIEW "TipsSuccMessageView" \r
 #define TIPS_FAIL_MESSAGE_VIEW "TipsFailMessageView"\r
 #define TIPS_CONN_FAIL_MESSAGE_VIEW "TipsConnFailMessageView"\r
@@ -167,6 +168,8 @@ private:
     void OnDragChangMusicPlayerSourceView(const DragEvent& event);\r
     void OnDragChangMusicPlayerListView(const DragEvent& event);\r
     void OnDragChangMusicPlayerDeleteView(const DragEvent& event);\r
+    void OnDragChangMusicPlayerBTDisConnectView(const DragEvent& event);\r
+    void OnDragChangMusicPlayerBTConnectFailedView(const DragEvent& event);\r
     void DropEarPhoneView(const DragEvent& event);\r
     void DropEarListView(const DragEvent& event);\r
     void CorrespondingJump(const DragEvent& event, int16_t hideView);\r
index d2c4c40..feb3f09 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-08-05 15:20:03\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-10 18:09:09\r
+ * @LastEditTime: 2024-08-12 14:57:23\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h\r
  */\r
 \r
@@ -33,6 +33,7 @@
 #include "VolumeSettingView.h"\r
 #include "player/include/MusicPlayerSourceView.h"\r
 #include "player/include/MusicPlayerBluetoothDisConView.h"\r
+#include "player/include/MusicPlayerBTConnectFailedView.h"\r
 namespace OHOS\r
 {\r
 #define PLAY_PROGRESS_MIN 0\r
@@ -60,6 +61,7 @@ namespace OHOS
             MUSIC_LIST_VIEW,                         // 音乐列表视图\r
             MUSIC_DELETE_VIEW,                       // 音乐删除视图\r
             MUSIC_BLUETOOTH_DISCONN_VIEW,            // 音乐蓝牙未连接视图\r
+            MUSIC_BT_CONNECTFAILED_VIEW,             // 音乐蓝牙连接失败视图\r
             MUISC_CONNECTING,                        // 连接动画视图\r
             MUISC_BLUETOOTH_HEADSET_LIST_VIEW,       // 蓝牙耳机列表视图\r
             MUSIC_CONNECTED_BLUETOOTH_HEADSET_VIEW,  // 已连接的蓝牙耳机设备视图\r
@@ -109,6 +111,7 @@ namespace OHOS
         bool ChangeToMusicListView(int16_t thisView);\r
         bool ChangeToMusicDeleteView(int16_t thisView);\r
         bool ChangeToMusicBluetoothDisConnectView(int16_t thisView);\r
+        bool ChangeToMusicBluetoothConnectFailedView(int16_t thisView);\r
 \r
     private:\r
         UIButton *PlayerViewButtonInit(ButtonConfig &buttonconfig);\r
@@ -137,7 +140,7 @@ namespace OHOS
         void PhoneMusicConnectStatusLabelIsSetVisible(bool status);\r
         void PhoneMusicConnectStatusLabelColor(bool state);\r
         void OptionsButtonSetImageStyle(ImageInfo *image);\r
-        void SetMusicPlayerButtonIsTouchable(bool musicSourceType, bool phoneMusicConnectStatus);\r
+        void SetMusicPlayerButtonIsTouchable(bool musicSourceType);\r
 \r
     private:\r
         VolumeSettingView *volumeSettingView{nullptr};                           // 声音设置\r
@@ -145,6 +148,7 @@ namespace OHOS
         PlayerListDelSongView *playerListDelSongView{nullptr};                   // 音乐删除视图\r
         UIViewGroup *musicListGroupView{nullptr};                                // 音乐列表视图\r
         MusicPlayerBluetoothDisConView *musicPlayerBluetoothDisConView{nullptr}; // 蓝牙未连接视图\r
+        MusicPlayerBTConnectFailedView *musicPlayerBTConnectFailedView{nullptr}; // 蓝牙连接失败视图\r
 \r
     private:\r
         UIView::OnClickListener *clickListener{nullptr};\r
diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp
new file mode 100644 (file)
index 0000000..e889d66
--- /dev/null
@@ -0,0 +1,305 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-08-12 11:31:43
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-08-12 17:19:23
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp
+ */
+#include "player/include/MusicPlayerBTConnectFailedView.h"
+#include "player/include/PlayersPresenter.h"
+#include "player/include/PlayersView.h"
+#include "wearable_log.h"
+#include "ui_resource_string.h"
+
+namespace OHOS
+{
+    static constexpr const char *CLOSEBUTTON_VIEWID = "CLOSEButton";
+    MusicPlayerBTConnectFailedView::MusicPlayerBTConnectFailedView(/* args */)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBTConnectFailedView::MusicPlayerBTConnectFailedView");
+    }
+
+    MusicPlayerBTConnectFailedView::~MusicPlayerBTConnectFailedView()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBTConnectFailedView::~MusicPlayerBTConnectFailedView");
+        ClearAll();
+    }
+
+    bool MusicPlayerBTConnectFailedView::OnClick(UIView &view, const ClickEvent &event)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::OnClick");
+        PlayersView *playersView = PlayersView::GetInstance();
+        if (!playersView)
+        {
+            return false;
+        }
+        if (strcmp(view.GetViewId(), CLOSEBUTTON_VIEWID) == 0)
+        {
+            playersView->ChangeView(PlayersView::MUSIC_BT_CONNECTFAILED_VIEW, PlayersView::MAIN_MUSICPLAYER_VIEW);
+        }
+        return true;
+    }
+
+    void MusicPlayerBTConnectFailedView::ClearAll()
+    {
+        if (group != nullptr)
+        {
+            group->RemoveAll();
+
+            if (scrollView != nullptr)
+            {
+                scrollView->RemoveAll();
+                if (titleLabel != nullptr)
+                {
+                    delete titleLabel;
+                    titleLabel = nullptr;
+                }
+                if (IPoneLabel != nullptr)
+                {
+                    delete IPoneLabel;
+                    IPoneLabel = nullptr;
+                }
+                if (AndroidLabel != nullptr)
+                {
+                    delete AndroidLabel;
+                    AndroidLabel = nullptr;
+                }
+                if (BTNoteLabel1 != nullptr)
+                {
+                    delete BTNoteLabel1;
+                    BTNoteLabel1 = nullptr;
+                }
+                if (BTNoteLabel2 != nullptr)
+                {
+                    delete BTNoteLabel2;
+                    BTNoteLabel2 = nullptr;
+                }
+                if (BTNoteLabel3 != nullptr)
+                {
+                    delete BTNoteLabel3;
+                    BTNoteLabel3 = nullptr;
+                }
+                if (CloseLabel != nullptr)
+                {
+                    delete CloseLabel;
+                    CloseLabel = nullptr;
+                }
+                if (CloseButton != nullptr)
+                {
+                    delete CloseButton;
+                    CloseButton = nullptr;
+                }
+                delete scrollView;
+                scrollView = nullptr;
+            }
+
+            delete group;
+            group = nullptr;
+        }
+    }
+
+    bool MusicPlayerBTConnectFailedView::CreateMusicPlayerBTConnectFailedViewLabel()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBTConnectFailedView::CreateMusicPlayerBTConnectFailedViewLabel");
+        /* ------------------------------- titleLabel ------------------------------- */
+        if (titleLabel == nullptr)
+        {
+            titleLabel = new UILabelExt();
+            if (titleLabel == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail");
+                return false;
+            }
+        }
+        titleLabel->SetPosition(83, 50, 300, 35);
+        titleLabel->SetStyle(STYLE_TEXT_FONT, 30);
+        titleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+        titleLabel->SetTextId(STR_BLUETOOTH_CONNECTION_FAILED); // 蓝牙连接失败
+        titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+        titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+        titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        /* ------------------------------- BTNoteLabel1 ------------------------------ */
+        if (BTNoteLabel1 == nullptr)
+        {
+            BTNoteLabel1 = new UILabelExt();
+            if (BTNoteLabel1 == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BTNoteLabel1 new fail");
+                return false;
+            }
+        }
+        BTNoteLabel1->SetPosition(53, 140, 360, 35);
+        BTNoteLabel1->SetStyle(STYLE_TEXT_FONT, 30);
+        BTNoteLabel1->SetStyle(STYLE_LINE_HEIGHT, 35);
+        BTNoteLabel1->SetTextId(STR_SOLUTION);
+        BTNoteLabel1->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+        BTNoteLabel1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        /* ------------------------------- IPoneLabel ------------------------------- */
+        if (IPoneLabel == nullptr)
+        {
+            IPoneLabel = new UILabelExt();
+            if (IPoneLabel == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "IPoneLabel new fail");
+                return false;
+            }
+        }
+        IPoneLabel->SetPosition(53, BTNoteLabel1->GetY() + BTNoteLabel1->GetTextHeight(), 360, 35);
+        IPoneLabel->SetStyle(STYLE_TEXT_FONT, 30);
+        IPoneLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+        IPoneLabel->SetTextId(STR_IPHONE);
+        IPoneLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+        IPoneLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        /* ------------------------------ BTNoteLabel2 ------------------------------ */
+        if (BTNoteLabel2 == nullptr)
+        {
+            BTNoteLabel2 = new UILabelExt();
+            if (BTNoteLabel2 == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BTNoteLabel2 new fail");
+                return false;
+            }
+        }
+        BTNoteLabel2->SetPosition(53, IPoneLabel->GetY() + IPoneLabel->GetTextHeight(), 360, 455);
+        BTNoteLabel2->SetStyle(STYLE_TEXT_FONT, 30);
+        BTNoteLabel2->SetStyle(STYLE_LINE_HEIGHT, 35);
+        BTNoteLabel2->SetTextId(STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE);
+        BTNoteLabel2->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+        BTNoteLabel2->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        /* ------------------------------- AndroidLabel ------------------------------- */
+        if (AndroidLabel == nullptr)
+        {
+            AndroidLabel = new UILabelExt();
+            if (AndroidLabel == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AndroidLabel new fail");
+                return false;
+            }
+        }
+        AndroidLabel->SetPosition(53, BTNoteLabel2->GetY() + BTNoteLabel2->GetTextHeight() + 40, 360, 35);
+        AndroidLabel->SetStyle(STYLE_TEXT_FONT, 30);
+        AndroidLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+        AndroidLabel->SetTextId(STR_IPHONE);
+        AndroidLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+        AndroidLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        /* ------------------------------ BTNoteLabel3 ------------------------------ */
+        if (BTNoteLabel3 == nullptr)
+        {
+            BTNoteLabel3 = new UILabelExt();
+            if (BTNoteLabel3 == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BTNoteLabel2 new fail");
+                return false;
+            }
+        }
+        BTNoteLabel3->SetPosition(53, AndroidLabel->GetY() + AndroidLabel->GetTextHeight(), 360, 455);
+        BTNoteLabel3->SetStyle(STYLE_TEXT_FONT, 30);
+        BTNoteLabel3->SetStyle(STYLE_LINE_HEIGHT, 35);
+        BTNoteLabel3->SetTextId(STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID);
+        BTNoteLabel3->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+        BTNoteLabel3->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        /* ------------------------------- CloseLabel ------------------------------- */
+        if (CloseLabel == nullptr)
+        {
+            CloseLabel = new UILabelExt();
+            if (CloseLabel == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CloseLabel new fail");
+                return false;
+            }
+        }
+        CloseLabel->SetPosition(83, BTNoteLabel3->GetY() + BTNoteLabel3->GetTextHeight() + 40 + 29, 300, 35);
+        CloseLabel->SetStyle(STYLE_TEXT_FONT, 30);
+        CloseLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+        CloseLabel->SetTextId(STR_CLOSE); // 关闭
+        CloseLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+        CloseLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        CloseLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+
+        return true;
+    }
+
+    bool MusicPlayerBTConnectFailedView::CreateMusicPlayerBTConnectFailedViewButton()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBTConnectFailedView::CreateMusicPlayerBTConnectFailedViewButton");
+        if (CloseButton == nullptr)
+        {
+            CloseButton = new UIButton();
+            if (CloseButton == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CloseButton new fail!!");
+                return false;
+            }
+        }
+        CloseButton->SetPosition(43, BTNoteLabel3->GetY() + BTNoteLabel3->GetTextHeight() + 40, 380, 100);
+        CloseButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
+        CloseButton->SetViewId(CLOSEBUTTON_VIEWID);
+        CloseButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff383838, UIButton::PRESSED);
+        CloseButton->SetOnClickListener(this);
+
+        return true;
+    }
+
+    UIViewGroup *MusicPlayerBTConnectFailedView::CreateMusicPlayerBTConnectFailedView(void)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConView");
+        if (group == nullptr)
+        {
+            group = new UIViewGroup();
+            if (group == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");
+                return nullptr;
+            }
+        }
+        group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+        group->SetStyle(STYLE_BACKGROUND_OPA, 0);
+        group->SetTouchable(true);
+        group->SetDraggable(true);
+        group->SetIntercept(true);
+        group->SetViewId(MUISC_PLAYER_BLUETOOTH_CONNECTFAILED_VIEW);
+        if (dragListener == nullptr)
+        {
+            dragListener = static_cast<UIView::OnDragListener *>(new PlayerOnDragListener());
+            if (dragListener == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dragListener new fail");
+                return nullptr;
+            }
+        }
+        group->SetOnDragListener(dragListener);
+        /* -------------------------------------------------------------------------- */
+        if (scrollView == nullptr)
+        {
+            scrollView = new UIScrollView();
+            if (scrollView == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail");
+                return nullptr;
+            }
+        }
+        scrollView->SetPosition(0, 0, 466, 466);
+        scrollView->SetScrollBlankSize(50);
+        scrollView->SetReboundSize(35);
+        scrollView->SetThrowDrag(true);
+        scrollView->SetMaxScrollDistance(1000);
+        scrollView->SetDirection(UIScrollView::VERTICAL);
+
+        if (!CreateMusicPlayerBTConnectFailedViewLabel() || !CreateMusicPlayerBTConnectFailedViewButton())
+        {
+            return nullptr;
+        }
+        scrollView->Add(titleLabel);
+        scrollView->Add(BTNoteLabel1);
+        scrollView->Add(IPoneLabel);
+        scrollView->Add(AndroidLabel);
+        scrollView->Add(BTNoteLabel2);
+        scrollView->Add(BTNoteLabel3);
+        scrollView->Add(CloseButton);
+        scrollView->Add(CloseLabel);
+
+        group->Add(scrollView);
+        return group;
+    }
+
+}
\ No newline at end of file
index bf0b7bb..3ee33f8 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-08-10 16:23:46
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-10 19:11:52
+ * @LastEditTime: 2024-08-12 12:01:13
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBluetoothDisConView.cpp
  */
 #include "player/include/MusicPlayerBluetoothDisConView.h"
 #include "player/include/PlayersPresenter.h"
 #include "player/include/PlayersView.h"
 #include "ui_resource_image.h"
+#include "string.h"
 namespace OHOS
 {
+    static constexpr const char *OKBUTTON_VIEWID = "OkButton";
     MusicPlayerBluetoothDisConView::MusicPlayerBluetoothDisConView()
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::MusicPlayerBluetoothDisConView");
@@ -27,17 +29,12 @@ namespace OHOS
     bool MusicPlayerBluetoothDisConView::OnClick(UIView &view, const ClickEvent &event)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::OnClick");
-        UILabelButton *button = dynamic_cast<UILabelButton *>(&view);
-        if (!button)
-        {
-            return false;
-        }
         PlayersView *playersView = PlayersView::GetInstance();
         if (!playersView)
         {
             return false;
         }
-        if (button == OkButton)
+        if (strcmp(view.GetViewId(), OKBUTTON_VIEWID) == 0)
         {
             playersView->ChangeView(PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW, PlayersView::MAIN_MUSICPLAYER_VIEW);
         }
@@ -77,19 +74,20 @@ namespace OHOS
                     delete noteLabel;
                     noteLabel = nullptr;
                 }
+                if (OkButton != nullptr)
+                {
+                    delete OkButton;
+                    OkButton = nullptr;
+                }
+                if (OkLabel != nullptr)
+                {
+                    delete OkLabel;
+                    OkLabel = nullptr;
+                }
                 delete scrollView;
                 scrollView = nullptr;
             }
-            if (OkButton != nullptr)
-            {
-                delete OkButton;
-                OkButton = nullptr;
-            }
-            if (OkLabel != nullptr)
-            {
-                delete OkLabel;
-                OkLabel = nullptr;
-            }
+
             delete group;
             group = nullptr;
         }
@@ -115,7 +113,7 @@ namespace OHOS
 
     bool MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewLabel(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewLabel");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewLabel");
         LabelConfig labelConfig = {
             .left = 83,
             .top = 50,
@@ -132,7 +130,6 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail!!");
             return false;
         }
-        scrollView->Add(titleLabel);
         /* -------------------------------------------------------------------------- */
         labelConfig = {
             .left = 53,
@@ -150,7 +147,7 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "noteLabel new fail!!");
             return false;
         }
-        scrollView->Add(noteLabel);
+
         /* -------------------------------------------------------------------------- */
         int16_t y = noteLabel->GetY() + noteLabel->GetTextHeight() + 30 + 33;
         labelConfig = {
@@ -169,13 +166,13 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OkLabel new fail!!");
             return false;
         }
-        scrollView->Add(OkLabel);
+
         return true;
     }
 
     bool MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewImage(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewImage");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewImage");
         if (bluetoothImage == nullptr)
         {
             bluetoothImage = new UIImageView();
@@ -191,7 +188,7 @@ namespace OHOS
                 return false;
             }
         }
-        scrollView->Add(bluetoothImage);
+
         /* -------------------------------------------------------------------------- */
         if (image66 == nullptr)
         {
@@ -207,8 +204,10 @@ namespace OHOS
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phoneImage LoadPlayerImage fail");
                 return false;
             }
+            image66->SetAutoEnable(false);
+            image66->SetResizeMode(UIImageView::CENTER);
         }
-        scrollView->Add(image66);
+
         if (image99 == nullptr)
         {
             image99 = new UIImageView();
@@ -217,21 +216,22 @@ namespace OHOS
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");
                 return false;
             }
-            image99->SetPosition(344, 296, 74, 52);
+            image99->SetPosition(344, noteLabel->GetY() + noteLabel->GetTextHeight() - 35, 74, 52);
             if (!PlayersView::LoadPlayerImage(image99, PLAYER_DOWM_66))
             {
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phoneImage LoadPlayerImage fail");
                 return false;
             }
+            image99->SetAutoEnable(false);
+            image99->SetResizeMode(UIImageView::CENTER);
         }
-        scrollView->Add(image99);
 
         return true;
     }
 
     bool MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewButton(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewButton");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConViewButton");
         if (OkButton == nullptr)
         {
             OkButton = new UIButton();
@@ -243,17 +243,16 @@ namespace OHOS
         }
         OkButton->SetPosition(0, noteLabel->GetY() + noteLabel->GetTextHeight() + 30, 466, 100);
         OkButton->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE);
+        OkButton->SetViewId(OKBUTTON_VIEWID);
         OkButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff383838, UIButton::PRESSED);
         OkButton->SetOnClickListener(this);
 
-        scrollView->Add(OkButton);
-
         return true;
     }
 
     UIViewGroup *MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConView(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConView");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MusicPlayerBluetoothDisConView::CreateMusicPlayerBluetoothDisConView");
         if (group == nullptr)
         {
             group = new UIViewGroup();
@@ -263,7 +262,7 @@ namespace OHOS
                 return nullptr;
             }
         }
-        group->SetPosition(0, 0, 466, 466);
+        group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
         group->SetStyle(STYLE_BACKGROUND_OPA, 0);
         group->SetTouchable(true);
         group->SetDraggable(true);
@@ -290,7 +289,7 @@ namespace OHOS
             }
         }
         scrollView->SetPosition(0, 0, 466, 466);
-        scrollView->SetScrollBlankSize(35);
+        scrollView->SetScrollBlankSize(50);
         scrollView->SetReboundSize(35);
         scrollView->SetDirection(UIScrollView::VERTICAL);
 
@@ -298,7 +297,13 @@ namespace OHOS
         {
             return nullptr;
         }
-
+        scrollView->Add(titleLabel);
+        scrollView->Add(bluetoothImage);
+        scrollView->Add(image66);
+        scrollView->Add(image99);
+        scrollView->Add(noteLabel);
+        scrollView->Add(OkButton);
+        scrollView->Add(OkLabel);
         group->Add(scrollView);
         return group;
     }
index 5151ab5..bb47b64 100644 (file)
@@ -13,6 +13,9 @@
 #include "ui_resource_string.h"\r
 #include "settings/include/SettingModel.h"\r
 #include "ui_resource_string.h"\r
+#include "AppViewIDs.h"\r
+#include "NativeAbility.h"\r
+#include "main/include/MainModel.h"\r
 namespace OHOS\r
 {\r
     static MusicPlayerSourceView *g_bluetoothView{nullptr};\r
@@ -72,9 +75,11 @@ namespace OHOS
             }\r
             else if (phonebluetoothcon && !a2dp)\r
             {\r
+                playersView->ChangeView(PlayersView::MUSIC_SOURCE_VIEW, PlayersView::MUSIC_BT_CONNECTFAILED_VIEW);\r
             }\r
             else if (phonebluetoothcon && a2dp)\r
             {\r
+                playersView->ChangeView(PlayersView::MUSIC_SOURCE_VIEW, PlayersView::MAIN_MUSICPLAYER_VIEW);\r
             }\r
         }\r
         else if (button == watchLableButton) // 若点击的是手表音乐按钮\r
@@ -88,6 +93,10 @@ namespace OHOS
         else if (button == bluetoothHeadsetLableButton)\r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick bluetoothHeadsetLableButton");\r
+            NativeAbility::GetInstance().EnterSlice(VIEW_BLUETOOTH_EARPHONE);\r
+            // 配置主界面回退界面\r
+            MainModel::GetInstance().SetFromSetCardView(true);\r
+            MainModel::GetInstance().SetFromCardId(MUSIC_PLAYER);\r
         }\r
 \r
         return true;\r
index d857da0..352c669 100644 (file)
@@ -1,5 +1,6 @@
 #include "player/include/PlayerListDelSongView.h"
 #include "player/include/PlayersPresenter.h"
+#include "player/include/PlayersModel.h"
 #include "wearable_log.h"
 #include "ui_resource_string.h"
 #include "UiConfig.h"
@@ -84,18 +85,21 @@ namespace OHOS
 
     /// @brief 设置歌曲名标签样式
     /// @param songName 歌曲名
-    void PlayerListDelSongView::SetTheSongLabelStyle(const char *songName)
+    void PlayerListDelSongView::SetTheDelSongLabelStyle(const char *songName)
     {
         delSongName = songName;
-        songNameLabel->SetText(songName);
-        songNameLabel->Invalidate();
+        if (songNameLabel != nullptr)
+        {
+            songNameLabel->SetText(songName);
+            songNameLabel->Invalidate();
+        }
     }
 
     // 删除歌曲文件
     void PlayerListDelSongView::DeleteSongNameFile(void)
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " whill Deleted file:", delSongName.c_str());
-        std::string path = "/user/music/" + delSongName;
+        std::string path = PlayersModel::GetInstance()->GetMusicPlayPath() + delSongName;
 
         if (uapi_delete_files(path.c_str()))
         {
index bbeb2e5..9d9df4d 100644 (file)
@@ -53,7 +53,11 @@ namespace OHOS
         {\r
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GetViewType = %d", view.GetViewType());\r
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "index = %d ,uri = %s.", view.GetViewIndex(), musicPlayName);\r
-            playersView->ChangeView(PlayersView::MUSIC_LIST_VIEW,PlayersView::MUSIC_DELETE_VIEW);\r
+            playersView->ChangeView(PlayersView::MUSIC_LIST_VIEW, PlayersView::MUSIC_DELETE_VIEW);\r
+            if (playersView->GetPlayerListDelSongView())\r
+            {\r
+                playersView->GetPlayerListDelSongView()->SetTheDelSongLabelStyle(musicPlayName);\r
+            }\r
             return true;\r
         }\r
         /* -------------------------------------------------------------------------- */\r
index 4d7b87b..777d749 100644 (file)
@@ -12,7 +12,8 @@
 #include "bts_avrcp_target.h"
 #include "bts_a2dp_source.h"
 #include "bluetooth/include/BluetoothModel.h"
-
+#include <unistd.h>
+#include <sys/stat.h>
 namespace OHOS {
 
 static constexpr int VOLUME_MAXIMUM = 100;
@@ -745,9 +746,24 @@ void  PlayersModel::GetDuration(int64_t &duration)
     duration = duration_;
 }
 
+/*创建音乐播放路径*/
+bool PlayersModel::CreateMusicPlayDirectory(const char* path)
+{
+    if (access(path, F_OK) == -1) {  // 如果路径不存在
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Directory %s not exist, creating directory\n", path);
+        if (mkdir(path, 0777)!= 0) {  // 尝试创建目录,如果创建失败
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Create directory %s failed\n", path);
+            return false;
+        }
+    } else {  // 如果路径存在
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Directory %s already exists\n", path);
+    }
+    return true;
+}
 /*获取音乐播放路径*/
 std::string PlayersModel::GetMusicPlayPath(void)
 {
+    CreateMusicPlayDirectory();
     return musicPlayPath;
 }
 
index 1aabce4..cd6a2f4 100644 (file)
@@ -424,6 +424,10 @@ void PlayersListGroup::SetUpListCase()
         }\r
     }\r
     playersCaseList_->Clear();\r
+    if(!PlayersModel::GetInstance()->CreateMusicPlayDirectory())\r
+    {\r
+        return;\r
+    }\r
     ret = GetAllFiles(playersCaseList_);\r
     if (ret == OHOS_FAILURE) {\r
         return;\r
@@ -645,14 +649,14 @@ bool ButtonOnClickListener::OnClick(UIView& view, const ClickEvent& event)
     }else if(&view == (UIView *)playersView->GetMusicListButton()) {\r
         MusicListButtonOnClick();\r
     }\r
-    if(playersView->GetPlayerListDelSongView()!=nullptr && playersView->GetPlayerListDelSongView()->GetEnsureDeleteButton()!=nullptr) \r
+    if(playersView->GetPlayerListDelSongView()!=nullptr && &view  == playersView->GetPlayerListDelSongView()->GetEnsureDeleteButton()) \r
     {\r
         //删除音乐回到音乐列表\r
         playersView->GetPlayerListDelSongView()->DeleteSongNameFile();\r
-        PlayersListGroup::GetInstance()->SetUpListCase();\r
+        // PlayersListGroup::GetInstance()->SetUpListCase();\r
         playersView->ChangeView(PlayersView::MUSIC_DELETE_VIEW,PlayersView::MUSIC_LIST_VIEW);\r
     }\r
-    else if(playersView->GetPlayerListDelSongView()!=nullptr && playersView->GetPlayerListDelSongView()->GetCancelDeleteButton()!=nullptr) \r
+    else if(playersView->GetPlayerListDelSongView()!=nullptr && &view  == playersView->GetPlayerListDelSongView()->GetCancelDeleteButton()) \r
     {\r
         //不删除音乐回到音乐列表\r
         playersView->ChangeView(PlayersView::MUSIC_DELETE_VIEW,PlayersView::MUSIC_LIST_VIEW);\r
@@ -982,6 +986,34 @@ void PlayerOnDragListener::OnDragChangMusicPlayerDeleteView(const DragEvent& eve
         X_DRAG_FLAG = true;\r
     }\r
 }\r
+/*从蓝牙未连接视图回到音乐主视图*/\r
+void PlayerOnDragListener::OnDragChangMusicPlayerBTDisConnectView(const DragEvent& event)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnDragChangMusicPlayerBTDisConnectView");\r
+    if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && X_DRAG_FLAG) {\r
+        PlayersView *playersView = PlayersView::GetInstance();\r
+        if (playersView == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersView GetInstance fail");\r
+            return;\r
+        }\r
+        playersView->ChangeView(PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW,PlayersView::MAIN_MUSICPLAYER_VIEW);\r
+        X_DRAG_FLAG = true;\r
+    }\r
+}\r
+/*从蓝牙连接失败视图回到音乐主视图*/\r
+void PlayerOnDragListener::OnDragChangMusicPlayerBTConnectFailedView(const DragEvent& event)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnDragChangMusicPlayerBTConnectFailedView");\r
+    if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && X_DRAG_FLAG) {\r
+        PlayersView *playersView = PlayersView::GetInstance();\r
+        if (playersView == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersView GetInstance fail");\r
+            return;\r
+        }\r
+        playersView->ChangeView(PlayersView::MUSIC_BT_CONNECTFAILED_VIEW,PlayersView::MAIN_MUSICPLAYER_VIEW);\r
+        X_DRAG_FLAG = true;\r
+    }\r
+}\r
 void PlayerOnDragListener::DropEarPhoneView(const DragEvent& event)\r
 {\r
     bool ret = BluetoothModel::GetInstance()->IsTagReturnToDeviceListView();\r
@@ -1071,6 +1103,14 @@ bool PlayerOnDragListener::OnDragEnd(UIView& view, const DragEvent& event)
         OnDragChangMusicPlayerDeleteView(event);\r
         return false;\r
     }\r
+    else if (strcmp(view.GetViewId(), MUISC_PLAYER_BLUETOOTH_DISCONN_VIEW) == 0) {\r
+        OnDragChangMusicPlayerBTDisConnectView(event);\r
+        return false;\r
+    }\r
+    else if (strcmp(view.GetViewId(), MUISC_PLAYER_BLUETOOTH_CONNECTFAILED_VIEW) == 0) {\r
+        OnDragChangMusicPlayerBTConnectFailedView(event);\r
+        return false;\r
+    }\r
     return true;\r
 }\r
 \r
index d701a67..500767d 100644 (file)
@@ -429,6 +429,11 @@ namespace OHOS
             delete musicPlayerBluetoothDisConView;\r
             musicPlayerBluetoothDisConView = nullptr;\r
         }\r
+        if (musicPlayerBTConnectFailedView != nullptr)\r
+        {\r
+            delete musicPlayerBTConnectFailedView;\r
+            musicPlayerBTConnectFailedView = nullptr;\r
+        }\r
 \r
         for (int i = MAIN_MUSICPLAYER_VIEW; i < MUSICPLAYERJUMPVIEWID_MAX; i++)\r
         {\r
@@ -753,18 +758,24 @@ namespace OHOS
     /// @brief 设置音乐播放按钮是否可点击\r
     /// @param musicSourceType 音乐来源类型 false:手表音乐 true 手机音乐\r
     /// @param phoneMusicConnectStatus 手机音乐连接状态\r
-    void PlayersView::SetMusicPlayerButtonIsTouchable(bool musicSourceType, bool phoneMusicConnectStatus)\r
+    void PlayersView::SetMusicPlayerButtonIsTouchable(bool musicSourceType)\r
     {\r
         // 1.如果为手机音乐且手机音乐已连接那么上一首,下一首,播放或暂停,声音等按钮设置为可点击.\r
         // 2.如果不为手机音乐按钮就可点击\r
         /* -------------------------------------------------------------------------- */\r
-        bool touchableState = (musicSourceType && phoneMusicConnectStatus) || !musicSourceType;\r
+        bool touchableState = !musicSourceType;\r
         play_or_pause_Button->SetTouchable(touchableState);\r
         preMusicButton->SetTouchable(touchableState);\r
         nextMusicButton->SetTouchable(touchableState);\r
-        soundButton->SetTouchable(touchableState);\r
-        /* ------------------------- 如果音乐来源为手机音乐,播放顺序按钮就不可用 ------------------------- */\r
-        playerModelButton->SetTouchable(!musicSourceType);\r
+        playerModelButton->SetTouchable(touchableState); // 如果音乐来源为手机音乐,播放顺序按钮就不可用\r
+        /* -------------------------------------------------------------------------- */\r
+        /*暂停音乐*/\r
+        uint8_t state = GetPlayerButtonState();\r
+        int32_t playerState; /*获取Player的状态*/\r
+        if (state == UICheckBox::UICheckBoxState::SELECTED)\r
+        {\r
+            PlayersModel::GetInstance()->PlayerStop();\r
+        }\r
         /* -------------------------------------------------------------------------- */\r
         PreLoadPlayerModeImageRes();\r
     }\r
@@ -801,7 +812,7 @@ namespace OHOS
                 MusicSourceLabelSetText(STR_MOBILE_MUSIC);             // 手机音乐\r
                 PhoneMusicConnectStatusLabelColor(false);\r
             }\r
-            SetMusicPlayerButtonIsTouchable(musicSourceType, phoneMusicConnectStatus);\r
+            SetMusicPlayerButtonIsTouchable(musicSourceType);\r
         }\r
         else\r
         {\r
@@ -815,7 +826,7 @@ namespace OHOS
             PhoneMusicConnectStatusLabelIsSetVisible(false);\r
             MusicListButtonIsSetVisible(true);\r
             MusicSourceLabelSetText(STR_WATCH_MUSIC); /*手表音乐*/\r
-            SetMusicPlayerButtonIsTouchable(musicSourceType, phoneMusicConnectStatus);\r
+            SetMusicPlayerButtonIsTouchable(musicSourceType);\r
         }\r
     }\r
 \r
@@ -1083,6 +1094,7 @@ namespace OHOS
         {PlayersView::MUSIC_LIST_VIEW, &PlayersView::ChangeToMusicListView},\r
         {PlayersView::MUSIC_DELETE_VIEW, &PlayersView::ChangeToMusicDeleteView},\r
         {PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW, &PlayersView::ChangeToMusicBluetoothDisConnectView},\r
+        {PlayersView::MUSIC_BT_CONNECTFAILED_VIEW, &PlayersView::ChangeToMusicBluetoothConnectFailedView},\r
     };\r
 \r
     /*根据传入的 interface 值,在 ViewMapper 数组中查找匹配的 viewId*/\r
@@ -1267,4 +1279,28 @@ namespace OHOS
         }\r
         return true;\r
     }\r
+\r
+    /*切换到蓝牙未连接视图*/\r
+    bool PlayersView::ChangeToMusicBluetoothConnectFailedView(int16_t thisView)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::ChangeToMusicBluetoothConnectFailedView");\r
+        if (group[thisView] == nullptr)\r
+        {\r
+            musicPlayerBTConnectFailedView = new MusicPlayerBTConnectFailedView();\r
+            if (musicPlayerBTConnectFailedView == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new playerListDelSongView fail");\r
+                return false;\r
+            }\r
+            UIViewGroup *groupview = musicPlayerBTConnectFailedView->CreateMusicPlayerBTConnectFailedView();\r
+            if (groupview == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new group[%d] fail", thisView);\r
+                return false;\r
+            }\r
+            group[thisView] = groupview;\r
+            Add(group[thisView]);\r
+        }\r
+        return true;\r
+    }\r
 }\r
index f2c9f8a..cfcbd09 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 dc7dd21..c2a32b0 100644 (file)
@@ -441,80 +441,82 @@ enum UIResourceTextId : uint16_t {
     STR_CONNECTION_ERROR = 428,\r
     STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE = 429,\r
     STR_ENABLE_BLUETOOTH_CALL = 430,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 431,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR = 432,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE = 433,\r
-    STR_SIM_CARD_ERROR = 434,\r
-    STR_CHECK_SIM_CARD_INSERTION = 435,\r
-    STR_WEATHER_REPORT = 436,\r
-    STR_ULTRAVIOLET = 437,\r
-    STR_WIND_SPEED = 438,\r
-    STR_HUMIDITY = 439,\r
-    STR_NEXT_7_DAYS = 440,\r
-    STR_GET_WEATHER_ERROR = 441,\r
-    STR_MUSIC_SOURCE = 442,\r
-    STR_MOBILE_MUSIC = 443,\r
-    STR_WATCH_MUSIC = 444,\r
-    STR_MUSIC_LIST = 445,\r
-    STR_BLUETOOTH_CONNECTION_FAILED = 446,\r
-    STR_SCANNING_BINDING = 447,\r
-    STR_DEVICE_BINDING = 448,\r
-    STR_DEVICE_BINDING_NOTE = 449,\r
-    STR_EQUIPMENT_UNTYING = 450,\r
-    STR_EQUIPMENT_UNTYING_NOTE = 451,\r
-    STR_DRINK_WATER_REMINDER = 452,\r
-    STR_DRINK_WATER_REMINDER_NOTE = 453,\r
-    STR_SEDENTARY_REMINDER = 454,\r
-    STR_SEDENTARY_REMINDER_NOTE = 455,\r
-    STR_SYSTEM_UPGRADING = 456,\r
-    STR_NEWDEVICE_BIND_REMIND_NOTE = 457,\r
-    STR_AI_VOICE = 458,\r
-    STR_AI_INTELLIGENT_ASSISTANT = 459,\r
-    STR_START_CHAT = 460,\r
-    STR_BOOT_FAILED = 461,\r
-    STR_ENABLE_MOBILE_DATA_FIRST = 462,\r
-    STR_ENABLE_BLUETOOTH_FIRST = 463,\r
-    STR_LISTENING = 464,\r
-    STR_FINISH_SPEAKING = 465,\r
-    STR_THINKING = 466,\r
-    STR_CANCEL = 467,\r
-    STR_CONNECT_TIMEOUT = 468,\r
-    STR_PLEASE_RESTART_CHAT = 469,\r
-    STR_CONTINUE_CHAT = 470,\r
-    STR_AIMODELS_DOUBAO = 471,\r
-    STR_AIMODES_WENXINYIYAN = 472,\r
-    STR_AIMODES_KIMI = 473,\r
-    STR_AIMODES_CHATGPT = 474,\r
-    STR_SLIDE_TO_SHUTDOWN = 475,\r
-    STR_SLIDE_TO_REBOOT = 476,\r
-    STR_AI_FAMILY_MEALS = 477,\r
-    STR_CHAT = 478,\r
-    STR_PCY4GC_OR_AS = 479,\r
-    STR_API_KEYS = 480,\r
-    STR_PGTTAF = 481,\r
-    STR_DAFBS = 482,\r
-    STR_OPENAI_API_KEYS = 483,\r
-    STR_KHBB = 484,\r
-    STR_GTAS = 485,\r
-    STR_DYWTDAK = 486,\r
-    STR_CONNECTING = 487,\r
-    STR_CONNECTION_FAIL = 488,\r
-    STR_PTALORTM = 489,\r
-    STR_MOTION_DETECTION_NOTE = 490,\r
-    STR_PE4GC = 491,\r
-    STR_OBU_MESSAGE = 492,\r
-    STR_DELETE = 493,\r
-    STR_CHARGE = 494,\r
-    STR_CHARGE_NOTE = 495,\r
-    STR_STEP_FREQUENCY = 496,\r
-    STR_STEP_LENGTH = 497,\r
-    STR_AVG_PACE = 498,\r
-    STR_TONGYI_QIANWEN = 499,\r
-    STR_IFLYTEK_SPARK = 500,\r
-    STR_DISTURBNOTE_OFF = 501,\r
-    STR_4G_NOTE = 502,\r
-    STR_MUSIC_PLAYER_SOURCE_NOTE = 503,\r
-    STR_MAX_ID = 504,\r
+    STR_SOLUTION = 431,\r
+    STR_IPHONE = 432,\r
+    STR_ANDROID = 433,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 434,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID = 435,\r
+    STR_SIM_CARD_ERROR = 436,\r
+    STR_CHECK_SIM_CARD_INSERTION = 437,\r
+    STR_WEATHER_REPORT = 438,\r
+    STR_ULTRAVIOLET = 439,\r
+    STR_WIND_SPEED = 440,\r
+    STR_HUMIDITY = 441,\r
+    STR_NEXT_7_DAYS = 442,\r
+    STR_GET_WEATHER_ERROR = 443,\r
+    STR_MUSIC_SOURCE = 444,\r
+    STR_MOBILE_MUSIC = 445,\r
+    STR_WATCH_MUSIC = 446,\r
+    STR_MUSIC_LIST = 447,\r
+    STR_BLUETOOTH_CONNECTION_FAILED = 448,\r
+    STR_SCANNING_BINDING = 449,\r
+    STR_DEVICE_BINDING = 450,\r
+    STR_DEVICE_BINDING_NOTE = 451,\r
+    STR_EQUIPMENT_UNTYING = 452,\r
+    STR_EQUIPMENT_UNTYING_NOTE = 453,\r
+    STR_DRINK_WATER_REMINDER = 454,\r
+    STR_DRINK_WATER_REMINDER_NOTE = 455,\r
+    STR_SEDENTARY_REMINDER = 456,\r
+    STR_SEDENTARY_REMINDER_NOTE = 457,\r
+    STR_SYSTEM_UPGRADING = 458,\r
+    STR_NEWDEVICE_BIND_REMIND_NOTE = 459,\r
+    STR_AI_VOICE = 460,\r
+    STR_AI_INTELLIGENT_ASSISTANT = 461,\r
+    STR_START_CHAT = 462,\r
+    STR_BOOT_FAILED = 463,\r
+    STR_ENABLE_MOBILE_DATA_FIRST = 464,\r
+    STR_ENABLE_BLUETOOTH_FIRST = 465,\r
+    STR_LISTENING = 466,\r
+    STR_FINISH_SPEAKING = 467,\r
+    STR_THINKING = 468,\r
+    STR_CANCEL = 469,\r
+    STR_CONNECT_TIMEOUT = 470,\r
+    STR_PLEASE_RESTART_CHAT = 471,\r
+    STR_CONTINUE_CHAT = 472,\r
+    STR_AIMODELS_DOUBAO = 473,\r
+    STR_AIMODES_WENXINYIYAN = 474,\r
+    STR_AIMODES_KIMI = 475,\r
+    STR_AIMODES_CHATGPT = 476,\r
+    STR_SLIDE_TO_SHUTDOWN = 477,\r
+    STR_SLIDE_TO_REBOOT = 478,\r
+    STR_AI_FAMILY_MEALS = 479,\r
+    STR_CHAT = 480,\r
+    STR_PCY4GC_OR_AS = 481,\r
+    STR_API_KEYS = 482,\r
+    STR_PGTTAF = 483,\r
+    STR_DAFBS = 484,\r
+    STR_OPENAI_API_KEYS = 485,\r
+    STR_KHBB = 486,\r
+    STR_GTAS = 487,\r
+    STR_DYWTDAK = 488,\r
+    STR_CONNECTING = 489,\r
+    STR_CONNECTION_FAIL = 490,\r
+    STR_PTALORTM = 491,\r
+    STR_MOTION_DETECTION_NOTE = 492,\r
+    STR_PE4GC = 493,\r
+    STR_OBU_MESSAGE = 494,\r
+    STR_DELETE = 495,\r
+    STR_CHARGE = 496,\r
+    STR_CHARGE_NOTE = 497,\r
+    STR_STEP_FREQUENCY = 498,\r
+    STR_STEP_LENGTH = 499,\r
+    STR_AVG_PACE = 500,\r
+    STR_TONGYI_QIANWEN = 501,\r
+    STR_IFLYTEK_SPARK = 502,\r
+    STR_DISTURBNOTE_OFF = 503,\r
+    STR_4G_NOTE = 504,\r
+    STR_MUSIC_PLAYER_SOURCE_NOTE = 505,\r
+    STR_MAX_ID = 506,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
index 558c19b..a5c590b 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
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/music.txt b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/music/music.txt
deleted file mode 100644 (file)
index e69de29..0000000
index 9dd2f47..fddc569 100644 (file)
@@ -1920,7 +1920,6 @@ void uapi_restore_factory_setting(void)
     char *filebuf[] = {"/system/ConfigModel.json",
                     "/user/userdata",
                     "/system/kvstore",
-                    "/user/music"
                     };
     for(int i = 0; i < (sizeof(filebuf)/sizeof(filebuf[0])); i++)
         uapi_delete_files(filebuf[i]);
index b5f0d6e..cae2583 100644 (file)
@@ -429,9 +429,11 @@ STR_UNPAIR$Unpair
 STR_CONNECTION_ERROR$Connection Error\r
 STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE$Insert watch SIM or connect phone to make calls\r
 STR_ENABLE_BLUETOOTH_CALL$Enable Bluetooth Call\r
-STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE$The solution:1. IPhone Please go to the phone "Settings" → "Bluetooth" list to find “KUMI_XX” Click and try again \r
-STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR$2. Android phones Please go to the phone "Settings" → "Bluetooth" list to find “KUMI_XX” \r
-STR_ENABLE_BLUETOOTH_CALL_NOTE$Click the icon on the right to enter Bluetooth Settings Enable the call and media functions and try again\r
+STR_SOLUTION$The solution:\r
+STR_IPHONE$1.IPhone\r
+STR_ANDROID$2.Android phone\r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE$Please go to the phone "Settings" → "Bluetooth" list to find XX Click and try again \r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID$Please go to the phone "Settings" → "Bluetooth" list to find XX Click the icon on the right to enter Bluetooth Settings Enable the call and media functions and try again\r
 STR_SIM_CARD_ERROR$SIM Card Error\r
 STR_CHECK_SIM_CARD_INSERTION$Check if the watch’s SIM card is properly inserted\r
 STR_WEATHER_REPORT$Weather report\r
index 00f2f78..dec6098 100644 (file)
@@ -429,9 +429,11 @@ STR_UNPAIR$取消配对
 STR_CONNECTION_ERROR$连接异常\r
 STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE$请插入手表SIM卡或连接手机并确认开启蓝牙通话后再进行拨号\r
 STR_ENABLE_BLUETOOTH_CALL$开启蓝牙通话\r
-STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE$解决方法:1.苹果手机 请前往手机“设置”→“蓝牙”列表找到“KUMI_XX”并点击后重试\r
-STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR$2.安卓手机 请前往手机“设置”→“蓝牙”列表找到 “KUMI_XX”\r
-STR_ENABLE_BLUETOOTH_CALL_NOTE$点击右侧图标进入蓝牙设置\r
+STR_SOLUTION$解决方法:\r
+STR_IPHONE$1.苹果手机\r
+STR_ANDROID$2.安卓手机 \r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE$请前往手机“设置”→“蓝牙”列表找到“XX”并点击后重试\r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID$请前往手机“设置”→“蓝牙”列表找到 “XX”点击右侧图标进入蓝牙设置\r
 STR_SIM_CARD_ERROR$Sim卡异常\r
 STR_CHECK_SIM_CARD_INSERTION$SIM卡拨号异常,请检查手表SIM卡是否正确插入\r
 STR_WEATHER_REPORT$气象报告\r
index 8011621..99d5eb6 100644 (file)
        <lanstr id="STR_CONNECTION_ERROR" value="Connection Error"/>
        <lanstr id="STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE" value="Insert watch SIM or connect phone to make calls"/>
        <lanstr id="STR_ENABLE_BLUETOOTH_CALL" value="Enable Bluetooth Call"/>
-       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE" value="The solution:1. IPhone Please go to the phone &quot;Settings&quot; → &quot;Bluetooth&quot; list to find “KUMI_XX” Click and try again"/>
-       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR" value="2. Android phones Please go to the phone &quot;Settings&quot; → &quot;Bluetooth&quot; list to find “KUMI_XX”"/>
-       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE" value="Click the icon on the right to enter Bluetooth Settings Enable the call and media functions and try again"/>
+       <lanstr id="STR_SOLUTION" value="The solution:"/>
+       <lanstr id="STR_IPHONE" value="1.IPhone"/>
+       <lanstr id="STR_ANDROID" value="2.Android phone"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE" value="Please go to the phone &quot;Settings&quot; → &quot;Bluetooth&quot; list to find XX Click and try again"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID" value="Please go to the phone &quot;Settings&quot; → &quot;Bluetooth&quot; list to find XX Click the icon on the right to enter Bluetooth Settings Enable the call and media functions and try again"/>
        <lanstr id="STR_SIM_CARD_ERROR" value="SIM Card Error"/>
        <lanstr id="STR_CHECK_SIM_CARD_INSERTION" value="Check if the watch’s SIM card is properly inserted"/>
        <lanstr id="STR_WEATHER_REPORT" value="Weather report"/>
index 8171c7a..70a0eba 100644 (file)
        <lanstr id="STR_CONNECTION_ERROR" value="连接异常"/>
        <lanstr id="STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE" value="请插入手表SIM卡或连接手机并确认开启蓝牙通话后再进行拨号"/>
        <lanstr id="STR_ENABLE_BLUETOOTH_CALL" value="开启蓝牙通话"/>
-       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE" value="解决方法:1.苹果手机 请前往手机“设置”→“蓝牙”列表找到“KUMI_XX”并点击后重试"/>
-       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR" value="2.安卓手机 请前往手机“设置”→“蓝牙”列表找到 “KUMI_XX”"/>
-       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE" value="点击右侧图标进入蓝牙设置"/>
+       <lanstr id="STR_SOLUTION" value="解决方法:"/>
+       <lanstr id="STR_IPHONE" value="1.苹果手机"/>
+       <lanstr id="STR_ANDROID" value="2.安卓手机"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE" value="请前往手机“设置”→“蓝牙”列表找到“XX”并点击后重试"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID" value="请前往手机“设置”→“蓝牙”列表找到 “XX”点击右侧图标进入蓝牙设置"/>
        <lanstr id="STR_SIM_CARD_ERROR" value="Sim卡异常"/>
        <lanstr id="STR_CHECK_SIM_CARD_INSERTION" value="SIM卡拨号异常,请检查手表SIM卡是否正确插入"/>
        <lanstr id="STR_WEATHER_REPORT" value="气象报告"/>
index f2c9f8a..cfcbd09 100644 (file)
Binary files a/tools/language_tool/font/en.lang and b/tools/language_tool/font/en.lang differ
index dc7dd21..c2a32b0 100644 (file)
@@ -441,80 +441,82 @@ enum UIResourceTextId : uint16_t {
     STR_CONNECTION_ERROR = 428,\r
     STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE = 429,\r
     STR_ENABLE_BLUETOOTH_CALL = 430,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 431,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR = 432,\r
-    STR_ENABLE_BLUETOOTH_CALL_NOTE = 433,\r
-    STR_SIM_CARD_ERROR = 434,\r
-    STR_CHECK_SIM_CARD_INSERTION = 435,\r
-    STR_WEATHER_REPORT = 436,\r
-    STR_ULTRAVIOLET = 437,\r
-    STR_WIND_SPEED = 438,\r
-    STR_HUMIDITY = 439,\r
-    STR_NEXT_7_DAYS = 440,\r
-    STR_GET_WEATHER_ERROR = 441,\r
-    STR_MUSIC_SOURCE = 442,\r
-    STR_MOBILE_MUSIC = 443,\r
-    STR_WATCH_MUSIC = 444,\r
-    STR_MUSIC_LIST = 445,\r
-    STR_BLUETOOTH_CONNECTION_FAILED = 446,\r
-    STR_SCANNING_BINDING = 447,\r
-    STR_DEVICE_BINDING = 448,\r
-    STR_DEVICE_BINDING_NOTE = 449,\r
-    STR_EQUIPMENT_UNTYING = 450,\r
-    STR_EQUIPMENT_UNTYING_NOTE = 451,\r
-    STR_DRINK_WATER_REMINDER = 452,\r
-    STR_DRINK_WATER_REMINDER_NOTE = 453,\r
-    STR_SEDENTARY_REMINDER = 454,\r
-    STR_SEDENTARY_REMINDER_NOTE = 455,\r
-    STR_SYSTEM_UPGRADING = 456,\r
-    STR_NEWDEVICE_BIND_REMIND_NOTE = 457,\r
-    STR_AI_VOICE = 458,\r
-    STR_AI_INTELLIGENT_ASSISTANT = 459,\r
-    STR_START_CHAT = 460,\r
-    STR_BOOT_FAILED = 461,\r
-    STR_ENABLE_MOBILE_DATA_FIRST = 462,\r
-    STR_ENABLE_BLUETOOTH_FIRST = 463,\r
-    STR_LISTENING = 464,\r
-    STR_FINISH_SPEAKING = 465,\r
-    STR_THINKING = 466,\r
-    STR_CANCEL = 467,\r
-    STR_CONNECT_TIMEOUT = 468,\r
-    STR_PLEASE_RESTART_CHAT = 469,\r
-    STR_CONTINUE_CHAT = 470,\r
-    STR_AIMODELS_DOUBAO = 471,\r
-    STR_AIMODES_WENXINYIYAN = 472,\r
-    STR_AIMODES_KIMI = 473,\r
-    STR_AIMODES_CHATGPT = 474,\r
-    STR_SLIDE_TO_SHUTDOWN = 475,\r
-    STR_SLIDE_TO_REBOOT = 476,\r
-    STR_AI_FAMILY_MEALS = 477,\r
-    STR_CHAT = 478,\r
-    STR_PCY4GC_OR_AS = 479,\r
-    STR_API_KEYS = 480,\r
-    STR_PGTTAF = 481,\r
-    STR_DAFBS = 482,\r
-    STR_OPENAI_API_KEYS = 483,\r
-    STR_KHBB = 484,\r
-    STR_GTAS = 485,\r
-    STR_DYWTDAK = 486,\r
-    STR_CONNECTING = 487,\r
-    STR_CONNECTION_FAIL = 488,\r
-    STR_PTALORTM = 489,\r
-    STR_MOTION_DETECTION_NOTE = 490,\r
-    STR_PE4GC = 491,\r
-    STR_OBU_MESSAGE = 492,\r
-    STR_DELETE = 493,\r
-    STR_CHARGE = 494,\r
-    STR_CHARGE_NOTE = 495,\r
-    STR_STEP_FREQUENCY = 496,\r
-    STR_STEP_LENGTH = 497,\r
-    STR_AVG_PACE = 498,\r
-    STR_TONGYI_QIANWEN = 499,\r
-    STR_IFLYTEK_SPARK = 500,\r
-    STR_DISTURBNOTE_OFF = 501,\r
-    STR_4G_NOTE = 502,\r
-    STR_MUSIC_PLAYER_SOURCE_NOTE = 503,\r
-    STR_MAX_ID = 504,\r
+    STR_SOLUTION = 431,\r
+    STR_IPHONE = 432,\r
+    STR_ANDROID = 433,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 434,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID = 435,\r
+    STR_SIM_CARD_ERROR = 436,\r
+    STR_CHECK_SIM_CARD_INSERTION = 437,\r
+    STR_WEATHER_REPORT = 438,\r
+    STR_ULTRAVIOLET = 439,\r
+    STR_WIND_SPEED = 440,\r
+    STR_HUMIDITY = 441,\r
+    STR_NEXT_7_DAYS = 442,\r
+    STR_GET_WEATHER_ERROR = 443,\r
+    STR_MUSIC_SOURCE = 444,\r
+    STR_MOBILE_MUSIC = 445,\r
+    STR_WATCH_MUSIC = 446,\r
+    STR_MUSIC_LIST = 447,\r
+    STR_BLUETOOTH_CONNECTION_FAILED = 448,\r
+    STR_SCANNING_BINDING = 449,\r
+    STR_DEVICE_BINDING = 450,\r
+    STR_DEVICE_BINDING_NOTE = 451,\r
+    STR_EQUIPMENT_UNTYING = 452,\r
+    STR_EQUIPMENT_UNTYING_NOTE = 453,\r
+    STR_DRINK_WATER_REMINDER = 454,\r
+    STR_DRINK_WATER_REMINDER_NOTE = 455,\r
+    STR_SEDENTARY_REMINDER = 456,\r
+    STR_SEDENTARY_REMINDER_NOTE = 457,\r
+    STR_SYSTEM_UPGRADING = 458,\r
+    STR_NEWDEVICE_BIND_REMIND_NOTE = 459,\r
+    STR_AI_VOICE = 460,\r
+    STR_AI_INTELLIGENT_ASSISTANT = 461,\r
+    STR_START_CHAT = 462,\r
+    STR_BOOT_FAILED = 463,\r
+    STR_ENABLE_MOBILE_DATA_FIRST = 464,\r
+    STR_ENABLE_BLUETOOTH_FIRST = 465,\r
+    STR_LISTENING = 466,\r
+    STR_FINISH_SPEAKING = 467,\r
+    STR_THINKING = 468,\r
+    STR_CANCEL = 469,\r
+    STR_CONNECT_TIMEOUT = 470,\r
+    STR_PLEASE_RESTART_CHAT = 471,\r
+    STR_CONTINUE_CHAT = 472,\r
+    STR_AIMODELS_DOUBAO = 473,\r
+    STR_AIMODES_WENXINYIYAN = 474,\r
+    STR_AIMODES_KIMI = 475,\r
+    STR_AIMODES_CHATGPT = 476,\r
+    STR_SLIDE_TO_SHUTDOWN = 477,\r
+    STR_SLIDE_TO_REBOOT = 478,\r
+    STR_AI_FAMILY_MEALS = 479,\r
+    STR_CHAT = 480,\r
+    STR_PCY4GC_OR_AS = 481,\r
+    STR_API_KEYS = 482,\r
+    STR_PGTTAF = 483,\r
+    STR_DAFBS = 484,\r
+    STR_OPENAI_API_KEYS = 485,\r
+    STR_KHBB = 486,\r
+    STR_GTAS = 487,\r
+    STR_DYWTDAK = 488,\r
+    STR_CONNECTING = 489,\r
+    STR_CONNECTION_FAIL = 490,\r
+    STR_PTALORTM = 491,\r
+    STR_MOTION_DETECTION_NOTE = 492,\r
+    STR_PE4GC = 493,\r
+    STR_OBU_MESSAGE = 494,\r
+    STR_DELETE = 495,\r
+    STR_CHARGE = 496,\r
+    STR_CHARGE_NOTE = 497,\r
+    STR_STEP_FREQUENCY = 498,\r
+    STR_STEP_LENGTH = 499,\r
+    STR_AVG_PACE = 500,\r
+    STR_TONGYI_QIANWEN = 501,\r
+    STR_IFLYTEK_SPARK = 502,\r
+    STR_DISTURBNOTE_OFF = 503,\r
+    STR_4G_NOTE = 504,\r
+    STR_MUSIC_PLAYER_SOURCE_NOTE = 505,\r
+    STR_MAX_ID = 506,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
index 558c19b..a5c590b 100644 (file)
Binary files a/tools/language_tool/font/zh.lang and b/tools/language_tool/font/zh.lang differ