增加通知,任务,充值提醒亮屏
authorxue <2144439972@qq.com>
Mon, 29 Sep 2025 03:36:11 +0000 (11:36 +0800)
committerxue <2144439972@qq.com>
Mon, 29 Sep 2025 03:36:11 +0000 (11:36 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp

index cd56fd2..a70c731 100644 (file)
 
     void ThunderBirdModel::HandleScheduleReminder(const char* title, const char* content)
     {
+        uapi_set_screen_on_api(); // 亮屏
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleScheduleReminder");
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Title: %s", title ? title : "NULL");
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Content: %s", content ? content : "NULL");
         // 示例:通过图形服务显示提醒
         if (title && content) {
             // 可以在这里调用UI相关的显示逻辑
-            int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
-            ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER);
-            
-            // 更新任务提醒的文本内容
-            if (ThunderBirdReminderView::GetInstance()) {
-                ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText(content,nullptr);
+            if (ThunderBirdMainView::GetInstance()) {
+                int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
+                ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER);
+                
+                // 更新任务提醒的文本内容
+                if (ThunderBirdReminderView::GetInstance()) {
+                    ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText(content,nullptr);
+                }
+            } else {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot show schedule reminder");
             }
             
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Processing schedule reminder: %s - %s", title, content);
 
     void ThunderBirdModel::HandleTaskReminder(const char* scheduleName)
     {
+        uapi_set_screen_on_api(); // 亮屏
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleTaskReminder");
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleName: %s", scheduleName ? scheduleName : "NULL");
         
         // 示例:通过图形服务显示任务提醒
         if (scheduleName) {
             // 可以在这里调用UI相关的显示逻辑
-            int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
-            ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER);
-            
-            // 更新任务提醒的文本内容
-            if (ThunderBirdReminderView::GetInstance()) {
-                ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText(scheduleName,nullptr);
+            if (ThunderBirdMainView::GetInstance()) {
+                int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
+                ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER);
+                
+                // 更新任务提醒的文本内容
+                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);
         }
     void ThunderBirdModel::HandleChatStaminaChange(int chatLeft, const char* chatDesc, int flowLeft, 
                                                  const char* flowDesc, const char* qrcodeUrl)
     {
+        uapi_set_screen_on_api(); // 亮屏
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleChatStaminaChange");
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "  chatLeft: %d", chatLeft);
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "  chatDesc: %s", chatDesc ? chatDesc : "null");
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "  qrcodeUrl: %s", qrcodeUrl ? qrcodeUrl : "null");
         
         // 这里可以添加聊天体力更改的具体处理逻辑
-       int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
-       if((chatLeft < 20 && chatLeft > 0))//对话不足
-       {
-         ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
-         ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("对话额度不足20轮\n可扫码续充");
-       }  
-       else if(flowLeft < 80 && flowLeft > 0)//流量不足
-       {
-         ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
-         ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("流量不足100M了哦\n扫码可重置流量");
-       }
-       else if(chatLeft == 0)//对话用尽
-       {
-         ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
-         ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("啊哦,对话轮数已用完,\n扫码续上吧");
-       }
-       else if(flowLeft == 0)//流量用尽
-       {
-         ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
-         ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("流量用完了哦");
+       if (ThunderBirdMainView::GetInstance()) {
+           int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
+           if((chatLeft < 20 && chatLeft > 0))//对话不足
+           {
+             ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
+             if (ThunderBirdReminderView::GetInstance()) {
+                 ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("对话额度不足20轮\n可扫码续充");
+             }
+           }  
+           else if(flowLeft < 80 && flowLeft > 0)//流量不足
+           {
+             ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
+             if (ThunderBirdReminderView::GetInstance()) {
+                 ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("流量不足100M了哦\n扫码可重置流量");
+             }
+           }
+           else if(chatLeft == 0)//对话用尽
+           {
+             ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
+             if (ThunderBirdReminderView::GetInstance()) {
+                 ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("啊哦,对话轮数已用完,\n扫码续上吧");
+             }
+           }
+           else if(flowLeft == 0)//流量用尽
+           {
+             ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_REMINDERVIEW, ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH);
+             if (ThunderBirdReminderView::GetInstance()) {
+                 ThunderBirdReminderView::GetInstance()->UpdateTaskReminderText("流量用完了哦");
+             }
+           }
+       } else {
+           WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot show chat stamina reminder");
        }
 
 
 
     void ThunderBirdModel::HandleSleepModeStart(const char* theme)
     {
-        int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart");
-        ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2);
+        if (ThunderBirdMainView::GetInstance()) {
+            int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
+            ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2);
+        } else {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot start sleep mode");
+        }
     }
 
     void ThunderBirdModel::HandleSleepModeEnd()
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeEnd");
-        int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
-        ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_5);
+        if (ThunderBirdMainView::GetInstance()) {
+            int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
+            ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_5);
+        } else {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView instance is null, cannot end sleep mode");
+        }
     }
 
     void ThunderBirdModel::HandleBindAndUnbind(int is_bind)
                 (void)UtilsSetValue("bind_status", "1");
                 //绑定成功
                 if(ThunderBirdMainView::GetInstance()){
+                    uapi_set_screen_on_api(); // 亮屏
                     int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
                     ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_ADJUSTVIEW, ThunderBirdAdjustView::THUNDERBIRD_ADJUSTVIEW_BIND_SUCCESS);
                 }