增加训练卡片的当前时间获取
authorCaisking <3449750381@qq.com>
Tue, 9 Apr 2024 12:14:08 +0000 (20:14 +0800)
committerCaisking <3449750381@qq.com>
Tue, 9 Apr 2024 12:14:08 +0000 (20:14 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingDataView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp

index 00571ef..d0dca05 100644 (file)
@@ -5,7 +5,6 @@
  * Create: 2021-09-11\r
  */\r
 \r
-\r
 #include "AlarmPresenter.h"\r
 #include "MainAlarmView.h"\r
 #include "ChangeSliceListener.h"\r
 #include "iostream"\r
 #include "sstream"\r
 \r
-namespace OHOS {\r
-static AlarmPresenter *g_pAlarmPresenter = nullptr;\r
-\r
-constexpr int16_t CLOSE_SWITCHES = 0;\r
-constexpr int16_t OPEN_SWITCHES = 1;\r
-constexpr int16_t SET_ZERO = 0;\r
-constexpr int16_t NEW_TIME_LISTENER = 0;\r
-constexpr int16_t SET_TIME_LISTENER = 1;\r
-constexpr uint16_t THE_FIRST_ALARM = 0;\r
-constexpr uint16_t SECOND_ALARM = 1;\r
-constexpr uint16_t THIRD_ALARM = 2;\r
-constexpr uint16_t FOURTH_ALARM = 3;\r
-constexpr uint16_t FIVE_ALARM = 4;\r
-constexpr uint16_t SIX_ALARM = 5;\r
-constexpr uint16_t UNUSED_NUM = 6;\r
-constexpr int16_t FIRST_ALARM = 0;\r
-constexpr uint8_t WEEK_BIT6 = 6;\r
-constexpr uint8_t WEEK_BIT5 = 5;\r
-constexpr uint8_t WEEK_BIT4 = 4;\r
-constexpr uint8_t WEEK_BIT3 = 3;\r
-constexpr uint8_t WEEK_BIT2 = 2;\r
-constexpr uint8_t WEEK_BIT1 = 1;\r
-constexpr uint8_t WEEK_BIT0 = 0;\r
-constexpr uint16_t ALARM_MAX_NUM = 4;\r
-constexpr int32_t BUTTON_MAX_NUM = 7;\r
-constexpr uint16_t CLOCK_NUM = 5;\r
-constexpr uint8_t CANCEL_DATA = 0;\r
-constexpr uint8_t SELECT_DATA = 1;\r
-constexpr uint8_t SLIDING_LENGTH = 30;\r
-\r
-AlarmPresenter::AlarmPresenter()\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new");\r
-    g_pAlarmPresenter = this;\r
-}\r
-\r
-AlarmPresenter::~AlarmPresenter()\r
-{\r
-    g_pAlarmPresenter = nullptr;\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::~AlarmPresenter");\r
-}\r
-\r
-ColorType AlarmPresenter::ShadowBlue()\r
+namespace OHOS\r
 {\r
-    return Color::GetColorFromRGB(0x17, 0x8F, 0xF8);\r
-}\r
+    static AlarmPresenter *g_pAlarmPresenter = nullptr;\r
+\r
+    constexpr int16_t CLOSE_SWITCHES = 0;\r
+    constexpr int16_t OPEN_SWITCHES = 1;\r
+    constexpr int16_t SET_ZERO = 0;\r
+    constexpr int16_t NEW_TIME_LISTENER = 0;\r
+    constexpr int16_t SET_TIME_LISTENER = 1;\r
+    constexpr uint16_t THE_FIRST_ALARM = 0;\r
+    constexpr uint16_t SECOND_ALARM = 1;\r
+    constexpr uint16_t THIRD_ALARM = 2;\r
+    constexpr uint16_t FOURTH_ALARM = 3;\r
+    constexpr uint16_t FIVE_ALARM = 4;\r
+    constexpr uint16_t SIX_ALARM = 5;\r
+    constexpr uint16_t UNUSED_NUM = 6;\r
+    constexpr int16_t FIRST_ALARM = 0;\r
+    constexpr uint8_t WEEK_BIT6 = 6;\r
+    constexpr uint8_t WEEK_BIT5 = 5;\r
+    constexpr uint8_t WEEK_BIT4 = 4;\r
+    constexpr uint8_t WEEK_BIT3 = 3;\r
+    constexpr uint8_t WEEK_BIT2 = 2;\r
+    constexpr uint8_t WEEK_BIT1 = 1;\r
+    constexpr uint8_t WEEK_BIT0 = 0;\r
+    constexpr uint16_t ALARM_MAX_NUM = 4;\r
+    constexpr int32_t BUTTON_MAX_NUM = 7;\r
+    constexpr uint16_t CLOCK_NUM = 5;\r
+    constexpr uint8_t CANCEL_DATA = 0;\r
+    constexpr uint8_t SELECT_DATA = 1;\r
+    constexpr uint8_t SLIDING_LENGTH = 30;\r
+\r
+    AlarmPresenter::AlarmPresenter()\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new");\r
+        g_pAlarmPresenter = this;\r
+    }\r
 \r
-void AlarmPresenter::OnStart()\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter OnStart");\r
-    Presenter<MainAlarmView>::OnStart();\r
-}\r
+    AlarmPresenter::~AlarmPresenter()\r
+    {\r
+        g_pAlarmPresenter = nullptr;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::~AlarmPresenter");\r
+    }\r
 \r
-void AlarmPresenter::OnPause(void) {}\r
+    ColorType AlarmPresenter::ShadowBlue()\r
+    {\r
+        return Color::GetColorFromRGB(0x17, 0x8F, 0xF8);\r
+    }\r
 \r
-void AlarmPresenter::OnResume(void) {}\r
+    void AlarmPresenter::OnStart()\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter OnStart");\r
+        Presenter<MainAlarmView>::OnStart();\r
+    }\r
 \r
-void AlarmPresenter::OnStop(void) {}\r
+    void AlarmPresenter::OnPause(void) {}\r
 \r
-AlarmPresenter *AlarmPresenter::GetInstance()\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter GetInstance");\r
-    return g_pAlarmPresenter;\r
-}\r
+    void AlarmPresenter::OnResume(void) {}\r
 \r
-void AlarmPresenter::OnTimePickerStoped(UITimePicker &picker)\r
-{\r
-    std::string hour(picker.GetSelectHour());\r
-    std::string minute(picker.GetSelectMinute());\r
-    timeHour = stoi(hour);\r
-    timeMin = stoi(minute);\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnTimePickerStoped the hour is %u,and the minute is %u", timeHour, timeMin);\r
-}\r
-\r
-void AlarmPresenter::OnTimePickerInaction(uint32_t hour, uint32_t min)\r
-{\r
-    timeHour = hour;\r
-    timeMin = min;\r
-}\r
+    void AlarmPresenter::OnStop(void) {}\r
 \r
-void AlarmPresenter::PlayRing(void *arg)\r
-{\r
-    UNUSED(arg);\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::playRing");\r
-}\r
-\r
-int16_t AlarmPresenter::GetInterStatus(void)\r
-{\r
-    return interListener;\r
-}\r
-\r
-void AlarmPresenter::ClickSetTime(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_TIME");\r
-    UNUSED(num);\r
-    uint32_t clockTime;\r
-    if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetTime error");\r
-        return;\r
-    }\r
-    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_TIME);\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new MainAlarmView::GetInstance() error");\r
-        return;\r
-    }\r
-    AlarmSetTimeView::GetInstance()->RefreshSetTime(clockTime);\r
-    if (AlarmSetTimeView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new AlarmSetTimeView::GetInstance() error");\r
-        return;\r
+    AlarmPresenter *AlarmPresenter::GetInstance()\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter GetInstance");\r
+        return g_pAlarmPresenter;\r
     }\r
-}\r
 \r
-void AlarmPresenter::ClickSetWeek(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_WEEK");\r
-    UNUSED(num);\r
-    uint8_t clockWeek;\r
-    if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetWeek error");\r
-        return;\r
-    }\r
-    interListener = SET_TIME_LISTENER;\r
-    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_WEEK);\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new MainAlarmView::GetInstance() error");\r
-        return;\r
-    }\r
-    memset_s(alarmWeek, sizeof(alarmWeek), 0, sizeof(alarmWeek));\r
-    AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
-    if (AlarmSetWeekView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new AlarmSetWeekView::GetInstance() error");\r
-        return;\r
+    void AlarmPresenter::OnTimePickerStoped(UITimePicker &picker)\r
+    {\r
+        std::string hour(picker.GetSelectHour());\r
+        std::string minute(picker.GetSelectMinute());\r
+        timeHour = stoi(hour);\r
+        timeMin = stoi(minute);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnTimePickerStoped the hour is %u,and the minute is %u", timeHour, timeMin);\r
     }\r
-    AlarmSetWeekView::GetInstance()->RefreshSetWeek2(clockWeek);\r
-}\r
 \r
-void AlarmPresenter::ClickAlarmClockDelete(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClockDelete");\r
-    UNUSED(num);\r
-    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_JUDGE);\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClockDelete new MainAlarmView::GetInstance() error");\r
-        return;\r
+    void AlarmPresenter::OnTimePickerInaction(uint32_t hour, uint32_t min)\r
+    {\r
+        timeHour = hour;\r
+        timeMin = min;\r
     }\r
-}\r
 \r
-void AlarmPresenter::ClickJudgeDelete(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
-    UNUSED(num);\r
-    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeDelete new MainAlarmView::GetInstance() error");\r
-        return;\r
+    void AlarmPresenter::PlayRing(void *arg)\r
+    {\r
+        UNUSED(arg);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::playRing");\r
     }\r
-}\r
 \r
-void AlarmPresenter::ClickJudgeTrue(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
-    UNUSED(num);\r
-    uint32_t clockTime;\r
-    AlarmClockModel::GetInstance()->DeleteClockModel(alarmListener);\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeTrue new MainAlarmView::GetInstance() error");\r
-        return;\r
+    int16_t AlarmPresenter::GetInterStatus(void)\r
+    {\r
+        return interListener;\r
     }\r
-    MainAlarmView::GetInstance()->RefreshAlarm();\r
-    clockQty--;\r
-    for (uint16_t alarmNum = 0; alarmNum < clockQty; alarmNum++) {\r
-        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmNum, &clockTime)) == false) {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickJudgeTrue error");\r
+\r
+    void AlarmPresenter::ClickSetTime(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_TIME");\r
+        UNUSED(num);\r
+        uint32_t clockTime;\r
+        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetTime error");\r
+            return;\r
+        }\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_TIME);\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
+        AlarmSetTimeView::GetInstance()->RefreshSetTime(clockTime);\r
+        if (AlarmSetTimeView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new AlarmSetTimeView::GetInstance() error");\r
             return;\r
         }\r
-        MainAlarmView::GetInstance()->RefreshAlarm();\r
     }\r
-    AlarmClockModel::GetInstance()->SetSerialRdc();\r
-    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
-}\r
 \r
-void AlarmPresenter::ClickAlarmTimeOk(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_OK");\r
-    UNUSED(num);\r
-    AlarmClockModel::GetInstance()->SetAlarmTime(timeHour, timeMin, alarmListener);\r
-    uint32_t clockTime = ((timeHour << 16) | timeMin); // 闹钟时间小时的存储位需要右移16位\r
-    uint8_t clockWeek;\r
-    if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmTimeOk error");\r
-        return;\r
+    void AlarmPresenter::ClickSetWeek(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_WEEK");\r
+        UNUSED(num);\r
+        uint8_t clockWeek;\r
+        if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetWeek error");\r
+            return;\r
+        }\r
+        interListener = SET_TIME_LISTENER;\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_WEEK);\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
+        memset_s(alarmWeek, sizeof(alarmWeek), 0, sizeof(alarmWeek));\r
+        AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
+        if (AlarmSetWeekView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new AlarmSetWeekView::GetInstance() error");\r
+            return;\r
+        }\r
+        AlarmSetWeekView::GetInstance()->RefreshSetWeek2(clockWeek);\r
     }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter time = %u", clockTime);\r
-    AlarmClockModel::GetInstance()->DelAlarmDelay(alarmListener);\r
 \r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new MainAlarmView::GetInstance() error");\r
-        return;\r
-    }\r
-    AlarmClockModel::GetInstance()->ButtonStatusRing(alarmListener, true);\r
-    MainAlarmView::GetInstance()->RefreshAlarm();\r
-    if (AlarmConfigView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new AlarmConfigView::GetInstance() error");\r
-        return;\r
+    void AlarmPresenter::ClickAlarmClockDelete(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClockDelete");\r
+        UNUSED(num);\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_JUDGE);\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClockDelete new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
     }\r
-    AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
-    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_TIME, CHANGE_INTERFACE_CONFIG);\r
-}\r
 \r
-void AlarmPresenter::ClickAlarmClock(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter AlarmClock1");\r
-    clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "------AlarmPresenter alarmNumbel = %u", clockQty);\r
-    setListener = SET_TIME_LISTENER;\r
-    alarmListener = num;\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmListener = %u", alarmListener);\r
-    uint32_t clockTime;\r
-    uint8_t clockWeek;\r
-    if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
-        return;\r
-    }\r
-    if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
-        return;\r
-    }\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new MainAlarmView::GetInstance() error");\r
-        return;\r
+    void AlarmPresenter::ClickJudgeDelete(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
+        UNUSED(num);\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeDelete new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
     }\r
-    MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_CONFIG);\r
-    if (AlarmConfigView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new AlarmConfigView::GetInstance() error");\r
-        return;\r
+\r
+    void AlarmPresenter::ClickJudgeTrue(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
+        UNUSED(num);\r
+        uint32_t clockTime;\r
+        AlarmClockModel::GetInstance()->DeleteClockModel(alarmListener);\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeTrue new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
+        MainAlarmView::GetInstance()->RefreshAlarm();\r
+        clockQty--;\r
+        for (uint16_t alarmNum = 0; alarmNum < clockQty; alarmNum++)\r
+        {\r
+            if ((AlarmClockModel::GetInstance()->GetClockTime(alarmNum, &clockTime)) == false)\r
+            {\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickJudgeTrue error");\r
+                return;\r
+            }\r
+            MainAlarmView::GetInstance()->RefreshAlarm();\r
+        }\r
+        AlarmClockModel::GetInstance()->SetSerialRdc();\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
     }\r
-    AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, num);\r
-}\r
 \r
-void AlarmPresenter::ClickAlarmWeekOk(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_WEEK_OK");\r
-    UNUSED(num);\r
-    uint32_t clockTime;\r
-    uint8_t clockWeek = ((alarmWeek[WEEK_BIT6] << WEEK_BIT6) | (alarmWeek[WEEK_BIT5] << WEEK_BIT5) | (alarmWeek[WEEK_BIT4] << WEEK_BIT4) |\r
-     (alarmWeek[WEEK_BIT3] << WEEK_BIT3) | (alarmWeek[WEEK_BIT2] << WEEK_BIT2) | (alarmWeek[WEEK_BIT1] << WEEK_BIT1) | alarmWeek[WEEK_BIT0]);\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk setListener = %u!", setListener);\r
-    \r
-    if (setListener == SET_TIME_LISTENER) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk set time!");\r
-        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false) {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
+    void AlarmPresenter::ClickAlarmTimeOk(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_OK");\r
+        UNUSED(num);\r
+        AlarmClockModel::GetInstance()->SetAlarmTime(timeHour, timeMin, alarmListener);\r
+        uint32_t clockTime = ((timeHour << 16) | timeMin); // 闹钟时间小时的存储位需要右移16位\r
+        uint8_t clockWeek;\r
+        if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmTimeOk error");\r
             return;\r
         }\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
-        AlarmClockModel::GetInstance()->SetAlarmWeek(clockWeek, alarmListener);\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
-        AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
-        if (MainAlarmView::GetInstance() == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter time = %u", clockTime);\r
+        AlarmClockModel::GetInstance()->DelAlarmDelay(alarmListener);\r
+\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new MainAlarmView::GetInstance() error");\r
             return;\r
         }\r
         AlarmClockModel::GetInstance()->ButtonStatusRing(alarmListener, true);\r
         MainAlarmView::GetInstance()->RefreshAlarm();\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, CHANGE_INTERFACE_CONFIG);\r
-    } else if (setListener == NEW_TIME_LISTENER) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk new time!");\r
-        clockQty++;\r
-        alarmListener = clockQty;\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "******************ClickAlarmWeekOk  alarmListener = %d***************", alarmListener);\r
-        AlarmClockModel::GetInstance()->SetSerialAdd();\r
-        AlarmClockModel::GetInstance()->SetAlarmInfo(timeHour, timeMin, clockWeek, alarmListener, setListener);\r
-        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false) {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
+        if (AlarmConfigView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new AlarmConfigView::GetInstance() error");\r
             return;\r
         }\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
-        if (MainAlarmView::GetInstance() == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
+        AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_TIME, CHANGE_INTERFACE_CONFIG);\r
+    }\r
+\r
+    void AlarmPresenter::ClickAlarmClock(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter AlarmClock1");\r
+        clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "------AlarmPresenter alarmNumbel = %u", clockQty);\r
+        setListener = SET_TIME_LISTENER;\r
+        alarmListener = num;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmListener = %u", alarmListener);\r
+        uint32_t clockTime;\r
+        uint8_t clockWeek;\r
+        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
             return;\r
         }\r
-        MainAlarmView::GetInstance()->RefreshAlarm();\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, MAIN_INTERFACE);\r
+        if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
+            return;\r
+        }\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
+        MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_CONFIG);\r
+        if (AlarmConfigView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new AlarmConfigView::GetInstance() error");\r
+            return;\r
+        }\r
+        AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, num);\r
     }\r
-}\r
 \r
-void AlarmPresenter::ClickAlarmNewTime(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEW_TIME");\r
-    clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmNumbel = %u", clockQty);\r
-    UNUSED(num);\r
-    if (clockQty >= ALARM_MAX_NUM) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new alarm max");\r
-        MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_MAXCLOCK);\r
-        return;\r
-    }\r
-    setListener = NEW_TIME_LISTENER;\r
-    timeHour = 0;\r
-    timeMin = 0;\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new MainAlarmView::GetInstance() error");\r
-        return;\r
-    }\r
-    MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_NEW_TIME);\r
-    if (AlarmNewTimeView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new AlarmNewTimeView::GetInstance() error");\r
-        return;\r
+    void AlarmPresenter::ClickAlarmWeekOk(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_WEEK_OK");\r
+        UNUSED(num);\r
+        uint32_t clockTime;\r
+        uint8_t clockWeek = ((alarmWeek[WEEK_BIT6] << WEEK_BIT6) | (alarmWeek[WEEK_BIT5] << WEEK_BIT5) | (alarmWeek[WEEK_BIT4] << WEEK_BIT4) |\r
+                             (alarmWeek[WEEK_BIT3] << WEEK_BIT3) | (alarmWeek[WEEK_BIT2] << WEEK_BIT2) | (alarmWeek[WEEK_BIT1] << WEEK_BIT1) | alarmWeek[WEEK_BIT0]);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk setListener = %u!", setListener);\r
+\r
+        if (setListener == SET_TIME_LISTENER)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk set time!");\r
+            if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
+            {\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
+                return;\r
+            }\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
+            AlarmClockModel::GetInstance()->SetAlarmWeek(clockWeek, alarmListener);\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
+            AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
+            if (MainAlarmView::GetInstance() == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
+                return;\r
+            }\r
+            AlarmClockModel::GetInstance()->ButtonStatusRing(alarmListener, true);\r
+            MainAlarmView::GetInstance()->RefreshAlarm();\r
+            MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, CHANGE_INTERFACE_CONFIG);\r
+        }\r
+        else if (setListener == NEW_TIME_LISTENER)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk new time!");\r
+            clockQty++;\r
+            alarmListener = clockQty;\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "******************ClickAlarmWeekOk  alarmListener = %d***************", alarmListener);\r
+            AlarmClockModel::GetInstance()->SetSerialAdd();\r
+            AlarmClockModel::GetInstance()->SetAlarmInfo(timeHour, timeMin, clockWeek, alarmListener, setListener);\r
+            if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
+            {\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
+                return;\r
+            }\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
+            if (MainAlarmView::GetInstance() == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
+                return;\r
+            }\r
+            MainAlarmView::GetInstance()->RefreshAlarm();\r
+            MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, MAIN_INTERFACE);\r
+        }\r
     }\r
-    AlarmNewTimeView::GetInstance()->RefreshNewTime();\r
-}\r
 \r
-void AlarmPresenter::ClickAlarmNext(uint16_t num)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEXT");\r
-    UNUSED(num);\r
-    for (int i = 0; i < BUTTON_MAX_NUM; i++) {\r
-        alarmWeek[i] = 0;\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[%d] = %u", i, alarmWeek[i]);\r
-    }\r
-    interListener = NEW_TIME_LISTENER;\r
-    if (MainAlarmView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new MainAlarmView::GetInstance() error");\r
-        return;\r
-    }\r
-    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_NEW_TIME, CHANGE_INTERFACE_SET_WEEK);\r
-    if (AlarmNewTimeView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmNewTimeView::GetInstance() error");\r
-        return;\r
-    }\r
-    if (AlarmSetWeekView::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmSetWeekView::GetInstance() error");\r
-        return;\r
+    void AlarmPresenter::ClickAlarmNewTime(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEW_TIME");\r
+        clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmNumbel = %u", clockQty);\r
+        UNUSED(num);\r
+        if (clockQty >= ALARM_MAX_NUM)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new alarm max");\r
+            MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_MAXCLOCK);\r
+            return;\r
+        }\r
+        setListener = NEW_TIME_LISTENER;\r
+        timeHour = 0;\r
+        timeMin = 0;\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
+        MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_NEW_TIME);\r
+        if (AlarmNewTimeView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new AlarmNewTimeView::GetInstance() error");\r
+            return;\r
+        }\r
+        AlarmNewTimeView::GetInstance()->RefreshNewTime();\r
     }\r
-    AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
-}\r
 \r
-bool AlarmPresenter::OnDrag(UIView& view, const DragEvent& event)\r
-{\r
-    if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) {\r
-        int16_t deltaX;\r
-        int16_t deltaY;\r
-        deltaX = event.GetDeltaX();\r
-        deltaY = event.GetDeltaY();\r
-        if (MATH_ABS(deltaX) >= MATH_ABS(deltaY) && MATH_ABS(deltaX) > SLIDING_LENGTH) {\r
-            MainAlarmView::GetInstance()->DropView(view);\r
+    void AlarmPresenter::ClickAlarmNext(uint16_t num)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEXT");\r
+        UNUSED(num);\r
+        for (int i = 0; i < BUTTON_MAX_NUM; i++)\r
+        {\r
+            alarmWeek[i] = 0;\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[%d] = %u", i, alarmWeek[i]);\r
         }\r
+        interListener = NEW_TIME_LISTENER;\r
+        if (MainAlarmView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new MainAlarmView::GetInstance() error");\r
+            return;\r
+        }\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_NEW_TIME, CHANGE_INTERFACE_SET_WEEK);\r
+        if (AlarmNewTimeView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmNewTimeView::GetInstance() error");\r
+            return;\r
+        }\r
+        if (AlarmSetWeekView::GetInstance() == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmSetWeekView::GetInstance() error");\r
+            return;\r
+        }\r
+        AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
     }\r
-    return true;\r
-}\r
-\r
-struct AlarmPresentMapper1 {\r
-    const char *viewId;\r
-    void (AlarmPresenter::*func)(uint16_t);\r
-};\r
-\r
-static const AlarmPresentMapper1 PresentMapper[] = {\r
-    {SET_TIME, &AlarmPresenter::ClickSetTime},\r
-    {SET_WEEK, &AlarmPresenter::ClickSetWeek},\r
-    {ALARM_CLOCK_DELETE, &AlarmPresenter::ClickAlarmClockDelete},\r
-    {JUDGE_DELETE, &AlarmPresenter::ClickJudgeDelete},\r
-    {JUDGE_TRUE, &AlarmPresenter::ClickJudgeTrue},\r
-    {ALARM_OK, &AlarmPresenter::ClickAlarmTimeOk},\r
-    {ADD_BUTTON, &AlarmPresenter::ClickAlarmNewTime},\r
-    {ALARM_NEXT, &AlarmPresenter::ClickAlarmNext},\r
-    {ALARM_WEEK_OK, &AlarmPresenter::ClickAlarmWeekOk},\r
-    {ALARM_CLOCK[THE_FIRST_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-    {ALARM_CLOCK[SECOND_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-    {ALARM_CLOCK[THIRD_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-    {ALARM_CLOCK[FOURTH_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-    {ALARM_CLOCK[FIVE_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-    {ALARM_CLOCK[SIX_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-};\r
-\r
-bool AlarmPresenter::ClickFuncId(const char *buttonName)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "buttonName = %s", buttonName);\r
-    uint16_t num;\r
-    for (uint16_t i = 0; i < sizeof(PresentMapper) / sizeof(PresentMapper[0]); i++) {\r
-        for (num = 0; num < CLOCK_NUM; num++) {\r
-            if (strcmp(buttonName, ALARM_CLOCK[num]) == 0) {\r
-                break;\r
+\r
+    bool AlarmPresenter::OnDrag(UIView &view, const DragEvent &event)\r
+    {\r
+        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+        {\r
+            int16_t deltaX;\r
+            int16_t deltaY;\r
+            deltaX = event.GetDeltaX();\r
+            deltaY = event.GetDeltaY();\r
+            if (MATH_ABS(deltaX) >= MATH_ABS(deltaY) && MATH_ABS(deltaX) > SLIDING_LENGTH)\r
+            {\r
+                MainAlarmView::GetInstance()->DropView(view);\r
             }\r
         }\r
-        if (strcmp(buttonName, PresentMapper[i].viewId) == 0) {\r
-            (this->*(PresentMapper[i].func))(num);\r
-            return true;\r
+        return true;\r
+    }\r
+\r
+    struct AlarmPresentMapper1\r
+    {\r
+        const char *viewId;\r
+        void (AlarmPresenter::*func)(uint16_t);\r
+    };\r
+\r
+    static const AlarmPresentMapper1 PresentMapper[] = {\r
+        {SET_TIME, &AlarmPresenter::ClickSetTime},\r
+        {SET_WEEK, &AlarmPresenter::ClickSetWeek},\r
+        {ALARM_CLOCK_DELETE, &AlarmPresenter::ClickAlarmClockDelete},\r
+        {JUDGE_DELETE, &AlarmPresenter::ClickJudgeDelete},\r
+        {JUDGE_TRUE, &AlarmPresenter::ClickJudgeTrue},\r
+        {ALARM_OK, &AlarmPresenter::ClickAlarmTimeOk},\r
+        {ADD_BUTTON, &AlarmPresenter::ClickAlarmNewTime},\r
+        {ALARM_NEXT, &AlarmPresenter::ClickAlarmNext},\r
+        {ALARM_WEEK_OK, &AlarmPresenter::ClickAlarmWeekOk},\r
+        {ALARM_CLOCK[THE_FIRST_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+        {ALARM_CLOCK[SECOND_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+        {ALARM_CLOCK[THIRD_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+        {ALARM_CLOCK[FOURTH_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+        {ALARM_CLOCK[FIVE_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+        {ALARM_CLOCK[SIX_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+    };\r
+\r
+    bool AlarmPresenter::ClickFuncId(const char *buttonName)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "buttonName = %s", buttonName);\r
+        uint16_t num;\r
+        for (uint16_t i = 0; i < sizeof(PresentMapper) / sizeof(PresentMapper[0]); i++)\r
+        {\r
+            for (num = 0; num < CLOCK_NUM; num++)\r
+            {\r
+                if (strcmp(buttonName, ALARM_CLOCK[num]) == 0)\r
+                {\r
+                    break;\r
+                }\r
+            }\r
+            if (strcmp(buttonName, PresentMapper[i].viewId) == 0)\r
+            {\r
+                (this->*(PresentMapper[i].func))(num);\r
+                return true;\r
+            }\r
         }\r
+        return false;\r
     }\r
-    return false;\r
-}\r
 \r
-bool AlarmPresenter::ClickFuncView(UIView &view)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickFuncView view = %s", view.GetViewId());\r
-    for (int num = 0; num < BUTTON_MAX_NUM; num++) {\r
-        if (strcmp(view.GetViewId(), WEEK_CONTAINER[num]) == 0) {\r
-            alarmWeek[num] = alarmWeek[num] ? CANCEL_DATA: SELECT_DATA;\r
-            if (alarmWeek[num] == CANCEL_DATA) {\r
-                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
-                view.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
-                dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
-                                                                Color::Black().full, UIButton::PRESSED);\r
-            } else if (alarmWeek[num] == SELECT_DATA) {\r
-                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
-                view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full);\r
-                dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
-                                                                Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full, UIButton::PRESSED);\r
+    bool AlarmPresenter::ClickFuncView(UIView &view)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickFuncView view = %s", view.GetViewId());\r
+        for (int num = 0; num < BUTTON_MAX_NUM; num++)\r
+        {\r
+            if (strcmp(view.GetViewId(), WEEK_CONTAINER[num]) == 0)\r
+            {\r
+                alarmWeek[num] = alarmWeek[num] ? CANCEL_DATA : SELECT_DATA;\r
+                if (alarmWeek[num] == CANCEL_DATA)\r
+                {\r
+                    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
+                    view.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+                    dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
+                                                                    Color::Black().full, UIButton::PRESSED);\r
+                }\r
+                else if (alarmWeek[num] == SELECT_DATA)\r
+                {\r
+                    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
+                    view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full);\r
+                    dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
+                                                                    Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full, UIButton::PRESSED);\r
+                }\r
             }\r
         }\r
+        view.Invalidate();\r
+        return true;\r
     }\r
-    view.Invalidate();\r
-    return true;\r
-}\r
 \r
-bool AlarmPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
-{\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnKeyAct");\r
+    bool AlarmPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnKeyAct");\r
+#if 0\r
     uint16 keyID = event.GetKeyId();\r
     // 如果是power键就返回上一级\r
     if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
@@ -439,25 +484,29 @@ bool AlarmPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
         uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
         NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
     }\r
-    return true;\r
-}\r
-\r
-bool AlarmPresenter::OnClick(UIView &view, const ClickEvent &event)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnClick ");\r
-    bool jug = ClickFuncId(view.GetViewId());\r
-    if (jug == false) {\r
-        ClickFuncView(view);\r
+#endif\r
+        return true;\r
     }\r
-    return true;\r
-}\r
 \r
-bool AlarmStatusBtnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
-{\r
-    if (MainAlarmView::GetInstance()->GetRefreshStatus() == true) {\r
+    bool AlarmPresenter::OnClick(UIView &view, const ClickEvent &event)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnClick ");\r
+        bool jug = ClickFuncId(view.GetViewId());\r
+        if (jug == false)\r
+        {\r
+            ClickFuncView(view);\r
+        }\r
         return true;\r
     }\r
-    switch (state) {\r
+\r
+    bool AlarmStatusBtnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
+    {\r
+        if (MainAlarmView::GetInstance()->GetRefreshStatus() == true)\r
+        {\r
+            return true;\r
+        }\r
+        switch (state)\r
+        {\r
         case UICheckBox::SELECTED:\r
             AlarmClockModel::GetInstance()->ButtonStatusRing(alarmStatusNum, true);\r
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmStatusBtnChangeListener::OnChange true");\r
@@ -469,8 +518,8 @@ bool AlarmStatusBtnChangeListener::OnChange(UICheckBox::UICheckBoxState state)
             break;\r
         default:\r
             break;\r
+        }\r
+        return true;\r
     }\r
-    return true;\r
-}\r
 \r
 }
\ No newline at end of file
index 536bc5c..f89c87f 100644 (file)
@@ -55,6 +55,14 @@ struct QuickTraining
           training2_Image(OHOS::RIDING_60_IMAGE),
           training3_Image(OHOS::RUNNING_60_IMAGE) {}
 };
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct Trainingdata_hard
+{
+    uint32_t num;
+};
 /*
 "src":0,
 "ty":0,
@@ -69,14 +77,6 @@ struct QuickTraining
 "hr":127,
 "stp":10000
 */
-#ifdef __cplusplus
-extern "C" {
-#endif
-struct Trainingdata_hard
-{
-    uint32_t num;
-};
-
 struct Trainingdata
 {
     //0:手表开启的训练1:APP开启的训练
@@ -116,7 +116,6 @@ Trainingdata *read_Trainingdata_data(uint32_t timedata,uint16_t offset);
 
 int write_Trainingdata_data(Trainingdata data);
 
-
 #ifdef __cplusplus
 }
 #endif
index 54a840c..f4c0623 100644 (file)
 #define TIMER 1
 #define CHECK 0
 #define HARD_OFF 1
-#define TRAINING_PATH "user/userdata/"
+#define TRAINING_PATH "user/userdata/sportdata/"
 namespace OHOS
 {
-
-// struct Trainingdata_hard
-// {
-//     uint32_t st;
-//     uint32_t num;
-// };
-
-// struct Trainingdata
-// {
-//     //0:手表开启的训练1:APP开启的训练
-//     uint32_t src;
-//     //0:健身类1:舞蹈类2:休闲运动3:球类4:水上项目5:冰上项目6:极限运动 7:其他
-//     uint32_t bt;
-//     //训练类型0:健走1:跑步2:骑行
-//     uint32_t ty;
-//     //开始时间戳
-//     uint32_t st;
-//     //结束时间戳
-//     uint32_t sp;
-//     //训练目标类型
-//     uint32_t tgt;
-//     //训练目标
-//     uint32_t tg;
-//     //目标完成度
-//     uint32_t pg;
-//     //训练时长
-//     uint32_t du;
-//     //卡路里
-//     uint32_t ca;
-//     //距离
-//     uint32_t di;
-//     //平均心率
-//     uint32_t hr;
-//     //步数
-//     uint32_t stp;
-//     //训练强度
-//     uint32_t ti;
-//     //圈数
-//     uint32_t cir;
-//     //最高海拔高度
-//     uint32_t alt;
-// };
 #ifdef __cplusplus
-extern "C" {
-#endif
-    //处理数据头
-    static void write_Trainingdata_hard_data(uint32_t data)
+    extern "C"
     {
-        char file_path[128]={0};
-        sprintf(file_path,"%shard_%d.bin",TRAINING_PATH,data);
-
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",file_path);
-        FILE *fp= fopen(file_path,"rb+");
-        Trainingdata_hard hard;
-        int ret=0;
-        if(fp==NULL)
-        {
-            hard.num=0;
-            fp= fopen(file_path,"wb+");
-        }
-        else
+#endif
+        // 处理数据头
+        static void write_Trainingdata_hard_data(uint32_t data)
         {
-            ret=fread((void *)&hard,sizeof(Trainingdata_hard),1,fp);
-        }
-
-        fseek(fp, 0, SEEK_SET);
-        fclose(fp);
-
-        fp= fopen(file_path,"wb+");
-        hard.num++;
-        ret=fwrite((void *)&hard,sizeof(Trainingdata_hard),1,fp);
-        fseek(fp, 0, SEEK_SET);
-        fclose(fp);
-    }
-    //获得数据个数
-    static int get_Trainingdata_data_num(uint32_t data)
-    {
+            char file_path[128] = {0};
+            sprintf(file_path, "%shard_%d.bin", TRAINING_PATH, data);
+
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s", file_path);
+            FILE *fp = fopen(file_path, "rb+");
+            Trainingdata_hard hard;
+            int ret = 0;
+            if (fp == NULL)
+            {
+                hard.num = 0;
+                fp = fopen(file_path, "wb+");
+            }
+            else
+            {
+                ret = fread((void *)&hard, sizeof(Trainingdata_hard), 1, fp);
+            }
 
-        char file_path[128]={0};
-        sprintf(file_path,"%shard_%d.bin",TRAINING_PATH,data);
+            fseek(fp, 0, SEEK_SET);
+            fclose(fp);
 
-        FILE *fp= fopen(file_path,"ab");
-        if(fp==NULL)
-        {
-            return 0xffffff;
+            fp = fopen(file_path, "wb+");
+            hard.num++;
+            ret = fwrite((void *)&hard, sizeof(Trainingdata_hard), 1, fp);
+            fseek(fp, 0, SEEK_SET);
+            fclose(fp);
         }
-        fseek(fp,0,SEEK_SET);
-        Trainingdata_hard hard;
-        int ret=fread((void *)&hard,sizeof(Trainingdata_hard),1,fp);
-        fseek(fp, 0, SEEK_SET);
-        fclose(fp);
-        return hard.num;
+        // 获得数据个数
+        static int get_Trainingdata_data_num(uint32_t data)
+        {
 
-    }
+            char file_path[128] = {0};
+            sprintf(file_path, "%shard_%d.bin", TRAINING_PATH, data);
 
-    //写数据
-    int write_Trainingdata_data(Trainingdata data)
-    {
-        uint64_t time;
-        uapi_get_timestampe_ms(&time);
-        uint32_t timeday = time/1000/60/60/12;
-        char file_path[128]={0};
-        sprintf(file_path,"%s%d.bin",TRAINING_PATH,timeday);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",file_path);
-        write_Trainingdata_hard_data(timeday);
-        FILE *fp= fopen(file_path,"ab");
-        if(fp==NULL)
-        {
-            fopen(file_path,"wb+");
+            FILE *fp = fopen(file_path, "ab");
+            if (fp == NULL)
+            {
+                return 0xffffff;
+            }
+            fseek(fp, 0, SEEK_SET);
+            Trainingdata_hard hard;
+            int ret = fread((void *)&hard, sizeof(Trainingdata_hard), 1, fp);
+            fseek(fp, 0, SEEK_SET);
+            fclose(fp);
+            return hard.num;
         }
-        #if HARD_OFF
-        int ret=0;
-        
-        ret=fwrite((void *)&data,sizeof(Trainingdata),1,fp);
-        if(ret!=1)
+
+        // 写数据
+        int write_Trainingdata_data(Trainingdata data)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "2 fwrite_data %d",ret);
-        }
+            uint64_t time;
+            uapi_get_timestampe_ms(&time);
+            uint32_t timeday = time / 1000 / 60 / 60 / 12;
+            char file_path[128] = {0};
+            sprintf(file_path, "%s%d.bin", TRAINING_PATH, timeday);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s", file_path);
+            write_Trainingdata_hard_data(timeday);
+            FILE *fp = fopen(file_path, "ab");
+            if (fp == NULL)
+            {
+                fopen(file_path, "wb+");
+            }
+#if HARD_OFF
+            int ret = 0;
 
-        
-        #else
-        if(fp==NULL)
+            ret = fwrite((void *)&data, sizeof(Trainingdata), 1, fp);
+            if (ret != 1)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "2 fwrite_data %d", ret);
+            }
+#else
+        if (fp == NULL)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "file is NULL");
         }
-        Trainingdata_hard hard={0};
-        fseek(fp,0,SEEK_SET);
-        int ret=fread((void *)&hard,sizeof(Trainingdata_hard),1,fp);
+        Trainingdata_hard hard = {0};
+        fseek(fp, 0, SEEK_SET);
+        int ret = fread((void *)&hard, sizeof(Trainingdata_hard), 1, fp);
 
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hard num %d",hard.num);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fread %d",ret);
-        if(ret==0)
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hard num %d", hard.num);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fread %d", ret);
+        if (ret == 0)
         {
-            hard.num=1;
-            hard.st=timeday;
-            fseek(fp,0,SEEK_SET);
-            ret=fwrite((void *)&hard,sizeof(Trainingdata_hard),1,fp);
+            hard.num = 1;
+            hard.st = timeday;
+            fseek(fp, 0, SEEK_SET);
+            ret = fwrite((void *)&hard, sizeof(Trainingdata_hard), 1, fp);
 
-            if(ret!=1)
+            if (ret != 1)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fwrite_hard %d",ret);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fwrite_hard %d", ret);
             }
-            
-            ret=fwrite((void *)&data,sizeof(Trainingdata),1,fp);
-            if(ret!=1)
+
+            ret = fwrite((void *)&data, sizeof(Trainingdata), 1, fp);
+            if (ret != 1)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "1 fwrite_data %d",ret);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "1 fwrite_data %d", ret);
             }
         }
         else
         {
-            ret=fseek(fp,8,SEEK_END);
-            if(ret!=0)
+            ret = fseek(fp, 8, SEEK_END);
+            if (ret != 0)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fseek %d",ret);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fseek %d", ret);
             }
             hard.num++;
-            ret=fwrite((void *)&(hard),sizeof(Trainingdata_hard),1,fp);
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hard num %d",hard.num);
-            if(ret)
+            ret = fwrite((void *)&(hard), sizeof(Trainingdata_hard), 1, fp);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hard num %d", hard.num);
+            if (ret)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fwrite_hard %d",ret);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fwrite_hard %d", ret);
             }
 
-            fseek(fp,0,SEEK_END);
+            fseek(fp, 0, SEEK_END);
             // fclose(fp);
 
             // fp= fopen(file_path,"ab+");
-            ret=fwrite((void *)&data,sizeof(Trainingdata),1,fp);
-            if(ret!=1)
+            ret = fwrite((void *)&data, sizeof(Trainingdata), 1, fp);
+            if (ret != 1)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "2 fwrite_data %d",ret);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "2 fwrite_data %d", ret);
             }
         }
-        #endif
-
-        fseek(fp, 0, SEEK_SET);
-        fclose(fp);
-        return 1;
-    }
-//读数据
-Trainingdata *read_Trainingdata_data(uint32_t timedata,uint16_t offset)
-{   
-    char file_path[128]={0};
-    sprintf(file_path,"%s%d.bin",TRAINING_PATH,timedata);
+#endif
 
-    FILE *fp= fopen(file_path,"rb+");
-    Trainingdata* data=(Trainingdata*)malloc(sizeof(Trainingdata));
-    if(fp==NULL || get_Trainingdata_data_num(timedata)<offset)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "file is NULL %d",get_Trainingdata_data_num(timedata));
-        return NULL;
-    }
-    #if HARD_OFF
-    fseek(fp,sizeof(Trainingdata)*offset,SEEK_SET);
-    fread((void *)data,sizeof(Trainingdata),1,fp); 
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d",data->src);
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d %d ",offset,sizeof(Trainingdata));
-    #else
-    fseek(fp,0,SEEK_SET);
-    Trainingdata_hard hard;
-    int ret=fread((void *)&hard,sizeof(Trainingdata_hard),1,fp);
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hard num %d",hard.num);
-    if(ret==0)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "file is NULL");
-       return NULL;
+            fseek(fp, 0, SEEK_SET);
+            fclose(fp);
+            return 1;
+        }
+        // 读数据
+        Trainingdata *read_Trainingdata_data(uint32_t timedata, uint16_t offset)
+        {
+            char file_path[128] = {0};
+            sprintf(file_path, "%s%d.bin", TRAINING_PATH, timedata);
 
-    }
-    else
-    {
-        fread((void *)data,sizeof(Trainingdata),1,fp);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d",data->src);
-    }
-    #endif
-    fseek(fp, 0, SEEK_SET);
-    fclose(fp);
-    return data;
-}
+            FILE *fp = fopen(file_path, "rb+");
+            Trainingdata *data = (Trainingdata *)malloc(sizeof(Trainingdata));
+            if (fp == NULL || get_Trainingdata_data_num(timedata) < offset)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "file is NULL %d", get_Trainingdata_data_num(timedata));
+                return NULL;
+            }
+#if HARD_OFF
+            fseek(fp, sizeof(Trainingdata) * offset, SEEK_SET);
+            fread((void *)data, sizeof(Trainingdata), 1, fp);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d", data->src);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d %d ", offset, sizeof(Trainingdata));
+#else
+        fseek(fp, 0, SEEK_SET);
+        Trainingdata_hard hard;
+        int ret = fread((void *)&hard, sizeof(Trainingdata_hard), 1, fp);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hard num %d", hard.num);
+        if (ret == 0)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "file is NULL");
+            return NULL;
+        }
+        else
+        {
+            fread((void *)data, sizeof(Trainingdata), 1, fp);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d", data->src);
+        }
+#endif
+            fseek(fp, 0, SEEK_SET);
+            fclose(fp);
+            return data;
+        }
 #ifdef __cplusplus
-}
+    }
 #endif
 
-
 #if TIMER
     // 声明定时器变量
     static osTimerId_t g_startCounting = NULL; // 定时器
index 9ac2030..6115d70 100644 (file)
@@ -14,6 +14,7 @@
 #include "TraingCardView.h"\r
 #include "traing/training_card/include/TrainingControlView.h"\r
 #include "traing/training_card/include/TrainingDataView.h"\r
+#include "ModelListenerSample.h"\r
 namespace OHOS\r
 {\r
     class TraingCardView;\r
@@ -21,7 +22,8 @@ namespace OHOS
     class TrainingDataView;\r
     class TraingCardPresenter : public Presenter<TraingCardView>,\r
                                 public UIView::OnClickListener,\r
-                                public UIView::OnDragListener\r
+                                public UIView::OnDragListener,\r
+                                public ModelListenerSample\r
     {\r
     public:\r
         TraingCardPresenter();\r
@@ -31,6 +33,8 @@ namespace OHOS
         void OnPause() override;\r
         void OnResume() override;\r
         void OnStop() override;\r
+        virtual void Notify() override;\r
+\r
         static TraingCardPresenter *GetInstance();\r
 \r
         void ModifiesTime();\r
index 44d55b7..7fd16b2 100644 (file)
@@ -42,6 +42,7 @@ namespace OHOS
         void PreLoad(void) override;
         void UnLoad(void) override;
         UILabelExt *GetTimeLabel();
+        void UpdataTime();
 
     private:
         UIView::OnDragListener *draglistener{nullptr};
index d70b5ec..2787f0e 100644 (file)
@@ -123,4 +123,9 @@ namespace OHOS
             TrainingDataView::GetInstance()->GetTimeLabel()->SetText(TimeStr.c_str());\r
         }\r
     }\r
+\r
+    void TraingCardPresenter::Notify(void)\r
+    {\r
+        TrainingDataView::GetInstance()->UpdataTime();\r
+    }\r
 }\r
index a4e665a..c916ea0 100644 (file)
@@ -11,7 +11,9 @@
 #include "components/ui_button.h"
 #include "traing/include/TraingModel.h"
 #include "traing/Training_UiConfig.h"
-
+#include "string"
+#include <chrono>
+#include <thread>
 namespace OHOS
 {
 
@@ -66,7 +68,6 @@ namespace OHOS
         Add(imagepoint);
     }
 
-    /******************************************************************************************************/
     UILabelExt *TrainingControlView::GetLabel()
     {
         return labelstop;
@@ -76,7 +77,6 @@ namespace OHOS
     {
         return buttonStop;
     }
-    /******************************************************************************************************/
 
     /* DeInit:删除组件 */
     void TrainingControlView::DeInit()
index b43cdd1..02f93db 100644 (file)
@@ -136,5 +136,21 @@ namespace OHOS
     {
         return timerlabel;
     }
+    /*更新当前时间*/
+    void TrainingDataView::UpdataTime()
+    {
+        // 获取当前时间
+        struct tm pTM;
+        time_t seconds;
+        time(&seconds);
+        localtime_r(&seconds, &pTM);
+
+        // 解析时间
+        int hour = pTM.tm_hour;
+        int minute = pTM.tm_min;
 
+        // 将时间和日期转换为字符串
+        std::string stringtime = (hour < 10 ? "0" : "") + std::to_string(hour) + ":" + (minute < 10 ? "0" : "") + std::to_string(minute);
+        curtimelabel->SetText(stringtime.c_str());
+    }
 }