void MainPresenterSample::Notify(void)
{
CardId cardId = view_->GetHorCurrentCard();
- if (cardId != HEART_RATE)
+
+ static CardId previousCardId = WATCH_FACE;
+
+ if (previousCardId == HEART_RATE && cardId != HEART_RATE)
{
- // 关闭心率检测
+ // 从心率卡片变为其他卡片时调用关闭心率检测的函数
HeartModel::GetInstance()->Heart_Control(HeartState::End);
}
- // 指南针卡片
- else if (cardId == COMPASS)
+
+ // 更新上一个卡片的值
+ previousCardId = cardId;
+
+ switch (cardId)
{
+ case HEART_RATE:
+ // 开启心率检测
+ HeartModel::GetInstance()->Heart_Control(HeartState::Start);
+ break;
+
+ case COMPASS:
SetCompassRotate();
- }
- // 音乐卡片
- else if (cardId == MUSIC_PLAYER)
- {
+ break;
+
+ case MUSIC_PLAYER:
SetCircleProgress();
- }
- // 主界面
- else if (cardId == WATCH_FACE)
+ break;
+
+ case WATCH_FACE:
{
DialSetting &setting = GetDialSetting();
if (setting.dialFlag)
dynamic_cast<MainClockView *>(view_->GetViewById(WATCH_FACE))->UpdateTime();
}
}
- // 心率卡片
- else if (cardId == HEART_RATE)
- {
- // 开启心率检测
- HeartModel::GetInstance()->Heart_Control(HeartState::Start);
+ break;
}
}