#105 5手表开启勿扰模式表盘界面会显示勿扰图标,重启后表盘勿扰图标消失(实际还是勿扰状态,下拉状态栏的勿扰图标是高亮的) 1221/1 1221/head
authorCaisking <3449750381@qq.com>
Sat, 19 Oct 2024 11:11:40 +0000 (19:11 +0800)
committerCaisking <3449750381@qq.com>
Sat, 19 Oct 2024 11:11:40 +0000 (19:11 +0800)
code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp
code/sdk/application/wearable/fd230app/nativeui/main/include/MainModel.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp

index 4a88ed3..693efba 100644 (file)
@@ -553,20 +553,8 @@ namespace OHOS
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadMessagesFromStorage failed!");
             }
 
-            /*开机检查如果设置了密码锁,进行锁屏*/
-            int lockstate = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_PASSWORD_SWITCH);  
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "lockstate = %d", lockstate);  
-            // 打印锁定状态判断  
-            if (lockstate == 1)  
-            {  
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Device is locked (lock state == 1)");
-                if (uapi_dev_runtime_get_lock_status() == 0)  
-                {  
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Device is unlocked (lock status == 0)");  
-                    uapi_dev_runtime_set_lock_status(1); // 上锁  
-                    OHOS::MainModel::GetInstance().setDialState(OHOS::DialState::LOCK, true);  
-                }  
-            }
+            //更新主表盘配置
+            MainModel::GetInstance().InitDialState();
 
             // 开机增加震动 页面启动震动一次
             ui_api_vibrate_once_func();
index cc26587..a5781cd 100644 (file)
@@ -82,6 +82,7 @@ namespace OHOS
         bool getMessageActiveState();\r
         void printDialStates();\r
         void UpdateDialState();\r
+        void InitDialState();\r
 \r
     private:\r
         void InitDialSettingDefault(int Id);\r
index 3a4e3e8..ae26772 100644 (file)
 #include "MainViewSample.h"\r
 #include "ui_service.h"\r
 #include "SetDialModel.h"\r
+#include "dnotdisturb/include/DnotDisturbModel.h"\r
+#include "custom_utils.h"\r
+\r
+extern "C" void uapi_dev_runtime_set_lock_status(uint8_t status);\r
+\r
 namespace OHOS\r
 {\r
     static const int CARD_SETTING_VALUE_LEN = 32;\r
@@ -525,6 +530,25 @@ namespace OHOS
         管理状态:勿扰 睡眠 密码锁\r
     */\r
 \r
+    // 开机读取手表配置  \r
+    void MainModel::InitDialState(void) {  \r
+        // 获取加锁状态  \r
+        int lockstate = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_PASSWORD_SWITCH);  \r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "lockstate = %d", lockstate);  \r
+\r
+        // 判断加锁状态  \r
+        if (lockstate == 1) {  \r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Device is locked (lock state == 1)");  \r
+            uapi_dev_runtime_set_lock_status(1); // 上锁  \r
+            dialstateInfo[static_cast<int>(DialState::LOCK)].active = true; // 设置锁定状态为真  \r
+        }  \r
+\r
+        // 判断勿扰模式  \r
+        dialstateInfo[static_cast<int>(DialState::DO_NOT_DISTURB)].active = DnotDisturbModel::GetInstance().GetDoNotDisturbModeEnabled();  \r
+\r
+        // 判断睡眠状态 \r
+    }\r
+\r
     // 接口 1: 设置某个状态的属性\r
     void MainModel::setDialState(DialState state, bool value)\r
     {\r