* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-04-07 18:15:53\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-10-20 11:49:21\r
+ * @LastEditTime: 2024-10-25 17:47:51\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/countdown/src/CountDownModel.cpp\r
*/\r
#include "countdown/include/CountDownModel.h"\r
#include "uiservice/include/ui_service.h"\r
#include "AppViewIDs.h"\r
#include "NativeAbility.h"\r
+#include <custom_utils.h>\r
namespace OHOS\r
{\r
/* -------------------------------------------------------------------------- */\r
playerCtr->SetSource(*source);\r
/* --------------------------------- 4.配置播放器 -------------------------------- */\r
playerCtr->SetAudioStreamType(AUDIO_STREAM_NOTIFICATION_SYSTEM); // 设置播放器的音频流类型\r
- playerCtr->Prepare(); // 准备播放器对象以播放音频。\r
+ playerCtr->Prepare(); // 准备播放器对象以播放音频。\r
/* -------------------------------- 5.请求音频焦点 -------------------------------- */\r
AudioManager &amIntance = AudioManager::GetInstance();\r
sessionId = amIntance.MakeSessionId();\r
}\r
return false;\r
}\r
- //获取是否需要跳转到开始到计时界面\r
+ // 获取是否需要跳转到开始到计时界面\r
bool CountDownModel::GetChanageToStartCountDownView()\r
{\r
return IsChanageToStartCountDownViewFlag;\r
}\r
\r
- //设置是否需要跳转到开始到计时界面\r
+ // 设置是否需要跳转到开始到计时界面\r
void CountDownModel::SetChanageToStartCountDownView(bool val)\r
{\r
IsChanageToStartCountDownViewFlag = val;\r
return false;\r
}\r
\r
- //处理倒计时到期时的一些操作\r
+ // 处理倒计时到期时的一些操作\r
void CountDownModel::HandCountDownEndOperator(void)\r
{\r
StartCountDownView *p_StartCountDownView = StartCountDownView::GetInstance();\r
if (p_StartCountDownView)\r
{\r
CountDown_StopTimer(); // 停止定时器\r
- ScreenTurnOn(5 * 1000); // 亮屏5s\r
+ uapi_set_screen_on_api(); // 点亮屏幕\r
CountDownModel::GetInstance()->RequestStartRingtone(); // 播放铃声\r
\r
StartCountDownView::GetInstance()->GetPlayOrPauseToggleButton()->SetVisible(false);\r
*/\r
static void CountDown_TimerCallbackProc(int data)\r
{\r
- StartCountDownView *p_StartCountDownView = StartCountDownView::GetInstance();\r
- // 检查倒计时是否结束\r
- if (CountDownModel::g_CountDownTimes <= 0)\r
+ if (CountDownModel::GetInstance()->CountDownViewIsExit()) // 如果已经退出了界面定时器还在跑,就先跳转Slice\r
{\r
- if (CountDownModel::GetInstance()->CountDownViewIsExit()) // 如果已经退出了界面定时器还在跑,就先跳转Slice\r
- {\r
- CountDownModel::GetInstance()->CountDown_StopTimer(); // 停止定时器\r
- CountDownModel::GetInstance()->SetChanageToStartCountDownView(true);\r
- NativeAbility::GetInstance().EnterSlice(VIEW_MAIN_COUNTDOWN);\r
- return;\r
- }\r
- else\r
+ CountDownModel::GetInstance()->CountDown_StopTimer(); // 停止定时器\r
+ CountDownModel::GetInstance()->SetChanageToStartCountDownView(true);\r
+ NativeAbility::GetInstance().EnterSlice(VIEW_MAIN_COUNTDOWN);\r
+ }\r
+ else\r
+ {\r
+ StartCountDownView *p_StartCountDownView = StartCountDownView::GetInstance();\r
+ if (p_StartCountDownView)\r
{\r
- if (p_StartCountDownView)\r
- {\r
- CountDownModel::GetInstance()->HandCountDownEndOperator();\r
- }\r
+ CountDownModel::GetInstance()->HandCountDownEndOperator();\r
}\r
}\r
- // else\r
- // {\r
- // if (p_StartCountDownView)\r
- // {\r
- // // 更新显示\r
- // p_StartCountDownView->GetShowCountDownTimelabel()->SetText(CountDownModel::GetInstance()->DisplayCountDownDuration());\r
- // }\r
- // }\r
-\r
return;\r
}\r
\r
*/\r
static void CountDown_TimerCallback(int data)\r
{\r
- CountDownModel::g_CountDownTimes--; // 每次回调减少1秒\r
- GraphicService::GetInstance()->PostGraphicEvent(std::bind(CountDown_TimerCallbackProc, data));\r
+ CountDownModel::g_CountDownTimes--; // 每次回调减少1秒\r
+ if (CountDownModel::g_CountDownTimes <= 0) // 检查倒计时是否结束\r
+ {\r
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(CountDown_TimerCallbackProc, data));\r
+ }\r
}\r
\r
/*\r