修复事项提醒
authorxue <2144439972@qq.com>
Thu, 27 Nov 2025 08:21:41 +0000 (16:21 +0800)
committerxue <2144439972@qq.com>
Thu, 27 Nov 2025 08:21:41 +0000 (16:21 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdReminderView.h
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp

index ba5773c..c6d801b 100644 (file)
@@ -29,6 +29,7 @@ namespace OHOS
         void UpdateTaskReminderText(const char* title, const char* content);
         void UpdateTaskReminderText(const char* text);
         void UpdateTaskReminderIcon(const char* icon);
+        void scheduleName_task_reminder(const char* scheduleName);
 
 
 
@@ -38,6 +39,7 @@ namespace OHOS
         enum : int16_t {
             THUNDERBIRD_REMINDERVIEW_VOLUME = 0,      // 音量调节
             THUNDERBIRD_REMINDERVIEW_TASK_REMINDER,   // 事项提醒
+            THUNDERBIRD_SCHEDULE_TASK_REMINDER,       // 日程事项提醒
             THUNDERBIRD_REMINDERVIEW_NETWORK_DISCONNECT, // 网络断开
             THUNDERBIRD_REMINDERVIEW_VAD_INITIALIZING, // 等待语音初始化
             THUNDERBIRD_REMINDERVIEW_LOW_BATTERY,     // 电量不足
index ccc7974..7c05ed4 100644 (file)
@@ -2135,19 +2135,26 @@ extern "C" {
             if (ThunderBirdMainView::GetInstance()) {
                 int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
                 int currentSubView = ThunderBirdMainView::GetInstance()->GetCurrentSubView();
-               //如果当前界面是事项提醒界面,则不进行切换,防止返回原任务进入循环
-               if(currentView != THUNDERBIRD_REMINDERVIEW && currentSubView != ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER)
-               {
-                   ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER);
-                   ThunderBirdReminderView::GetInstance()->IsIcon(true);
-               }
-                // 更新任务提醒的文本内容
-                if (ThunderBirdReminderView::GetInstance()) {
-                    ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText(scheduleName,nullptr);
-                }
-            } else {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot show task reminder");
-            }
+                ThunderBirdModel::GetInstance()->StartReminderHideTimer(3000);
+                ThunderBirdReminderView *reminderView = ThunderBirdReminderView::GetInstance();
+                if (reminderView) 
+                    {
+                        reminderView->Show(ThunderBirdReminderView::THUNDERBIRD_SCHEDULE_TASK_REMINDER);
+                        reminderView->scheduleName_task_reminder(scheduleName);
+                    }
+            //    //如果当前界面是事项提醒界面,则不进行切换,防止返回原任务进入循环
+            //    if(currentView != THUNDERBIRD_REMINDERVIEW && currentSubView != ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER)
+            //    {
+            //        ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER);
+            //        ThunderBirdReminderView::GetInstance()->IsIcon(true);
+            //    }
+            //     // 更新任务提醒的文本内容
+            //     if (ThunderBirdReminderView::GetInstance()) {
+            //         ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText(scheduleName,nullptr);
+            //     }
+            // } else {
+            //     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot show task reminder");
+         }
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Processing task reminder: %s", scheduleName);
         }
     }
index a53de14..67ce0c9 100644 (file)
@@ -182,6 +182,23 @@ namespace OHOS
             }
             break;
         }
+        case THUNDERBIRD_SCHEDULE_TASK_REMINDER:
+        {
+            if (RemindButton)
+            {
+                RemindButton->SetPosition(102, 114, 168, 40);
+                RemindButton->SetText("");
+                RemindButton->SetLabelPosition(4, 2);
+                RemindButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 20);
+                RemindButton->SetVisible(true);
+            }
+            if (RemindIcon)
+            {
+                RemindIcon->SetPosition(115, 120, 47, 47);
+                // RemindIcon->SetSrc("");
+                RemindIcon->SetVisible(true);
+            }
+        }
         case THUNDERBIRD_REMINDERVIEW_NETWORK_DISCONNECT:
         {
             if (RemindButton)
@@ -537,12 +554,44 @@ namespace OHOS
         {
             RemindButton->SetText("等待语音初始化");
         }
-        // if (RemindIcon)
-        //     {
-        //         RemindIcon->SetPosition(105, 120, 47, 47);
-        //         RemindIcon->SetSrc("/user/res/no_network.bin");
-        //         RemindIcon->SetVisible(true);
-        //     }
+    }
+
+    void ThunderBirdReminderView::scheduleName_task_reminder(const char* scheduleName)
+    {
+        if(scheduleName == "提醒设置成功")
+        {
+            if (RemindButton)
+            {
+                RemindButton->SetPosition(69, 114, 222, 40);
+                RemindButton->SetText(scheduleName);
+                RemindButton->SetLabelPosition(26, 2);
+                RemindButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 20);
+                RemindButton->SetVisible(true);
+            }
+            if (RemindIcon)
+            {
+                RemindIcon->SetPosition(85, 122, 24, 24);
+                RemindIcon->SetSrc("/user/res/completed.bin");
+                RemindIcon->SetVisible(true);
+            }
+        }
+        else
+        {
+            if (RemindButton)
+            {
+                RemindButton->SetPosition(79, 114, 202, 40);
+                RemindButton->SetText(scheduleName);
+                RemindButton->SetLabelPosition(26, 2);
+                RemindButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 20);
+                RemindButton->SetVisible(true);
+            }
+            if (RemindIcon)
+            {
+                RemindIcon->SetPosition(95, 122, 24, 24);
+                RemindIcon->SetSrc("/user/res/completed.bin");
+                RemindIcon->SetVisible(true);
+            }
+        }
     }
 
 }