为支付宝界面添加屏幕常亮功能
authorluozheng <1732036298@qq.com>
Sat, 2 Mar 2024 08:48:27 +0000 (16:48 +0800)
committerluozheng <1732036298@qq.com>
Sat, 2 Mar 2024 08:48:27 +0000 (16:48 +0800)
code/sdk/application/wearable/fd230app/nativeui/alipay/include/AlipayModel.h
code/sdk/application/wearable/fd230app/nativeui/alipay/src/AlipayModel.cpp
code/sdk/application/wearable/fd230app/nativeui/alipay/src/AlipayPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/screennotify/src/ui_screennotify.cpp

index a0cf813..4b8103c 100644 (file)
@@ -88,6 +88,8 @@ public:
     uint8_t* AlipayGetTransCode(void);\r
     uint32_t AlipayGetTransCodeLen(void);\r
     char* AlipayGetCardTitle(void);\r
+\r
+    void AlipayScreenControl(bool turnOnFlag);\r
 private:\r
     osTimerId_t bindTimerId = NULL;\r
     osTimerId_t switchTimerId = NULL;\r
index 4c468ea..7f3176a 100644 (file)
@@ -11,6 +11,7 @@
 #include "AlipayMainView.h"\r
 #include "graphic_service.h"\r
 \r
+#include "power_display_service.h"\r
 namespace OHOS {\r
 AlipayModel::AlipayModel() : alipayApi(alipay_svr_get_api())\r
 {\r
@@ -575,4 +576,25 @@ char* AlipayModel::AlipayGetCardTitle(void)
     return cardTitle_;\r
 }\r
 \r
+/// @brief 支付宝屏幕控制\r
+/// @param turnOnFlag \r
+void AlipayModel::AlipayScreenControl(bool turnOnFlag)\r
+{\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayScreenControl");\r
+    const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
+    if(turnOnFlag)\r
+    {\r
+        const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
+        if (display_api->get_screen_state() != SCREEN_ON)\r
+        {\r
+            display_api->turn_on_screen();\r
+        }\r
+        //当设置的值是-1 的时候,设置屏幕常亮\r
+        display_api->set_screen_set_keepon_timeout(-1);\r
+    }\r
+    else\r
+    {\r
+        display_api->set_screen_set_keepon_timeout(0);\r
+    }\r
+}\r
 }
\ No newline at end of file
index 2200684..4e6faae 100644 (file)
@@ -49,6 +49,11 @@ void AlipayPresenter::OnStart()
 {\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter OnStart");\r
     Presenter<AlipayMainView>::OnStart();\r
+\r
+    /* -------------------------------- 设置支付宝界面常亮 ------------------------------- */\r
+    alipayMode_->AlipayScreenControl(true);\r
+    /* -------------------------------------------------------------------------- */\r
+\r
     alipayMode_->AlipayExitLpm();\r
     if (alipayMode_->AlipayInitModel() == false) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::OnStart AlipayInitModel fail.");\r
@@ -68,6 +73,9 @@ void AlipayPresenter::OnStop(void)
     svr_alipay_destroy_task();\r
     alipayMode_->AlipayDeinitModel();\r
     alipayMode_->AlipayEnterLpm();\r
+\r
+    /* -------------------------------- 恢复屏幕保持亮屏的时间 ------------------------------- */\r
+    alipayMode_->AlipayScreenControl(false);\r
 }\r
 \r
 bool AlipayPresenter::OnDrag(UIView &view, const DragEvent &event)\r
index 315e034..16fc77f 100644 (file)
@@ -24,7 +24,7 @@ uint16_t ignore_slice_ids[] = {
     VIEW_UISAMPLE,
     VIEW_BLOODOXY,//血氧功能
 #ifdef SUPPORT_ALIPAY_SEC
-    // VIEW_MAIN_ALIPAY,
+    VIEW_MAIN_ALIPAY,
 #endif
 };