STR_IGNORE = 518,\r
STR_START = 519,\r
STR_ARC_SCALE_LIST_DISPLAY = 520,\r
- STR_MAX_ID = 521,\r
+ STR_COUNT_DOWN = 521,\r
+ STR_CUSTOM_TIME = 522,\r
+ STR_QUICK_START = 523,\r
+ STR_1_MIN = 524,\r
+ STR_5_MIN = 525,\r
+ STR_10_MIN = 526,\r
+ STR_30_MIN = 527,\r
+ STR_SET_COUNT_DOWN_NOTE = 528,\r
+ STR_COUNTDOWN_ENDS = 529,\r
+ STR_MAXIMUM_TIME_REACH = 530,\r
+ STR_STOPWATCH_STOP_NOTE = 531,\r
+ STR_TMCHBR = 532,\r
+ STR_MAXIMUM_TIME_REACH_NOTE = 533,\r
+ STR_MAX_ID = 534,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
#ifdef A5133_DEMO_CLIENT
{VIEW_OBU_MESSAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "OBU", STR_OBU_MESSAGE, nullptr},
#endif
- {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手机", STR_PHONE, nullptr},
+ {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "电话", STR_PHONE, nullptr},
#if HEART_APPLIST
{VIEW_HEART_CHART, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "心率", STR_HEART_RATE, nullptr},
#endif
{VIEW_BLOOD_RESULT, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr},
+ {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr},
{VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练", STR_TRAINING, nullptr},
{VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练记录", STR_TRAINING_RECORD, nullptr},
{VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "活动", STR_ACTIVITY, nullptr},
#ifdef SUPPORT_ALIPAY_SEC
{VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG, "支付宝", STR_ALIPAY, nullptr},
#endif
- {VIEW_CALCULATOR, PNG_APPLIST_INFORMATION_IMAGE, PNG_APPLIST_INFORMATION_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计算器", STR_CALCULATOR, nullptr},
{VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
{VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr},
+ {VIEW_CALCULATOR, PNG_APPLIST_INFORMATION_IMAGE, PNG_APPLIST_INFORMATION_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计算器", STR_CALCULATOR, nullptr},
{VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr},
{VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手电筒", STR_FLASHLIGHT, nullptr},
{VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr},
{VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr},
{VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
{VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_DEFAULT_IMG, "闹钟", STR_ALARM, nullptr},
- {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "声音", STR_SOUND, nullptr},
{VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "查找手机", STR_FIND_PHONE, nullptr},
+ /* ------------------------------- 放入设置中后将会屏蔽 ------------------------------- */
{VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG, "勿扰模式", STR_DO_NOT_DISTURB, nullptr},
{VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG, "卡片管理", STR_CARD_MANAGEMENT, nullptr},
{VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr},
{VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "省电模式", STR_POWER_SAVE_MODE, nullptr},
- {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr},
+ /* -------------------------------------------------------------------------- */
// {VIEW_MUSIC_PLAYER, PNG_APPLIST_MUSIC_IMAGE, PNG_APPLIST_MUSIC_IMAGE, PNG_APPLIST_DEFAULT_IMG, "音乐播放器", STR_MUSIC, nullptr},
{VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_DEFAULT_IMG, "语音助手", STR_VOICE_ASSISTANT, nullptr},
// {VIEW_SCHEDULE, PNG_APPLIST_SCHEDULE_IMAGE, PNG_APPLIST_SCHEDULE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "schedule", STR_SCHEDULE, nullptr},
{VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, nullptr},
#if 0
/*屏蔽Slice*/
+ {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "声音", STR_SOUND, nullptr},
{VIEW_PHONEDIR, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "常用联系人", STR_FAVORITE_CONTACTS, nullptr},
{VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "显示方式", STR_DISPLAY_MODE, nullptr},
{VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-04-07 18:15:53\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-07 19:57:56\r
+ * @LastEditTime: 2024-08-20 10:17:35\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/countdown/include/MainCountDownPresenter.h\r
*/\r
#ifndef MAIN_COUNTDOWN_PRESENTER_H\r
#include "View.h"\r
#include "Presenter.h"\r
#include "MainCountDownView.h"\r
-\r
+#include "ui_resource_string.h"\r
/*倒计时的主界面*/\r
namespace OHOS\r
{\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-04-07 18:15:53\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-08 16:15:10\r
+ * @LastEditTime: 2024-08-20 10:48:28\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/countdown/include/MainCountDownView.h\r
*/\r
#ifndef MAIN_COUNTDOWN_VIEW_H\r
private:\r
void MainCountDownViewInit(void);\r
void ClearAll(void);\r
- UILabelButtonExt *SetUILabelButton(int x, int y, int w, int h, const char *id, const char *text);\r
+ UILabelButtonExt *SetUILabelButton(int x, int y, int w, int h, const char *id, const char *text,int textId);\r
UIViewGroup *group = nullptr;\r
UIScrollView *scrollView[COUNTDOWN_MAX_VIEW]{nullptr};\r
UILabelExt *Title{nullptr};\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-04-07 18:15:53\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-09 15:38:14\r
+ * @LastEditTime: 2024-08-20 15:16:40\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/countdown/src/CountDownModel.cpp\r
*/\r
#include "countdown/include/CountDownModel.h"\r
#include "wearable_log.h"\r
#include "countdown/include/MainCountDownView.h"\r
#include <cmsis_os.h>\r
-#include "../../../../../../../drivers/peripheral/config/include/ConfigModel.h"\r
-\r
+#include "ConfigModel.h"\r
+#include "ui_resource_string.h"\r
namespace OHOS\r
{\r
/* -------------------------------------------------------------------------- */\r
static void CountDown_TimerCallbackProc(int data)\r
{\r
CountDownModel::g_CountDownTimes--; // 每次回调减少1秒\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "g_CountDownTimes:%d\n", CountDownModel::g_CountDownTimes);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "g_CountDownTimes:%d\n", CountDownModel::g_CountDownTimes);\r
\r
if (MainCountDownView::GetInstance() == nullptr)\r
{\r
MainCountDownView::GetInstance()->GetStartCountDownView()->GetPlayOrPauseToggleButton()->SetVisible(false);\r
MainCountDownView::GetInstance()->GetStartCountDownView()->GetRepeatButton()->SetVisible(true);\r
CountDownModel::GetInstance()->CountDown_StopTimer(); // 停止定时器\r
- MainCountDownView::GetInstance()->GetStartCountDownView()->GetShowCountDownTimelabel()->SetText("倒计时结束");\r
+ MainCountDownView::GetInstance()->GetStartCountDownView()->GetShowCountDownTimelabel()->SetTextId(STR_COUNTDOWN_ENDS);//倒计时结束\r
+ MainCountDownView::GetInstance()->GetStartCountDownView()->GetShowCountDownTimelabel()->ForceResetText();\r
// 进行倒计时结束时的额外操作,比如播放声音、显示通知等\r
// CountDownModel::GetInstance()->StartRingtonePlayback();\r
CountDownModel::GetInstance()->RequestStartRingtone();\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CountDownTimeConfigView::Title is new fail!!");
return nullptr;
}
- Title->SetPosition(83, 52, 300, 40);
+ Title->SetPosition(83, 50, 300, 35);
Title->SetStyle(STYLE_TEXT_FONT, 30);
Title->SetStyle(STYLE_LINE_HEIGHT, 35);
- Title->SetText("倒计时");
- Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
+ Title->SetTextId(STR_COUNT_DOWN);//倒计时
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- Title->SetRollSpeed(40);
+ Title->SetRollSpeed(70);
Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
/* -------------------------------------------------------------------------- */
timePicker = new UITimePicker();
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CountDownTimeNotNullView::Title is new fail!!");\r
return nullptr;\r
}\r
- Title->SetPosition(83, 52, 300, 40);\r
+ Title->SetPosition(83, 50, 300, 35);\r
Title->SetStyle(STYLE_TEXT_FONT, 30);\r
Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- Title->SetText("倒计时");\r
- Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ Title->SetTextId(STR_COUNT_DOWN); // 倒计时\r
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- Title->SetRollSpeed(40);\r
+ Title->SetRollSpeed(70);\r
Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------------------------------------------------------- */\r
Attention = new UIImageView();\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CountDownTimeNotNullView::AttentionLabel is new fail!!");\r
return nullptr;\r
}\r
- AttentionLabel->SetPosition(33, 253, 400, 40);\r
+ AttentionLabel->SetPosition(53, 253, 360, 35);\r
AttentionLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
AttentionLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- AttentionLabel->SetText("请先设置好倒计时间");\r
- AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ AttentionLabel->SetTextId(STR_SET_COUNT_DOWN_NOTE); // 请先设置好倒计时间\r
+ AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- AttentionLabel->SetRollSpeed(40);\r
+ AttentionLabel->SetRollSpeed(70);\r
AttentionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------------------------------------------------------- */\r
+ button = new UILabelButtonExt();\r
if (button == nullptr)\r
{\r
- button = new UILabelButtonExt();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CountDownTimeNotNullView::button is new fail!!");\r
+ return nullptr;\r
}\r
button->SetPosition(0, 366, 466, 100);\r
button->SetViewId(COUNTDOWNTIMENOTNULLVIEWRETURNBUTTON);\r
button->SetImageSrc(PNG_466x100BUTTON_IMAGE, PNG_466x100BUTTON_IMAGE);\r
- button->SetText("知道了");\r
+ button->SetTextId(STR_KONW); // 知道了\r
button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
button->SetStyle(STYLE_LINE_HEIGHT, 35);\r
button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(MainCountDownPresenter::GetInstance());\r
+ if (buttonClick == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CountDownTimeNotNullView::buttonClick is new fail!!");\r
+ return nullptr;\r
+ }\r
button->SetOnClickListener(buttonClick);\r
/* ----------------------------------- Add ---------------------------------- */\r
scrollView->Add(Title);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Title is new fail!!");\r
return;\r
}\r
- Title->SetPosition(83, 55, 300, 40);\r
+ Title->SetPosition(83, 50, 300, 35);\r
Title->SetStyle(STYLE_TEXT_FONT, 30);\r
Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- Title->SetText("倒计时");\r
- Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ Title->SetTextId(STR_COUNT_DOWN); // 倒计时\r
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- Title->SetRollSpeed(40);\r
+ Title->SetRollSpeed(70);\r
Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------- CUSTOM_COUNTDOWN ------------------------- */\r
CUSTOM_COUNTDOWN = new UILabelButtonExt();\r
CUSTOM_COUNTDOWN->SetViewId(COUNTDOWN_LABELBUTTON_VIEWID);\r
CUSTOM_COUNTDOWN->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffa800);\r
CUSTOM_COUNTDOWN->SetStyle(STYLE_BORDER_RADIUS, 100);\r
- CUSTOM_COUNTDOWN->SetText("自定义时间");\r
+ CUSTOM_COUNTDOWN->SetTextId(STR_CUSTOM_TIME); // 自定义时间\r
CUSTOM_COUNTDOWN->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
CUSTOM_COUNTDOWN->SetStyle(STYLE_LINE_HEIGHT, 35);\r
CUSTOM_COUNTDOWN->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffa800, UIButton::PRESSED);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QuickStart is new fail!!");\r
return;\r
}\r
- QuickStart->SetPosition(83, 270, 300, 40);\r
+ QuickStart->SetPosition(83, 270, 300, 35);\r
QuickStart->SetStyle(STYLE_TEXT_FONT, 30);\r
QuickStart->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- QuickStart->SetText("快速开始");\r
- QuickStart->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ QuickStart->SetTextId(STR_QUICK_START);\r
+ QuickStart->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
QuickStart->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- QuickStart->SetRollSpeed(40);\r
+ QuickStart->SetRollSpeed(70);\r
QuickStart->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* ----------------------- COUNTDOWN_ONE_MINUTE_BUTTON ---------------------- */\r
- COUNTDOWN_ONE_MINUTE_BUTTON = SetUILabelButton(43, 345, 180, 150, COUNTDOWN_ONE_MINUTE_BUTTON_VIEWID, "1分钟");\r
+ COUNTDOWN_ONE_MINUTE_BUTTON = SetUILabelButton(43, 345, 180, 150, COUNTDOWN_ONE_MINUTE_BUTTON_VIEWID, "1分钟", STR_1_MIN);\r
if (COUNTDOWN_ONE_MINUTE_BUTTON == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "COUNTDOWN_ONE_MINUTE_BUTTON is new fail!!");\r
return;\r
}\r
/* ---------------------- COUNTDOWN_FIVE_MINUTE_BUTTON ---------------------- */\r
- COUNTDOWN_FIVE_MINUTE_BUTTON = SetUILabelButton(243, 345, 180, 150, COUNTDOWN_FIVE_MINUTE_BUTTON_VIEWID, "5分钟");\r
+ COUNTDOWN_FIVE_MINUTE_BUTTON = SetUILabelButton(243, 345, 180, 150, COUNTDOWN_FIVE_MINUTE_BUTTON_VIEWID, "5分钟", STR_5_MIN);\r
if (COUNTDOWN_FIVE_MINUTE_BUTTON == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "COUNTDOWN_FIVE_MINUTE_BUTTON is new fail!!");\r
return;\r
}\r
/* ----------------------- COUNTDOWN_TEN_MINUTE_BUTTON ---------------------- */\r
- COUNTDOWN_TEN_MINUTE_BUTTON = SetUILabelButton(43, 515, 180, 150, COUNTDOWN_TEN_MINUTE_BUTTON_VIEWID, "10分钟");\r
+ COUNTDOWN_TEN_MINUTE_BUTTON = SetUILabelButton(43, 515, 180, 150, COUNTDOWN_TEN_MINUTE_BUTTON_VIEWID, "10分钟", STR_10_MIN);\r
if (COUNTDOWN_TEN_MINUTE_BUTTON == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "COUNTDOWN_TEN_MINUTE_BUTTON is new fail!!");\r
return;\r
}\r
/* --------------------- COUNTDOWN_THIRTY_MINUTE_BUTTON --------------------- */\r
- COUNTDOWN_THIRTY_MINUTE_BUTTON = SetUILabelButton(243, 515, 180, 150, COUNTDOWN_THIRTY_MINUTE_BUTTON_VIEWID, "30分钟");\r
+ COUNTDOWN_THIRTY_MINUTE_BUTTON = SetUILabelButton(243, 515, 180, 150, COUNTDOWN_THIRTY_MINUTE_BUTTON_VIEWID, "30分钟", STR_30_MIN);\r
if (COUNTDOWN_THIRTY_MINUTE_BUTTON == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "COUNTDOWN_THIRTY_MINUTE_BUTTON is new fail!!");\r
}\r
}\r
\r
- UILabelButtonExt *MainCountDownView::SetUILabelButton(int x, int y, int w, int h, const char *id, const char *text)\r
+ UILabelButtonExt *MainCountDownView::SetUILabelButton(int x, int y, int w, int h, const char *id, const char *text, int textId)\r
{\r
UILabelButtonExt *button = new UILabelButtonExt();\r
if (button == nullptr)\r
button->SetImagePosition(72, 30);\r
ImageInfo *img = ImageCacheManager::GetInstance().LoadSingleRes(COUNTDOWM_TIMER_ICON);\r
button->SetImageSrc(img, img);\r
- button->SetText(text);\r
+ // button->SetText(text);\r
+ button->SetTextId(textId);\r
button->SetAlign(TEXT_ALIGNMENT_LEFT);\r
button->SetLabelPosition(51, 61);\r
button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CountDownTimeNotNullView::Title is is new fail!!");\r
return nullptr;\r
}\r
- Title->SetPosition(83, 52, 300, 40);\r
+ Title->SetPosition(83, 50, 300, 35);\r
Title->SetStyle(STYLE_TEXT_FONT, 30);\r
Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- Title->SetText("倒计时");\r
- Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ Title->SetTextId(STR_COUNT_DOWN); // 倒计时\r
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- Title->SetRollSpeed(40);\r
+ Title->SetRollSpeed(70);\r
Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------------------------------------------------------- */\r
showCountDownTimelabel = new UILabelExt();\r
showCountDownTimelabel->SetStyle(STYLE_TEXT_FONT, 80);\r
showCountDownTimelabel->SetStyle(STYLE_LINE_HEIGHT, 94);\r
showCountDownTimelabel->SetText(CountDownModel::GetInstance()->GetCountDownTime().c_str());\r
- showCountDownTimelabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ showCountDownTimelabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
showCountDownTimelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
showCountDownTimelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 80);\r
+ showCountDownTimelabel->SetRollSpeed(70);\r
/* -------------------------------------------------------------------------- */\r
vectorImage = new UIImageView();\r
if (vectorImage == nullptr)\r
showTheRingTime->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
showTheRingTime->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35);\r
/* -------------------------------------------------------------------------- */\r
+ play_or_pause_toggleButton = new UIToggleButton();\r
if (play_or_pause_toggleButton == nullptr)\r
{\r
- play_or_pause_toggleButton = new UIToggleButton();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "play_or_pause_toggleButton is new fail!!");\r
+ return nullptr;\r
}\r
play_or_pause_toggleButton->SetPosition(248, 321, 100, 100);\r
play_or_pause_toggleButton->SetViewId(PlayOrPauseToggleButton_ViewID);\r
play_or_pause_toggleButton->SetVisible(true);\r
\r
/* -------------------------------------------------------------------------- */\r
- // Add Button to App\r
+ endbutton = new UIButton();\r
if (endbutton == nullptr)\r
{\r
- endbutton = new UIButton();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "endbutton is new fail!!");\r
+ return nullptr;\r
}\r
- endbutton->SetPosition(118, 321);\r
- endbutton->Resize(100, 100);\r
+ endbutton->SetPosition(118, 321, 100, 100);\r
endbutton->SetViewId(STARTCOUNTDOWNVIEWRETURNBUTTON);\r
endbutton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
endbutton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
endbutton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffa800, UIButton::PRESSED);\r
endbutton->SetStyleForState(STYLE_BORDER_RADIUS, 100, UIButton::PRESSED);\r
UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(MainCountDownPresenter::GetInstance());\r
+ if (buttonClick == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "buttonClick is new fail!!");\r
+ return nullptr;\r
+ }\r
endbutton->SetOnClickListener(buttonClick);\r
- /* ----------------------------------- Add ---------------------------------- */\r
-\r
+ RepeatButton = new UIButton();\r
if (nullptr == RepeatButton)\r
{\r
- RepeatButton = new UIButton();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "endbutton is new fail!!");\r
+ return nullptr;\r
}\r
- RepeatButton->SetPosition(248, 321);\r
- RepeatButton->Resize(100, 100);\r
+ RepeatButton->SetPosition(248, 321, 100, 100);\r
RepeatButton->SetViewId(RepeatButtonViewID);\r
RepeatButton->SetStyle(STYLE_BACKGROUND_COLOR, 0x00);\r
RepeatButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
RepeatButton->SetImageSrc(RepeatButtonImagePath, RepeatButtonImagePath);\r
RepeatButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffa800, UIButton::PRESSED);\r
RepeatButton->SetStyleForState(STYLE_BORDER_RADIUS, 100, UIButton::PRESSED);\r
- UIView::OnClickListener * RepeatButtonClick = static_cast<UIView::OnClickListener *>(MainCountDownPresenter::GetInstance());\r
+ UIView::OnClickListener *RepeatButtonClick = static_cast<UIView::OnClickListener *>(MainCountDownPresenter::GetInstance());\r
RepeatButton->SetOnClickListener(RepeatButtonClick);\r
RepeatButton->SetVisible(false);\r
\r
+ /* ----------------------------------- Add ---------------------------------- */\r
scrollView->Add(Title);\r
scrollView->Add(showCountDownTimelabel);\r
scrollView->Add(vectorImage);\r
return play_or_pause_toggleButton;\r
}\r
\r
- UIButton * StartCountDownView::GetRepeatButton(void)\r
+ UIButton *StartCountDownView::GetRepeatButton(void)\r
{\r
return RepeatButton;\r
}\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-08-05 15:20:03
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-13 17:11:32
+ * @LastEditTime: 2024-08-20 17:18:32
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersModel.h
*/
void SetMusicSource(bool value);
void UpdateMusicPlayerList(void);
bool GetCurrentMusicIsPlaying(void);
+ void PlayerMusic_StartTimer(uint32_t interval = 1000);
+ void PlayerMusic_StopTimer(void);
private:
bool musicSourceFlag{false};//音乐来源标志:false:默认为手表音乐,true:手机音乐
private:
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-08-05 15:20:03\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-13 16:10:15\r
+ * @LastEditTime: 2024-08-20 17:57:54\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersPresenter.h\r
*/\r
\r
void OnClickSuccBack(void);\r
void OnClickConnFailBack(void);\r
void OnClickFailBack(void);\r
- void UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus);\r
void SetPlaybackProgress(int64_t value);\r
void SetPlayerState(bool value);\r
void PlayerbackReset(void);\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-08-05 15:20:03\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-14 11:26:39\r
+ * @LastEditTime: 2024-08-20 17:39:13\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h\r
*/\r
\r
#include "player/include/MusicPlayerSourceView.h"\r
#include "player/include/MusicPlayerBluetoothDisConView.h"\r
#include "player/include/MusicPlayerBTConnectFailedView.h"\r
+#include "aivoice/include/AiVoiceConnectingView.h"\r
namespace OHOS\r
{\r
#define PLAY_PROGRESS_MIN 0\r
UICircleProgress *GetPlaybackProgress(void);\r
UICheckBox::UICheckBoxState GetPlayerButtonState(void);\r
\r
- void UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus);\r
+ void UpdatePlayerView(void);\r
void UpdateMusicListStatus(void);\r
void OnClickBackKeyToMainMusicPlayerView(void);\r
\r
UIViewGroup *musicListGroupView{nullptr}; // 音乐列表视图\r
MusicPlayerBluetoothDisConView *musicPlayerBluetoothDisConView{nullptr}; // 蓝牙未连接视图\r
MusicPlayerBTConnectFailedView *musicPlayerBTConnectFailedView{nullptr}; // 蓝牙连接失败视图\r
+ AiVoiceConnectingView *musicPlayerConnectingView{nullptr}; // 连接动画\r
\r
private:\r
UIView::OnClickListener *clickListener{nullptr};\r
// 1.a2dp未连接,向手机发起a2dp连接\r
// 如果蓝牙没连接直接是跳转到蓝牙连接失败视图,连接了就有一个主动去连手机的a2dp过程,5秒超市\r
\r
- playersPresenter->UpdatePlayerView(PlayersModel::GetInstance()->GetMusicSource(), phonebluetoothcon && a2dp);\r
-\r
if (!phonebluetoothcon)\r
{\r
playersView->ChangeView(PlayersView::MUSIC_SOURCE_VIEW, PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW);\r
}\r
- else if (phonebluetoothcon && !a2dp)\r
+ else if (phonebluetoothcon && !a2dp) // 如果手机蓝牙已连接但手表与手机的a2dp未连接手表主动去连接a2dp\r
{\r
- playersView->ChangeView(PlayersView::MUSIC_SOURCE_VIEW, PlayersView::MUSIC_BT_CONNECTFAILED_VIEW);\r
+ /* -------------------------------------------------------------------------- */\r
+ uapi_a2dp_snk_connect(); // 切换通道主动连接atdp\r
+ /* -------------------------------------------------------------------------- */\r
+ playersView->ChangeView(PlayersView::MUSIC_SOURCE_VIEW, PlayersView::MUISC_CONNECTING);\r
}\r
else if (phonebluetoothcon && a2dp)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick watchLableButton");\r
PlayersModel::GetInstance()->SetMusicSource(false);\r
UpdateBluetoothHeadSetViewIsVisible();\r
-\r
- playersPresenter->UpdatePlayerView(PlayersModel::GetInstance()->GetMusicSource(), phonebluetoothcon && a2dp);\r
+ /* -------------------------------------------------------------------------- */\r
+ if (a2dp)\r
+ {\r
+ uapi_a2dp_snk_disconnect(); // 切换通道主动断开atdp\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
}\r
else if (button == bluetoothHeadsetLableButton)\r
{\r
#include "bluetooth/include/BluetoothModel.h"
#include <unistd.h>
#include <sys/stat.h>
+#include "cmsis_os.h"
+#include <cmsis_os2.h>
+#include <service/graphic_service.h>
namespace OHOS {
static constexpr int VOLUME_MAXIMUM = 100;
}
return false;
}
+
+ /* -------------------------------------------------------------------------- */
+ static osTimerId_t g_timer = NULL;
+ static int g_PlayerTimes = 5;
+
+ static void PlayerMusic_TimerCallbackProc(int data)
+ {
+ g_PlayerTimes--;
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "g_PlayerTimes = %d",g_PlayerTimes);
+ PlayersView *playersView = PlayersView::GetInstance();
+ if (playersView == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersView nullptr err");
+ return;
+ }
+ if(g_PlayerTimes < 0) /*5秒超时*/
+ {
+ playersView->ChangeView(PlayersView::MUISC_CONNECTING, PlayersView::MUSIC_BT_CONNECTFAILED_VIEW);
+ }
+ else
+ {
+ bool a2dp = uapi_a2dp_snk_get_device_connect_state();// 获取a2dp连接状态
+ if(a2dp)
+ {
+ playersView->ChangeView(PlayersView::MUISC_CONNECTING, PlayersView::MAIN_MUSICPLAYER_VIEW);
+ }
+ }
+ return;
+ }
+ static void PlayerMusic_TimerCallback(int data)
+ {
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(PlayerMusic_TimerCallbackProc, data));
+ }
+
+ void PlayersModel::PlayerMusic_StartTimer(uint32_t interval)
+ {
+ /* -------------------------- 1.检查定时器是否已经存在,如果存在则返回 ------------------------- */
+ if (g_timer != NULL)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersModel::StopWatch_StartTimer Timer already exists!!");
+ return;
+ }
+
+ /* --------------------------------- 2.创建定时器 -------------------------------- */
+ g_timer = osTimerNew((osTimerFunc_t)PlayerMusic_TimerCallback, osTimerPeriodic, NULL, NULL);
+ // 检查定时器创建是否成功
+ if (g_timer == NULL)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersModel::StopWatch_StartTimer Timer create failed!!");
+ return;
+ }
+
+ /* ----------------------------- 3.将毫秒转换为系统时钟节拍数 ---------------------------- */
+ int tick = osMs2Tick(interval);
+
+ /* --------------------------------- 4.启动定时器 -------------------------------- */
+ // g_timerStartTimestamp = GetCurrentTimestamp(); // 假设GetCurrentTimestamp()是获取当前时间戳的函数
+ osStatus_t ret = osTimerStart(g_timer, tick);
+ /* -------------------- 5.检查定时器启动是否成功,如果启动失败,删除定时器并置为 NULL -------------------- */
+ if (ret != osOK)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[StopWatch_StartTimer]osTimerDelete failed, ret = %lx!!", ret);
+ if (g_timer != NULL)
+ {
+ ret = osTimerDelete(g_timer);
+ }
+ g_timer = NULL;
+ return;
+ }
+ return;
+ }
+
+ void PlayersModel::PlayerMusic_StopTimer(void)
+ {
+ // 检查定时器是否存在
+ if (g_timer != NULL)
+ {
+ // 删除定时器并置为 NULL
+ osStatus_t ret = osTimerDelete(g_timer);
+ if (ret != osOK)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScanTimerCallback osTimerDelete failed, ret = %lx!!", ret);
+ }
+ g_timer = NULL;
+ g_PlayerTimes = 5;
+ }
+ }
}
#ifdef __cplusplus
return false;\r
}\r
\r
-void PlayersPresenter::UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus)\r
-{\r
- PlayersView *playersView = PlayersView::GetInstance();\r
- if (playersView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersView GetInstance fail");\r
- return;\r
- }\r
- playersView->UpdatePlayerView(musicSourceType,phoneMusicConnectStatus);\r
-}\r
-\r
void PlayersPresenter::SetPlaybackProgress(int64_t value)\r
{\r
PlayersView *playersView = PlayersView::GetInstance();\r
delete musicPlayerBTConnectFailedView;\r
musicPlayerBTConnectFailedView = nullptr;\r
}\r
+ if (musicPlayerConnectingView != nullptr)\r
+ {\r
+ PlayersModel::GetInstance()->PlayerMusic_StopTimer();\r
+ delete musicPlayerConnectingView;\r
+ musicPlayerConnectingView = nullptr;\r
+ }\r
\r
for (int i = MAIN_MUSICPLAYER_VIEW; i < MUSICPLAYERJUMPVIEWID_MAX; i++)\r
{\r
}\r
\r
/*刷新播放器界面的组件状态*/\r
- void PlayersView::UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus)\r
+ void PlayersView::UpdatePlayerView(void)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdatePlayerView");\r
// 1.a2dp未连接,向手机发起a2dp连接\r
+ bool phonebluetoothcon = SettingModel::GetInstance().GetPhoneConnectStatus(); // 获取手机连接状态\r
+ bool a2dp = uapi_a2dp_snk_get_device_connect_state(); // 获取a2dp连接状态\r
\r
+ bool phoneMusicConnectStatus = phonebluetoothcon && a2dp;\r
+ bool musicSourceType = PlayersModel::GetInstance()->GetMusicSource();\r
// 2.\r
ImageInfo *image;\r
if (musicSourceType)\r
return false;\r
}\r
/* -------------------------------------------------------------------------- */\r
- bool phonebluetoothcon = SettingModel::GetInstance().GetPhoneConnectStatus(); // 获取手机连接状态\r
- bool a2dp = uapi_a2dp_snk_get_device_connect_state(); // 获取a2dp连接状态\r
- UpdatePlayerView(PlayersModel::GetInstance()->GetMusicSource(), phonebluetoothcon && a2dp);\r
+ UpdatePlayerView();\r
/* -------------------------------------------------------------------------- */\r
\r
PlayersListGroup::GetInstance()->SetUpListCase();\r
{PlayersView::MUSIC_DELETE_VIEW, &PlayersView::ChangeToMusicDeleteView},\r
{PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW, &PlayersView::ChangeToMusicBluetoothDisConnectView},\r
{PlayersView::MUSIC_BT_CONNECTFAILED_VIEW, &PlayersView::ChangeToMusicBluetoothConnectFailedView},\r
+ {PlayersView::MUISC_CONNECTING, &PlayersView::ChangeToMusicConnectingView},\r
};\r
\r
/*根据传入的 interface 值,在 ViewMapper 数组中查找匹配的 viewId*/\r
return true;\r
}\r
\r
+ static const short PlayerDestroyMapper[] = {\r
+ PlayersView::MUISC_CONNECTING,\r
+ };\r
+\r
/*删除临时视图*/\r
void PlayersView::DestroyTempView(int16_t hideView)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::DestroyTempView");\r
+ int viewSize = sizeof(PlayerDestroyMapper) / sizeof(PlayerDestroyMapper[0]);\r
+ for (int i = 0; i < viewSize; i++)\r
+ {\r
+ if (hideView == PlayerDestroyMapper[i])\r
+ {\r
+ Remove(group[hideView]);\r
+ group[hideView] = nullptr;\r
+ break;\r
+ }\r
+ }\r
+ switch (hideView)\r
+ {\r
+ case PlayersView::MUISC_CONNECTING:\r
+ PlayersModel::GetInstance()->PlayerMusic_StopTimer();\r
+ if (musicPlayerConnectingView)\r
+ {\r
+ delete musicPlayerConnectingView;\r
+ musicPlayerConnectingView = nullptr;\r
+ }\r
+ break;\r
+ default:\r
+ break;\r
+ }\r
}\r
\r
/*视图切换*/\r
{\r
Add(group[thisView]);\r
}\r
+ UpdatePlayerView();\r
return true;\r
}\r
\r
group[thisView] = groupview;\r
Add(group[thisView]);\r
}\r
- UpdateMusicListStatus();/*每次切换到音乐列表都将更新一次列表*/\r
+ UpdateMusicListStatus(); /*每次切换到音乐列表都将更新一次列表*/\r
return true;\r
}\r
\r
return true;\r
}\r
\r
- /*å\88\87æ\8d¢å\88°è\93\9dç\89\99æ\9cªè¿\9eæ\8e¥视图*/\r
+ /*å\88\87æ\8d¢å\88°è¿\9eæ\8e¥å\8a¨ç\94»视图*/\r
bool PlayersView::ChangeToMusicConnectingView(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
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::ChangeToMusicConnectingView");\r
+ if (group[thisView] == nullptr)\r
+ {\r
+ musicPlayerConnectingView = new AiVoiceConnectingView();\r
+ if (musicPlayerConnectingView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new playerListDelSongView fail");\r
+ return false;\r
+ }\r
+ UIViewGroup *groupview = musicPlayerConnectingView->CreateAiVoiceConnectingView(1);\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
+ PlayersModel::GetInstance()->PlayerMusic_StartTimer();\r
return true;\r
}\r
}\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-02-18 09:09:13
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-22 10:51:12
+ * @LastEditTime: 2024-08-20 17:42:37
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp
*/
#include "settings/include/SettingModel.h"
#include "main/include/PullUpDownView.h"
#include "ui_resource_string.h"
#include "classicbluetooth/include/BluetoothServiceOptionsView.h"
+#include "player/include/PlayersView.h"
namespace OHOS
{
SettingModel::SettingModel() {}
{
BluetoothServiceOptionsView::GetInstance()->Button_UPdata();
}
+ if(PlayersView::GetInstance())
+ {
+ PlayersView::GetInstance()->UpdatePlayerView();
+ }
}
}
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-04-04 15:13:51\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-07 17:07:38\r
+ * @LastEditTime: 2024-08-20 11:25:11\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/stopwatch/include/MainStopWatchPresenter.h\r
*/\r
#ifndef MAIN_STOPWATCH_PRESENTER_H\r
#include "View.h"\r
#include "MainStopWatchView.h"\r
#include <string>\r
+#include "ui_resource_string.h"\r
/*秒表主视图*/\r
namespace OHOS\r
{\r
{\r
StopWatchModel::GetInstance()->StopWatch_PauseTimer(); // 暂停定时器\r
m_button->SetViewId(ResetOrMarkButton_RESET2_VIEWID);\r
- m_button->SetImageSrc(ResetOrMarkButtonImg_Reset2, nullptr);\r
+ m_button->SetImageSrc(ResetOrMarkButtonImg_Reset2, ResetOrMarkButtonImg_Reset2);\r
m_button->Invalidate();\r
}\r
return true;\r
\r
void MainStopWatchView::ClearAll()\r
{\r
- group->RemoveAll();\r
- scrollView[MAIN_STOPWATCH]->RemoveAll();\r
-\r
- if (stopWatchlabel != nullptr)\r
+ if (group != nullptr)\r
{\r
- delete stopWatchlabel;\r
- stopWatchlabel = nullptr;\r
- }\r
+ group->RemoveAll();\r
+ scrollView[MAIN_STOPWATCH]->RemoveAll();\r
\r
- if (showTimelabel != nullptr)\r
- {\r
- delete showTimelabel;\r
- showTimelabel = nullptr;\r
- }\r
+ if (stopWatchlabel != nullptr)\r
+ {\r
+ delete stopWatchlabel;\r
+ stopWatchlabel = nullptr;\r
+ }\r
\r
- if (PlayOrPausecheckBox != nullptr)\r
- {\r
- delete PlayOrPausecheckBox;\r
- PlayOrPausecheckBox = nullptr;\r
- }\r
+ if (showTimelabel != nullptr)\r
+ {\r
+ delete showTimelabel;\r
+ showTimelabel = nullptr;\r
+ }\r
\r
- if (ResetOrMarkbutton != nullptr)\r
- {\r
- delete ResetOrMarkbutton;\r
- ResetOrMarkbutton = nullptr;\r
- }\r
+ if (PlayOrPausecheckBox != nullptr)\r
+ {\r
+ delete PlayOrPausecheckBox;\r
+ PlayOrPausecheckBox = nullptr;\r
+ }\r
\r
- if (LineImage != nullptr)\r
- {\r
- delete LineImage;\r
- LineImage = nullptr;\r
- }\r
+ if (ResetOrMarkbutton != nullptr)\r
+ {\r
+ delete ResetOrMarkbutton;\r
+ ResetOrMarkbutton = nullptr;\r
+ }\r
\r
- if (list != nullptr)\r
- {\r
- delete list;\r
- list = nullptr;\r
- }\r
+ if (LineImage != nullptr)\r
+ {\r
+ delete LineImage;\r
+ LineImage = nullptr;\r
+ }\r
\r
- if (listadapter != nullptr)\r
- {\r
- delete listadapter;\r
- listadapter = nullptr;\r
- }\r
+ if (list != nullptr)\r
+ {\r
+ delete list;\r
+ list = nullptr;\r
+ }\r
\r
- if (listdata != nullptr)\r
- {\r
- listdata->Clear();\r
- delete listdata;\r
- listdata = nullptr;\r
- }\r
+ if (listadapter != nullptr)\r
+ {\r
+ delete listadapter;\r
+ listadapter = nullptr;\r
+ }\r
\r
- if (scrollView[MAIN_STOPWATCH] != nullptr)\r
- {\r
- delete scrollView[MAIN_STOPWATCH];\r
- scrollView[MAIN_STOPWATCH] = nullptr;\r
- }\r
+ if (listdata != nullptr)\r
+ {\r
+ listdata->Clear();\r
+ delete listdata;\r
+ listdata = nullptr;\r
+ }\r
\r
- if (p_StopWatchRecordCycleToLimitView != nullptr)\r
- {\r
- delete p_StopWatchRecordCycleToLimitView;\r
- p_StopWatchRecordCycleToLimitView = nullptr;\r
- }\r
+ if (scrollView[MAIN_STOPWATCH] != nullptr)\r
+ {\r
+ delete scrollView[MAIN_STOPWATCH];\r
+ scrollView[MAIN_STOPWATCH] = nullptr;\r
+ }\r
\r
- if (p_StopWatchRecordTimeToLimitView != nullptr)\r
- {\r
- delete p_StopWatchRecordTimeToLimitView;\r
- p_StopWatchRecordTimeToLimitView = nullptr;\r
- }\r
+ if (p_StopWatchRecordCycleToLimitView != nullptr)\r
+ {\r
+ delete p_StopWatchRecordCycleToLimitView;\r
+ p_StopWatchRecordCycleToLimitView = nullptr;\r
+ }\r
+\r
+ if (p_StopWatchRecordTimeToLimitView != nullptr)\r
+ {\r
+ delete p_StopWatchRecordTimeToLimitView;\r
+ p_StopWatchRecordTimeToLimitView = nullptr;\r
+ }\r
+\r
+ for (int i = MAIN_STOPWATCH; i < STOPWATCH_MAXVIEWID; i++)\r
+ {\r
+ scrollView[MAIN_STOPWATCH] = nullptr;\r
+ }\r
\r
- if (group != nullptr)\r
- {\r
delete group;\r
group = nullptr;\r
}\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "stopWatchlabel new fail!!");\r
return;\r
}\r
- stopWatchlabel->SetPosition(83, 52, 300, 40);\r
+ stopWatchlabel->SetPosition(83, 50, 300, 35);\r
stopWatchlabel->SetStyle(STYLE_TEXT_FONT, 30);\r
stopWatchlabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- stopWatchlabel->SetText("秒表");\r
- stopWatchlabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ stopWatchlabel->SetTextId(STR_STOPWATCH); // 秒表\r
+ stopWatchlabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
stopWatchlabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- stopWatchlabel->SetRollSpeed(40);\r
+ stopWatchlabel->SetRollSpeed(70);\r
stopWatchlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
stopWatchlabel->SetVisible(true);\r
/* ------------------------------ showTimelabel ----------------------------- */\r
list->SetPosition(56, 170, 360, 100);\r
list->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
list->SetReboundSize(30);\r
+ list->SetThrowDrag(true);\r
+ list->SetIntercept(true);\r
+ list->SetMaxScrollDistance(1000);\r
+ list->SetDragACCLevel(5);\r
+ list->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
list->SetVisible(false);\r
/* ------------------------------- listadapter ------------------------------ */\r
listadapter = new TextAdapter();\r
static void StopWatch_TimerCallbackProc(int data)\r
{\r
g_StopWatchTimes += 10; // 每次回调增加10毫秒\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "g_StopWatchTimes:%d\n", g_StopWatchTimes);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "g_StopWatchTimes:%d\n", g_StopWatchTimes);\r
\r
if (MainStopWatchView::GetInstance() == nullptr)\r
{\r
#include "stopwatch/include/StopWatchRecordCycleToLimitView.h"\r
#include "stopwatch/include/MainStopWatchPresenter.h"\r
#include "UiConfig.h"\r
+#include "wearable_log.h"\r
/*弹窗视图:到达最高圈数99时弹出*/\r
namespace OHOS\r
{\r
\r
StopWatchRecordCycleToLimitView::StopWatchRecordCycleToLimitView()\r
{\r
-\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "StopWatchRecordCycleToLimitView::StopWatchRecordCycleToLimitView");\r
g_pStopWatchRecordCycleToLimitView = this;\r
}\r
\r
StopWatchRecordCycleToLimitView::~StopWatchRecordCycleToLimitView()\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "StopWatchRecordCycleToLimitView::~StopWatchRecordCycleToLimitView");\r
ClearAll();\r
g_pStopWatchRecordCycleToLimitView = nullptr;\r
}\r
\r
StopWatchRecordCycleToLimitView *StopWatchRecordCycleToLimitView::GetInstance()\r
{\r
-\r
return g_pStopWatchRecordCycleToLimitView;\r
}\r
// 初始化秒表到达最高圈数时弹出的视图\r
if (Title == nullptr)\r
{\r
Title = new UILabelExt();\r
+ if (Title == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Title new fail");\r
+ return nullptr;\r
+ }\r
}\r
- Title->SetPosition(83, 52, 300, 40);\r
+ Title->SetPosition(83, 50, 300, 35);\r
Title->SetStyle(STYLE_TEXT_FONT, 30);\r
Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- Title->SetText("秒表");\r
- Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ Title->SetTextId(STR_STOPWATCH); // 秒表\r
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- Title->SetRollSpeed(40);\r
+ Title->SetRollSpeed(70);\r
Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------------------------------------------------------- */\r
if (AttentionImage == nullptr)\r
{\r
AttentionImage = new UIImageView();\r
+ if (AttentionImage == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionImage new fail");\r
+ return nullptr;\r
+ }\r
}\r
AttentionImage->SetPosition(193, 121, 100, 100);\r
AttentionImage->SetStyle(STYLE_BORDER_RADIUS, 100);\r
if (AttentionLabel == nullptr)\r
{\r
AttentionLabel = new UILabelExt();\r
+ if (AttentionLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionLabel new fail");\r
+ return nullptr;\r
+ }\r
}\r
- AttentionLabel->SetPosition(83, 253, 300, 40);\r
+ AttentionLabel->SetPosition(83, 253, 300, 35);\r
AttentionLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
AttentionLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- AttentionLabel->SetText("当前已达到了最高圈数");\r
- AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ AttentionLabel->SetTextId(STR_TMCHBR); // 当前已达到了最高计数\r
+ AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
AttentionLabel->SetTextColor(Color::GetColorFromRGBA(0xaa, 0xaa, 0xaa, 0xff));\r
- AttentionLabel->SetRollSpeed(40);\r
+ AttentionLabel->SetRollSpeed(70);\r
AttentionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------------------------------------------------------- */\r
if (button == nullptr)\r
{\r
button = new UILabelButtonExt();\r
+ if (button == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "button new fail");\r
+ return nullptr;\r
+ }\r
}\r
button->SetPosition(0, 366, 466, 100);\r
button->SetViewId(CycleToLimitReturnButton_VIEWID);\r
button->SetImageSrc(PNG_466x100BUTTON_IMAGE, PNG_466x100BUTTON_IMAGE);\r
- button->SetText("知道了");\r
+ button->SetTextId(STR_KONW);\r
button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
button->SetStyle(STYLE_LINE_HEIGHT, 35);\r
button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(MainStopWatchPresenter::GetInstance());\r
+ if (buttonClick == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "buttonClick new fail");\r
+ return nullptr;\r
+ }\r
button->SetOnClickListener(buttonClick);\r
/* ----------------------------------- Add ---------------------------------- */\r
scrollView->Add(Title);\r
\r
void StopWatchRecordCycleToLimitView::ClearAll()\r
{\r
- scrollView->RemoveAll();\r
-\r
- if (Title != nullptr)\r
- {\r
- delete Title;\r
- Title = nullptr;\r
- }\r
- if (AttentionImage != nullptr)\r
- {\r
- delete AttentionImage;\r
- AttentionImage = nullptr;\r
- }\r
- if (AttentionLabel != nullptr)\r
- {\r
- delete AttentionLabel;\r
- AttentionLabel = nullptr;\r
- }\r
- if (button != nullptr)\r
- {\r
- delete button;\r
- button = nullptr;\r
- }\r
if (scrollView != nullptr)\r
{\r
+ scrollView->RemoveAll();\r
+ if (Title != nullptr)\r
+ {\r
+ delete Title;\r
+ Title = nullptr;\r
+ }\r
+ if (AttentionImage != nullptr)\r
+ {\r
+ delete AttentionImage;\r
+ AttentionImage = nullptr;\r
+ }\r
+ if (AttentionLabel != nullptr)\r
+ {\r
+ delete AttentionLabel;\r
+ AttentionLabel = nullptr;\r
+ }\r
+ if (button != nullptr)\r
+ {\r
+ delete button;\r
+ button = nullptr;\r
+ }\r
delete scrollView;\r
scrollView = nullptr;\r
}\r
#include "stopwatch/include/StopWatchRecordTimeToLimitView.h"\r
#include "stopwatch/include/MainStopWatchPresenter.h"\r
#include "UiConfig.h"\r
-\r
+#include "wearable_log.h"\r
/*弹窗视图:到达最高时间99:59.99时弹出*/\r
namespace OHOS\r
{\r
\r
StopWatchRecordTimeToLimitView::StopWatchRecordTimeToLimitView()\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "StopWatchRecordTimeToLimitView::StopWatchRecordTimeToLimitView");\r
g_pStopWatchRecordTimeToLimitView = this;\r
}\r
\r
StopWatchRecordTimeToLimitView::~StopWatchRecordTimeToLimitView()\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "StopWatchRecordTimeToLimitView::~StopWatchRecordTimeToLimitView");\r
ClearAll();\r
g_pStopWatchRecordTimeToLimitView = nullptr;\r
}\r
if (Title == nullptr)\r
{\r
Title = new UILabelExt();\r
+ if (Title == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Title new fail");\r
+ return nullptr;\r
+ }\r
}\r
- Title->SetPosition(83, 52, 300, 40);\r
+ Title->SetPosition(83, 50, 300, 35);\r
Title->SetStyle(STYLE_TEXT_FONT, 30);\r
Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- Title->SetText("秒表");\r
- Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ Title->SetTextId(STR_STOPWATCH); // 秒表\r
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- Title->SetRollSpeed(40);\r
+ Title->SetRollSpeed(70);\r
Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------------------------------------------------------- */\r
if (AttentionImage == nullptr)\r
{\r
AttentionImage = new UIImageView();\r
+ if (AttentionImage == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionImage new fail");\r
+ return nullptr;\r
+ }\r
}\r
AttentionImage->SetPosition(193, 121, 100, 100);\r
AttentionImage->SetStyle(STYLE_BORDER_RADIUS, 100);\r
if (AttentionLabel_1 == nullptr)\r
{\r
AttentionLabel_1 = new UILabelExt();\r
+ if (AttentionLabel_1 == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionLabel_1 new fail");\r
+ return nullptr;\r
+ }\r
}\r
- AttentionLabel_1->SetPosition(83, 235, 300, 40);\r
+ AttentionLabel_1->SetPosition(83, 235, 300, 35);\r
AttentionLabel_1->SetStyle(STYLE_TEXT_FONT, 30);\r
AttentionLabel_1->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- AttentionLabel_1->SetText("当前已达到了最长时间");\r
- AttentionLabel_1->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ AttentionLabel_1->SetTextId(STR_MAXIMUM_TIME_REACH_NOTE); // 当前已达到了最长时间\r
+ AttentionLabel_1->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
AttentionLabel_1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
AttentionLabel_1->SetTextColor(Color::GetColorFromRGBA(0xaa, 0xaa, 0xaa, 0xff));\r
- AttentionLabel_1->SetRollSpeed(40);\r
+ AttentionLabel_1->SetRollSpeed(70);\r
AttentionLabel_1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* ---------------------------- AttentionLabel_2 ---------------------------- */\r
if (AttentionLabel_2 == nullptr)\r
{\r
AttentionLabel_2 = new UILabelExt();\r
+ if (AttentionLabel_2 == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionLabel_2 new fail");\r
+ return nullptr;\r
+ }\r
}\r
- AttentionLabel_2->SetPosition(33, 279, 400, 40);\r
+ AttentionLabel_2->SetPosition(53, 279, 360, 35);\r
AttentionLabel_2->SetStyle(STYLE_TEXT_FONT, 30);\r
AttentionLabel_2->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- AttentionLabel_2->SetText("表秒自动暂停,请重新开始");\r
- AttentionLabel_2->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ AttentionLabel_2->SetTextId(STR_STOPWATCH_STOP_NOTE); // 秒表自动暂停,请重新开始\r
+ AttentionLabel_2->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
AttentionLabel_2->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
AttentionLabel_2->SetTextColor(Color::GetColorFromRGBA(0xaa, 0xaa, 0xaa, 0xff));\r
- AttentionLabel_2->SetRollSpeed(40);\r
+ AttentionLabel_2->SetRollSpeed(70);\r
AttentionLabel_2->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
/* -------------------------------------------------------------------------- */\r
if (button == nullptr)\r
{\r
button = new UILabelButtonExt();\r
+ if (button == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "button new fail");\r
+ return nullptr;\r
+ }\r
}\r
button->SetPosition(0, 366, 466, 100);\r
button->SetViewId(TimeToLimitReturnButton_VIEWID);\r
button->SetImageSrc(PNG_466x100BUTTON_IMAGE, PNG_466x100BUTTON_IMAGE);\r
- button->SetText("知道了");\r
+ button->SetTextId(STR_KONW);\r
button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
button->SetStyle(STYLE_LINE_HEIGHT, 35);\r
button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(MainStopWatchPresenter::GetInstance());\r
+ if (buttonClick == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "buttonClick new fail");\r
+ return nullptr;\r
+ }\r
button->SetOnClickListener(buttonClick);\r
/* ----------------------------------- Add ---------------------------------- */\r
scrollView->Add(Title);\r
\r
void StopWatchRecordTimeToLimitView::ClearAll()\r
{\r
- scrollView->RemoveAll();\r
- if (Title != nullptr)\r
- {\r
- delete Title;\r
- Title = nullptr;\r
- }\r
- if (AttentionImage != nullptr)\r
- {\r
- delete AttentionImage;\r
- AttentionImage = nullptr;\r
- }\r
- if (AttentionLabel_1 != nullptr)\r
- {\r
- delete AttentionLabel_1;\r
- AttentionLabel_1 = nullptr;\r
- }\r
- if (button != nullptr)\r
- {\r
- delete button;\r
- button = nullptr;\r
- }\r
if (scrollView != nullptr)\r
{\r
+ scrollView->RemoveAll();\r
+ if (Title != nullptr)\r
+ {\r
+ delete Title;\r
+ Title = nullptr;\r
+ }\r
+ if (AttentionImage != nullptr)\r
+ {\r
+ delete AttentionImage;\r
+ AttentionImage = nullptr;\r
+ }\r
+ if (AttentionLabel_1 != nullptr)\r
+ {\r
+ delete AttentionLabel_1;\r
+ AttentionLabel_1 = nullptr;\r
+ }\r
+ if (button != nullptr)\r
+ {\r
+ delete button;\r
+ button = nullptr;\r
+ }\r
+\r
delete scrollView;\r
scrollView = nullptr;\r
}\r
{
return;
}
- const power_display_svr_api_t *display_api = power_display_svr_get_api();
- if (display_api->get_screen_state() != SCREEN_ON)
- {
- display_api->turn_on_screen();
- }
MotionRecognitionViewEventListener::GetInstance().SetMotionTypeId(*motionType);
NotificationManager::GetInstance()->ShowNotify(showMotionRecognitionNotify, (uint16_t)topic, true);
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-08-17 16:44:20
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-19 11:25:09
+ * @LastEditTime: 2024-08-20 11:01:16
* @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/src/notify/motion_recognition_notification.cpp
*/
#include "notification_manager.h"
#include <service/graphic_service.h>
#include "ConfigModel.h"
#include "traing/include/TraingModel.h"
-
+#include "ui_service.h"
+#include "vibrator_service.h"
namespace OHOS
{
MotionRecognitionStartButton = new UIButton();
}
MotionRecognitionStartButton->SetPosition(238, MotionRecognitionNoteLabel->GetY() + MotionRecognitionNoteLabel->GetHeight() + 40, 170, 90);
- MotionRecognitionStartButton->SetViewId(MOTION_RECOGNITION_IGNORE_BUTTONVIEWID);
+ MotionRecognitionStartButton->SetViewId(MOTION_RECOGNITION_START_BUTTONVIEWID);
MotionRecognitionStartButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff4fc34c);
MotionRecognitionStartButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff383838, UIButton::PRESSED);
MotionRecognitionStartButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);
MotionRecognitionScrollView->Add(MotionRecognitionIgnoreLabel);
MotionRecognitionGroupView->Add(MotionRecognitionScrollView);
}
+ /* -------------------------------------------------------------------------- */
+ ScreenTurnOn(10*1000);//显示时长10s
+ ui_api_vibrate_once_func();
+ /* -------------------------------------------------------------------------- */
NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeMotionRecognitionView);
return MotionRecognitionGroupView;
}
STR_IGNORE = 518,\r
STR_START = 519,\r
STR_ARC_SCALE_LIST_DISPLAY = 520,\r
- STR_MAX_ID = 521,\r
+ STR_COUNT_DOWN = 521,\r
+ STR_CUSTOM_TIME = 522,\r
+ STR_QUICK_START = 523,\r
+ STR_1_MIN = 524,\r
+ STR_5_MIN = 525,\r
+ STR_10_MIN = 526,\r
+ STR_30_MIN = 527,\r
+ STR_SET_COUNT_DOWN_NOTE = 528,\r
+ STR_COUNTDOWN_ENDS = 529,\r
+ STR_MAXIMUM_TIME_REACH = 530,\r
+ STR_STOPWATCH_STOP_NOTE = 531,\r
+ STR_TMCHBR = 532,\r
+ STR_MAXIMUM_TIME_REACH_NOTE = 533,\r
+ STR_MAX_ID = 534,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
STR_MUSIC_PLAYER_SOURCE_NOTE$Please enter Music - Music Source from the watch app interface, set it to Mobile Mode and try again\r
STR_MUSIC_LIST_IS_EMPTY$The current music list is empty, please download and add via APP\r
STR_BT_HEADSET_RESCAN$Rescan\r
-STR_BT_HEADSET_NOFOND$No headset Bluetooth device can be found\r
+STR_BT_HEADSET_NOFOND$No Bluetooth headset device can be found\r
STR_SCHEDULE$Schedule\r
STR_SCHEDULE_TITLE$Schedule management\r
STR_SCHEDULE_NO_DATA$No schedules\r
STR_NO_PAIRED_DEV$No paired devices are available\r
STR_IGNORE$Ignore\r
STR_START$Start\r
-STR_ARC_SCALE_LIST_DISPLAY$Arc list display
\ No newline at end of file
+STR_ARC_SCALE_LIST_DISPLAY$Arc list display\r
+STR_COUNT_DOWN$Count Down\r
+STR_CUSTOM_TIME$Custom time\r
+STR_QUICK_START$Quick start\r
+STR_1_MIN$1min\r
+STR_5_MIN$5min\r
+STR_10_MIN$10min\r
+STR_30_MIN$30min\r
+STR_SET_COUNT_DOWN_NOTE$Please set up the countdown room first\r
+STR_COUNTDOWN_ENDS$Countdown ends\r
+STR_MAXIMUM_TIME_REACH$The maximum time has been reached\r
+STR_STOPWATCH_STOP_NOTE$Stopwatch stops automatically, please restart\r
+STR_TMCHBR$The maximum count has been reached
\ No newline at end of file
STR_MUSIC_PLAYER_SOURCE_NOTE$请从手表端应用界面进入“音乐”-“音乐来源”,设置为“手机模式”后重试\r
STR_MUSIC_LIST_IS_EMPTY$当前音乐列表为空请通过APP下载添加\r
STR_BT_HEADSET_RESCAN$重新搜索\r
-STR_BT_HEADSET_NOFOND$å½\93å\89\8dæ\90\9cç´¢ä¸\8då\88°è\80³æ\9cºè\93\9dç\89\99设备\r
+STR_BT_HEADSET_NOFOND$å½\93å\89\8dæ\90\9cç´¢ä¸\8då\88°è\93\9dç\89\99è\80³æ\9cº设备\r
STR_SCHEDULE$日程\r
STR_SCHEDULE_TITLE$日程管理\r
STR_SCHEDULE_NO_DATA$当前无日程\r
STR_NO_PAIRED_DEV$暂无已配对设备\r
STR_IGNORE$忽略\r
STR_START$开始\r
-STR_ARC_SCALE_LIST_DISPLAY$弧形列表显示
\ No newline at end of file
+STR_ARC_SCALE_LIST_DISPLAY$弧形列表显示\r
+STR_COUNT_DOWN$倒计时\r
+STR_CUSTOM_TIME$自定义时间\r
+STR_QUICK_START$快速开始\r
+STR_1_MIN$1分钟\r
+STR_5_MIN$5分钟\r
+STR_10_MIN$10分钟\r
+STR_30_MIN$30分钟\r
+STR_SET_COUNT_DOWN_NOTE$请先设置好倒计时间\r
+STR_COUNTDOWN_ENDS$倒计时结束\r
+STR_MAXIMUM_TIME_REACH_NOTE$当前已达到了最长时间\r
+STR_STOPWATCH_STOP_NOTE$秒表自动暂停,请重新开始\r
+STR_TMCHBR$当前已达到了最高计数
\ No newline at end of file
<lanstr id="STR_MUSIC_PLAYER_SOURCE_NOTE" value="Please enter Music - Music Source from the watch app interface, set it to Mobile Mode and try again"/>
<lanstr id="STR_MUSIC_LIST_IS_EMPTY" value="The current music list is empty, please download and add via APP"/>
<lanstr id="STR_BT_HEADSET_RESCAN" value="Rescan"/>
- <lanstr id="STR_BT_HEADSET_NOFOND" value="No headset Bluetooth device can be found"/>
+ <lanstr id="STR_BT_HEADSET_NOFOND" value="No Bluetooth headset device can be found"/>
<lanstr id="STR_SCHEDULE" value="Schedule"/>
<lanstr id="STR_SCHEDULE_TITLE" value="Schedule management"/>
<lanstr id="STR_SCHEDULE_NO_DATA" value="No schedules"/>
<lanstr id="STR_IGNORE" value="Ignore"/>
<lanstr id="STR_START" value="Start"/>
<lanstr id="STR_ARC_SCALE_LIST_DISPLAY" value="Arc list display"/>
+ <lanstr id="STR_COUNT_DOWN" value="Count Down"/>
+ <lanstr id="STR_CUSTOM_TIME" value="Custom time"/>
+ <lanstr id="STR_QUICK_START" value="Quick start"/>
+ <lanstr id="STR_1_MIN" value="1min"/>
+ <lanstr id="STR_5_MIN" value="5min"/>
+ <lanstr id="STR_10_MIN" value="10min"/>
+ <lanstr id="STR_30_MIN" value="30min"/>
+ <lanstr id="STR_SET_COUNT_DOWN_NOTE" value="Please set up the countdown room first"/>
+ <lanstr id="STR_COUNTDOWN_ENDS" value="Countdown ends"/>
+ <lanstr id="STR_MAXIMUM_TIME_REACH" value="The maximum time has been reached"/>
+ <lanstr id="STR_STOPWATCH_STOP_NOTE" value="Stopwatch stops automatically, please restart"/>
+ <lanstr id="STR_TMCHBR" value="The maximum count has been reached"/>
</language>
<lanstr id="STR_MUSIC_PLAYER_SOURCE_NOTE" value="请从手表端应用界面进入“音乐”-“音乐来源”,设置为“手机模式”后重试"/>
<lanstr id="STR_MUSIC_LIST_IS_EMPTY" value="当前音乐列表为空请通过APP下载添加"/>
<lanstr id="STR_BT_HEADSET_RESCAN" value="重新搜索"/>
- <lanstr id="STR_BT_HEADSET_NOFOND" value="å½\93å\89\8dæ\90\9cç´¢ä¸\8då\88°è\80³æ\9cºè\93\9dç\89\99设备"/>
+ <lanstr id="STR_BT_HEADSET_NOFOND" value="å½\93å\89\8dæ\90\9cç´¢ä¸\8då\88°è\93\9dç\89\99è\80³æ\9cº设备"/>
<lanstr id="STR_SCHEDULE" value="日程"/>
<lanstr id="STR_SCHEDULE_TITLE" value="日程管理"/>
<lanstr id="STR_SCHEDULE_NO_DATA" value="当前无日程"/>
<lanstr id="STR_IGNORE" value="忽略"/>
<lanstr id="STR_START" value="开始"/>
<lanstr id="STR_ARC_SCALE_LIST_DISPLAY" value="弧形列表显示"/>
+ <lanstr id="STR_COUNT_DOWN" value="倒计时"/>
+ <lanstr id="STR_CUSTOM_TIME" value="自定义时间"/>
+ <lanstr id="STR_QUICK_START" value="快速开始"/>
+ <lanstr id="STR_1_MIN" value="1分钟"/>
+ <lanstr id="STR_5_MIN" value="5分钟"/>
+ <lanstr id="STR_10_MIN" value="10分钟"/>
+ <lanstr id="STR_30_MIN" value="30分钟"/>
+ <lanstr id="STR_SET_COUNT_DOWN_NOTE" value="请先设置好倒计时间"/>
+ <lanstr id="STR_COUNTDOWN_ENDS" value="倒计时结束"/>
+ <lanstr id="STR_MAXIMUM_TIME_REACH_NOTE" value="当前已达到了最长时间"/>
+ <lanstr id="STR_STOPWATCH_STOP_NOTE" value="秒表自动暂停,请重新开始"/>
+ <lanstr id="STR_TMCHBR" value="当前已达到了最高计数"/>
</language>
STR_IGNORE = 518,\r
STR_START = 519,\r
STR_ARC_SCALE_LIST_DISPLAY = 520,\r
- STR_MAX_ID = 521,\r
+ STR_COUNT_DOWN = 521,\r
+ STR_CUSTOM_TIME = 522,\r
+ STR_QUICK_START = 523,\r
+ STR_1_MIN = 524,\r
+ STR_5_MIN = 525,\r
+ STR_10_MIN = 526,\r
+ STR_30_MIN = 527,\r
+ STR_SET_COUNT_DOWN_NOTE = 528,\r
+ STR_COUNTDOWN_ENDS = 529,\r
+ STR_MAXIMUM_TIME_REACH = 530,\r
+ STR_STOPWATCH_STOP_NOTE = 531,\r
+ STR_TMCHBR = 532,\r
+ STR_MAXIMUM_TIME_REACH_NOTE = 533,\r
+ STR_MAX_ID = 534,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {