删除喝水提醒弹窗的多余代码
authorluozheng <1732036298@qq.com>
Thu, 18 Jul 2024 03:49:43 +0000 (11:49 +0800)
committerluozheng <1732036298@qq.com>
Thu, 18 Jul 2024 03:49:43 +0000 (11:49 +0800)
code/sdk/application/wearable/service/msg_center/include/notify/drinkReminder_notification.h
code/sdk/application/wearable/service/msg_center/src/notify/drinkReminder_notification.cpp

index 0b9f335..f9c7bd0 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-06-12 11:44:04
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-16 17:08:00
+ * @LastEditTime: 2024-07-18 11:46:35
  * @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/include/notify/drinkReminder_notification.h
  */
 #ifndef DRINKREMINDER_NOTIFICATION
@@ -22,15 +22,6 @@ namespace OHOS
         bool OnDrag(UIView &view, const DragEvent &event) override;
         bool OnDragEnd(UIView &view, const DragEvent &event) override;
 
-        void SetDrinkReminderTopic(uint16_t topic);
-        uint16_t GetDrinkReminderTopic(void);
-        bool IsDrinkReminderTimerOpen(void);
-        int DrinkReminderOpenState(void);
-        uint32_t GetDrinkReminderIntervalTime(void);
-        bool IsDrinkReminderTime(void);
-        void DrinkReminder_StartTimer();
-        void DrinkReminder_StopTimer(void);
-
         void set_screen_on_and_vibration(void);
 
     private:
@@ -39,9 +30,6 @@ namespace OHOS
         DrinkReminderViewEventListener(const DrinkReminderViewEventListener &) = delete;
         const DrinkReminderViewEventListener &operator=(const DrinkReminderViewEventListener &) = delete;
         bool X_DRAG_FLAG{false};
-        int frequency{0};
-        uint16_t drinkReminderTopic;
-        bool timerOpen{false}; // 定时器是否开启
     };
 
 }
index a951494..34bbb19 100644 (file)
@@ -30,21 +30,14 @@ namespace OHOS
     static constexpr const char *DRINKREMINDERGROUPVIEWID = "DrinkReminderGroupview";
     static constexpr const char *DRINKREMINDERBUTTONVIEWID = "DrinkReminderButton";
 
-    // 声明定时器变量
-    static osTimerId_t g_timer = NULL;
-    static constexpr const uint32_t HALF_HOUR = 30 * 60 * 1000;      // 半小时
-    static constexpr const uint32_t ONE_HOUR = 1 * 60 * 60 * 1000;   // 1小时
-    static constexpr const uint32_t TWO_HOUR = 2 * 60 * 60 * 1000;   // 2小时
-    static constexpr const uint32_t THREE_HOUR = 3 * 60 * 60 * 1000; // 3小时
-
     DrinkReminderViewEventListener::DrinkReminderViewEventListener()
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::DrinkReminderViewEventListener");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::DrinkReminderViewEventListener");
     }
 
     DrinkReminderViewEventListener::~DrinkReminderViewEventListener()
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::~DrinkReminderViewEventListener");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::~DrinkReminderViewEventListener");
     }
 
     DrinkReminderViewEventListener &DrinkReminderViewEventListener::GetInstance()
@@ -55,7 +48,7 @@ namespace OHOS
 
     bool DrinkReminderViewEventListener::OnRelease(UIView &view, const ReleaseEvent &event)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::OnRelease");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::OnRelease");
         UNUSED(event);
         std::string viewId = view.GetViewId();
         if (viewId == DRINKREMINDERBUTTONVIEWID)
@@ -99,193 +92,6 @@ namespace OHOS
         uapi_vibrationModeSet(ConfigModel::GetInstance()->GetVibrationReminder());
     }
 
