睡眠 消息弹窗去除外部亮屏函数,统一使用UIService亮屏
authorCaisking <3449750381@qq.com>
Mon, 15 Jul 2024 09:57:34 +0000 (17:57 +0800)
committerCaisking <3449750381@qq.com>
Mon, 15 Jul 2024 09:57:34 +0000 (17:57 +0800)
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp
code/sdk/application/wearable/service/msg_center/src/notify/message_notification.cpp
code/sdk/application/wearable/service/msg_center/src/notify/sleep_notification.cpp

index 9d5dbf9..cbab6a0 100644 (file)
@@ -270,6 +270,8 @@ static OHOS::UIViewGroup* showSleepNotify(void)
 {
     return OHOS::CreateSleepNotifyView();
 }
+
+
 void MsgCenterNotifyAlarmProc(const Topic topic, Request* req)
 {
     unused(req);
@@ -286,7 +288,6 @@ void MsgCenterNotifyAlarmProc(const Topic topic, Request* req)
     }
 }
 
-
 void MsgCenterNotifyONtimeProc(const Topic topic, Request* req)
 {
     unused(req);
@@ -447,7 +448,7 @@ void MsgCenterNotifyNextDayProc(const Topic topic, Request* req)
 
     if(!ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SLEEP))
     {
-        //未设置睡眠监控 nextday进行清除消息。
+        //未设置睡眠监控 nextday进行清除睡眠数据。
         SleepModel::GetInstance().DeleteSleepData();
     }
 
@@ -640,15 +641,9 @@ void MsgCenterNotifyMessageProc(const Topic topic, Request* req)
     unused(topic);
     unused(req);
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifyMessageProc !");
-    //亮屏显示新信息弹窗
-    const power_display_svr_api_t *display_api = power_display_svr_get_api();
-    if (display_api->get_screen_state() != SCREEN_ON)
-    {   
-        display_api->turn_on_screen();  
-    }  
-    display_api->set_screen_set_keepon_timeout(1000*5);
-    // NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_TWO);
-    NotificationManager::GetInstance()->ShowNotify(showMessageNotify, (uint16_t)topic, true);
+    if (CheckPriority(topic)) {
+        NotificationManager::GetInstance()->ShowNotify(showMessageNotify, (uint16_t)topic, true);
+    }
 }
 
 //睡眠提醒通知
@@ -656,15 +651,13 @@ void MsgCenterNotifySleepProc(const Topic topic, Request* req)
 {
     unused(topic);
     unused(req);
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifySleepProc !");
-    //亮屏显示新信息弹窗
-    const power_display_svr_api_t *display_api = power_display_svr_get_api();
-    if (display_api->get_screen_state() != SCREEN_ON)
-    {   
-        display_api->turn_on_screen();  
-    }  
-    display_api->set_screen_set_keepon_timeout(1000*5);
-    NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_TWO);
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifySleepProc %d!",SleepModel::GetInstance().get_sleep_state());
+
+    if(SleepModel::GetInstance().get_sleep_state()==SLEEPSTATE::WAKE)
+    {
+        NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_TWO);
+        AlarmClockModel::GetInstance()->PopInterPlayMusic();
+    }
     NotificationManager::GetInstance()->ShowNotify(showSleepNotify, (uint16_t)topic, true);
 }
 #endif
index b5d24a6..0a1f7ff 100644 (file)
@@ -199,6 +199,9 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Create MessageGroupView succeed!!");
         // 震动提醒
         custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO);
+        // 亮屏操作
+        int32_t timeout = -1;
+        SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
         return MessageGroupView;
     }
     /*释放消息弹窗视图*/
@@ -226,6 +229,7 @@ namespace OHOS
             MessageGroupView = nullptr;
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Free MessageView succeed!!");
         }
+        SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, NULL, 0);
         return;
     }
 }
\ No newline at end of file
index b461244..64a3e02 100644 (file)
@@ -78,14 +78,12 @@ namespace OHOS
             break;
         case SLEEPSTATE::SLEPP:
             titleStr = SleepModel::GetInstance().get_sleep_notifiy();
-            textId = STR_DISTURBNOTE; 
+            textId = STR_DISTURBNOTE;
             break;
         case SLEEPSTATE::WAKE:
             titleStr = SleepModel::GetInstance().get_wake_notifiy();
             textId = STR_MORNNING;
-            SetAlarmClockView();                               // 设置为早安视图
-            SleepViewEventListener::GetInstance().PopInterPlayMusic();
-            NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_TWO);
+            SetAlarmClockView(); // 设置为早安视图
             return SleepGroupView;
             break;
         default:
@@ -149,6 +147,9 @@ namespace OHOS
 
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Create SleepGroupView succeed!!");
         custom_VibratorFunc(VibratorType::VIBRATOR_TYPE_TWO); // 震动提醒
+        // 亮屏操作
+        int32_t timeout = -1;
+        SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
         return SleepGroupView;
     }
 
@@ -236,6 +237,7 @@ namespace OHOS
             delete SleepGroupView;
             SleepGroupView = nullptr;
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Free SleepView succeed!!");
+            SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, NULL, 0);
         }
         return;
     }