${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
#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" /*表盘市场安装路径*/
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
--- /dev/null
+/*
+ * @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
* @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
*/
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);
* @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
*/
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);
* @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
#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
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
* @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
#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
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
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
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
PlayerListDelSongView *playerListDelSongView{nullptr}; // 音乐删除视图\r
UIViewGroup *musicListGroupView{nullptr}; // 音乐列表视图\r
MusicPlayerBluetoothDisConView *musicPlayerBluetoothDisConView{nullptr}; // 蓝牙未连接视图\r
+ MusicPlayerBTConnectFailedView *musicPlayerBTConnectFailedView{nullptr}; // 蓝牙连接失败视图\r
\r
private:\r
UIView::OnClickListener *clickListener{nullptr};\r
--- /dev/null
+/*
+ * @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
* @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");
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);
}
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;
}
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,
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail!!");
return false;
}
- scrollView->Add(titleLabel);
/* -------------------------------------------------------------------------- */
labelConfig = {
.left = 53,
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "noteLabel new fail!!");
return false;
}
- scrollView->Add(noteLabel);
+
/* -------------------------------------------------------------------------- */
int16_t y = noteLabel->GetY() + noteLabel->GetTextHeight() + 30 + 33;
labelConfig = {
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();
return false;
}
}
- scrollView->Add(bluetoothImage);
+
/* -------------------------------------------------------------------------- */
if (image66 == nullptr)
{
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();
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();
}
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();
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);
}
}
scrollView->SetPosition(0, 0, 466, 466);
- scrollView->SetScrollBlankSize(35);
+ scrollView->SetScrollBlankSize(50);
scrollView->SetReboundSize(35);
scrollView->SetDirection(UIScrollView::VERTICAL);
{
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;
}
#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
}\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
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
#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"
/// @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()))
{
{\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
#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;
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;
}
}\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
}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
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
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
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
/// @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
MusicSourceLabelSetText(STR_MOBILE_MUSIC); // 手机音乐\r
PhoneMusicConnectStatusLabelColor(false);\r
}\r
- SetMusicPlayerButtonIsTouchable(musicSourceType, phoneMusicConnectStatus);\r
+ SetMusicPlayerButtonIsTouchable(musicSourceType);\r
}\r
else\r
{\r
PhoneMusicConnectStatusLabelIsSetVisible(false);\r
MusicListButtonIsSetVisible(true);\r
MusicSourceLabelSetText(STR_WATCH_MUSIC); /*手表音乐*/\r
- SetMusicPlayerButtonIsTouchable(musicSourceType, phoneMusicConnectStatus);\r
+ SetMusicPlayerButtonIsTouchable(musicSourceType);\r
}\r
}\r
\r
{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
}\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
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 {
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]);
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
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
<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 "Settings" → "Bluetooth" 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 "Settings" → "Bluetooth" 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 "Settings" → "Bluetooth" list to find XX Click and try again"/>
+ <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID" value="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"/>
<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"/>
<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="气象报告"/>
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 {