-    void DrinkReminderViewEventListener::SetDrinkReminderTopic(uint16_t topic)
-    {
-        drinkReminderTopic = topic;
-    }
-
-    uint16_t DrinkReminderViewEventListener::GetDrinkReminderTopic(void)
-    {
-        return drinkReminderTopic;
-    }
-
-    /*获取定时器是否开启*/
-    bool DrinkReminderViewEventListener::IsDrinkReminderTimerOpen(void)
-    {
-        return timerOpen;
-    }
-
-    /*久坐提醒是否开启,(0:关闭,1:开启 [每天一次]) 2为间隔提醒*/
-    int DrinkReminderViewEventListener::DrinkReminderOpenState(void)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::DrinkReminderOpenState");
-        int state = ConfigModel::GetInstance()->GetDrinkSwitch();
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "state = %d", state);
-        return state;
-    }
-
-    /*获取喝水提醒的间隔时间*/
-    uint32_t DrinkReminderViewEventListener::GetDrinkReminderIntervalTime(void)
-    {
-        // 添加日志输出,用于调试
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::GetDrinkReminderIntervalTime");
-
-        // 获取频率前先进行错误处理
-        ConfigModel *config = ConfigModel::GetInstance();
-        if (!config)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::GetInstance() returned nullptr");
-            return HALF_HOUR; // 返回一个默认值
-        }
-
-        // 获取喝水提醒的频率
-        frequency = config->GetDrinkFreq();
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "frequency = %d", frequency);
-
-        // 根据频率设置间隔时间
-        switch (frequency)
-        {
-        case 0:
-            return HALF_HOUR;
-        case 1:
-            return ONE_HOUR;
-        case 2:
-            return TWO_HOUR;
-        case 3:
-            return THREE_HOUR;
-        default:
-            return HALF_HOUR; // 默认情况下返回半小时间隔
-        }
-    }
-
-    /*是否是喝水提醒时间段内,间隔提醒开启后启用*/
-    bool DrinkReminderViewEventListener::IsDrinkReminderTime()
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::IsDrinkReminderTime");
-        // 获取当前时间
-        time_t now = time(0);
-        tm *ltm = localtime(&now);
-        int currentHour = ltm->tm_hour;
-        int currentMinute = ltm->tm_min;
-
-        // 获取提醒时间段
-        int drinkReminderStartTime = ConfigModel::GetInstance()->GetDrinkStart(); // 获取喝水提醒开始时间,int类型 前16位小时,后16位分钟
-        int drinkReminderEndTime = ConfigModel::GetInstance()->GetDrinkEnd();     // 获取喝水提醒结束时间, int类型 前16位小时,后16位分钟
-
-        // 解析开始时间
-        int startHour = (drinkReminderStartTime & 0XFFFF0000) >> 16; // 前16位是小时
-        int startMinute = drinkReminderStartTime & 0X0000FFFF;       // 后16位是分钟
-
-        // 解析结束时间
-        int endHour = (drinkReminderEndTime & 0XFFFF0000) >> 16; // 前16位是小时
-        int endMinute = drinkReminderEndTime & 0x0000FFFF;       // 后16位是分钟
-
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "currentHour = %d,currentMinute =  %d", currentHour, currentMinute);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "drinkReminderStartTime = %d,drinkReminderEndTime =  %d", drinkReminderStartTime, drinkReminderEndTime);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "startHour = %d,startMinute =  %d", startHour, startMinute);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "endHour = %d,endMinute =  %d", endHour, endMinute);
-
-        // 判断当前时间是否在提醒时间段内
-        if (currentHour > startHour || (currentHour == startHour && currentMinute >= startMinute))
-        {
-            if (currentHour < endHour || (currentHour == endHour && currentMinute < endMinute))
-            {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "It's time to remind the user to drink!");
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /* -------------------------------------------------------------------------- */
-
-    /*显示喝水提醒视图*/
-    static OHOS::UIViewGroup *showDrinkReminderNotify(void)
-    {
-        return OHOS::CreateDrinkReminderView();
-    }
-
-    /*定时器到期时的处理*/
-    static void DrinkReminder_TimerCallbackProc(int data)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminder_TimerCallbackProc");
-        if (DrinkReminderViewEventListener::GetInstance().IsDrinkReminderTime())
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "该喝水了!!该喝水了!!");
-            DrinkReminderViewEventListener::GetInstance().set_screen_on_and_vibration();
-            NotificationManager::GetInstance()->ShowNotify(showDrinkReminderNotify, DrinkReminderViewEventListener::GetInstance().GetDrinkReminderTopic(), true);
-        }
-        else
-        {
-            DrinkReminderViewEventListener::GetInstance().DrinkReminder_StopTimer();
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminder Out of time");/*如果超出范围内设置的时间就停止定时器*/
-        }
-    }
-
-    /*回调函数*/
-    static void DrinkReminder_TimerCallback(int data)
-    {
-        GraphicService::GetInstance()->PostGraphicEvent(std::bind(DrinkReminder_TimerCallbackProc, data));
-    }
-
-    /*开启定时器*/
-    void DrinkReminderViewEventListener::DrinkReminder_StartTimer(void)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::DrinkReminder_StartTimer");
-        /* -------------------------- 1.检查定时器是否已经存在,如果存在则返回 ------------------------- */
-        if (g_timer != NULL)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer already exists!!");
-            return;
-        }
-
-        /* --------------------------------- 2.创建定时器 -------------------------------- */
-        g_timer = osTimerNew((osTimerFunc_t)DrinkReminder_TimerCallback, osTimerPeriodic, NULL, NULL);
-        // 检查定时器创建是否成功
-        if (g_timer == NULL)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer create failed!!");
-            return;
-        }
-
-        /* ----------------------------- 3.将毫秒转换为系统时钟节拍数 ---------------------------- */
-        int tick = osMs2Tick(GetDrinkReminderIntervalTime());
-
-        /* --------------------------------- 4.启动定时器 -------------------------------- */
-        osStatus_t ret = osTimerStart(g_timer, tick);
-        /* -------------------- 5.检查定时器启动是否成功,如果启动失败,删除定时器并置为 NULL -------------------- */
-        if (ret != osOK)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!", ret);
-            if (g_timer != NULL)
-            {
-                ret = osTimerDelete(g_timer);
-            }
-            g_timer = NULL;
-            return;
-        }
-        timerOpen = true;
-    }
-
-    /*停止定时器*/
-    void DrinkReminderViewEventListener::DrinkReminder_StopTimer(void)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::DrinkReminder_StopTimer");
-        // 检查定时器是否存在
-        if (g_timer != NULL)
-        {
-            // 删除定时器并置为 NULL
-            osStatus_t ret = osTimerDelete(g_timer);
-            if (ret != osOK)
-            {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!", ret);
-            }
-            g_timer = NULL;
-            timerOpen = false;
-        }
-    }
-
     /*创建喝水提醒视图*/
     UIViewGroup *CreateDrinkReminderView(void)
     {
@@ -405,14 +211,9 @@ namespace OHOS
     /*释放喝水提醒视图*/
     void FreeDrinkReminderView(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FreeDrinkReminderView(void)");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "FreeDrinkReminderView(void)");
         if (DrinkReminderGroupView != nullptr)
         {
-            if (DrinkReminderViewEventListener::GetInstance().IsDrinkReminderTimerOpen())
-            {
-                DrinkReminderViewEventListener::GetInstance().DrinkReminder_StopTimer();
-            }
-
             DrinkReminderGroupView->RemoveAll();
 
             delete DrinkReminderTitleLabel;
@@ -433,7 +234,7 @@ namespace OHOS
             RootView::GetInstance()->Remove(DrinkReminderGroupView);
             delete DrinkReminderGroupView;
             DrinkReminderGroupView = nullptr;
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Free DrinkReminderView succeed!!");
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Free DrinkReminderView succeed!!");
         }
         return;
     }