添加抬腕亮屏功能
authorluozheng <1732036298@qq.com>
Thu, 18 Apr 2024 08:43:58 +0000 (16:43 +0800)
committerluozheng <1732036298@qq.com>
Thu, 18 Apr 2024 08:43:58 +0000 (16:43 +0800)
code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h
code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h
code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp
code/sdk/application/wearable/fd230app/nativeui/producttest/src/testluminance.cpp
code/sdk/drivers/peripheral/utils/custom_utils.c

index ddba642..bd01055 100644 (file)
@@ -105,14 +105,6 @@ namespace OHOS
     
         
         /* --------------------------------自定义封装 set与get方法 ------------------------------- */
-
-        bool GetRaiseToWake(void);
-
-        unsigned GetScreenBrightnessValue(void);
-        
-        void SetScreenDuration(unsigned int value);
-        unsigned int GetScreenDuration(void);
-
         bool GetClassicBlueToothState(void);
         
         void SetLanguage(int languageid);
@@ -140,8 +132,15 @@ namespace OHOS
         void SetDnotdisturb(bool state);
         bool GetDnotdisturb(void);
 
+        /* ----------------------------- 屏幕与亮度相关set与get ----------------------------- */
         void SetBrightness(int level);
         int  GetBrightness(void);
+
+        void SetScreenDuration(unsigned int value);
+        unsigned int GetScreenDuration(void);
+
+        void SetRaiseToWake(bool value);
+        bool GetRaiseToWake(void);
         // -------------------------------------------------------------------------- */
     private:
         configmodel_item configmodel_item_key_name[CONFIGMODEL_ITEM_MAX] =
index 9589a29..dbabfb4 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-17 09:32:03
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-17 14:52:37
+ * @LastEditTime: 2024-04-18 15:44:00
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h
  */
 #ifndef _CONFIG_MODEL_C_H_
@@ -41,6 +41,10 @@ void initScreenBrightness(void);
  */
 void initializeScreenDuration(void);
 
+/*
+ * @brief 初始化抬腕亮屏 
+ */
+void initializeRaiseToWake(void);
 #ifdef __cplusplus
 #if __cplusplus
 }
index 87c0202..5b6dd04 100644 (file)
@@ -488,14 +488,20 @@ namespace OHOS
 
     /* -------------------------------- set与get方法 ------------------------------- */
    
-    bool ConfigModel::GetRaiseToWake(void)
+    /*
+     * @brief 设置抬腕亮屏是否开启 
+     */    
+    void ConfigModel::SetRaiseToWake(bool value)
     {
-        return get_configData_bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE);
+        set_condigData_Bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE,value);
     }
-    /// @brief 获取亮度值
-    unsigned ConfigModel::GetScreenBrightnessValue(void)
+
+    /*
+     * @brief 获取抬腕亮屏是否开启 
+     */    
+    bool ConfigModel::GetRaiseToWake(void)
     {
-        return get_configData_int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE) ;
+        return get_configData_bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE);
     }
 
     /* 
@@ -750,6 +756,20 @@ void initializeScreenDuration(void)
    unsigned int time = OHOS::ConfigModel::GetInstance()->GetScreenDuration();
    uapi_setScreenDuration(time);
 }
+
+void initializeRaiseToWake(void)
+{
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeRaiseToWake");
+    bool isOpen =  OHOS::ConfigModel::GetInstance()->GetRaiseToWake();
+    if(isOpen == true)
+    {
+        uapi_take_to_wake(1);
+    }
+    else
+    {
+        uapi_take_to_wake(2);
+    }
+}
 #ifdef __cplusplus
 #if __cplusplus
 }
index 015ef9d..06c5865 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-04-12 20:11:04\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-18 10:23:37\r
+ * @LastEditTime: 2024-04-18 15:36:31\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h\r
  */\r
 #ifndef DISPLAY_BRIGHTNESS_MODEL_H_\r
@@ -15,21 +15,17 @@ namespace OHOS
     {\r
     public:\r
         static DisplayBrightnessModel *GetInstance(void);\r
-        void SetRaiseToBrightnessCheckBoxButtonStatus(bool value);\r
         bool RaiseToBrightnessCheckBoxButtonStatusInit(void);\r
         bool ScreenDurationRadioButtonSlectStatusInit(void);\r
         bool SelectScreenDurationLabelInit(void);\r
         void SetScreenDurationTime(unsigned int time);\r
         unsigned int GetScreenDurationTime(void);\r
+\r
     private:\r
         DisplayBrightnessModel();\r
-        DisplayBrightnessModel(const DisplayBrightnessModel &);\r
-        DisplayBrightnessModel &operator=(const DisplayBrightnessModel &);\r
+        DisplayBrightnessModel(const DisplayBrightnessModel &) = delete;\r
+        DisplayBrightnessModel &operator=(const DisplayBrightnessModel &) = delete;\r
         virtual ~DisplayBrightnessModel();\r
-\r
-    private:\r
-        bool RaiseToBrightnessCheckBoxButtonState{false};    // 抬腕按钮状态 ,默认补选中\r
-        unsigned int ScreenDurationTime{10000};\r
     };\r
 }\r
 \r
index bf3a59f..445a202 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-02-18 09:10:05\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-18 10:59:11\r
+ * @LastEditTime: 2024-04-18 15:53:53\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h\r
  */\r
 #ifndef _DISPLAY_BRIGHTNESS_PRESENTER_H\r
@@ -15,6 +15,8 @@
 \r
 namespace OHOS\r
 {\r
+    static constexpr uint8_t WRIST_RAISE_TO_WAKE_ENABLED = 1;\r
+    static constexpr uint8_t WRIST_RAISE_TO_WAKE_DISENABLED = 2;\r
     typedef enum\r
     {\r
         DISPLAYBRIGHTNESSVIEW = 0, // 屏幕与亮度视图(slice)\r
index f58cbca..6cf09d5 100644 (file)
@@ -2,21 +2,19 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-12 20:11:04
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-18 10:55:38
+ * @LastEditTime: 2024-04-18 15:34:22
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp
  */
 #include "displaybrightness/include/DisplayBrightnessModel.h"
 #include "displaybrightness/include/DisplayBrightnessPresenter.h"
 #include "wearable_log.h"
-#include "cat1_ctl.h"
+#include "config/include/ConfigModel.h"
 
 namespace OHOS
 {
 
     DisplayBrightnessModel::DisplayBrightnessModel()
     {
-        ConfigModel *p_ConfigModel = ConfigModel::GetInstance();
-        RaiseToBrightnessCheckBoxButtonState = p_ConfigModel->GetRaiseToWake();
     }
 
     DisplayBrightnessModel::~DisplayBrightnessModel() {}
@@ -27,16 +25,11 @@ namespace OHOS
         return &instance;
     }
 
-    /// @brief 设置抬腕亮屏按钮状态
-    /// @param value true 开启 false 关闭
-    void DisplayBrightnessModel::SetRaiseToBrightnessCheckBoxButtonStatus(bool value)
-    {
-        RaiseToBrightnessCheckBoxButtonState = value;
-    }
+    
 
-    /// @brief 显示与亮度及其子视图中的组件状态初始化
-    /// @param value true 开启 false 关闭
-    /// @return true 初始化成功 false 初始化失败
+    /*
+     * @brief 抬腕亮屏按钮状态设置
+     */    
     bool DisplayBrightnessModel::RaiseToBrightnessCheckBoxButtonStatusInit(void)
     {
         DisplayBrightnessPresenter *displayBrightnessPresent = DisplayBrightnessPresenter::GetInstance();
@@ -45,7 +38,7 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessViewAndSubViewComponentsStatusInit DisplayBrightnessPresenter GetInstance fail");
             return false;
         }
-        displayBrightnessPresent->SetRaiseToBrightnessState(RaiseToBrightnessCheckBoxButtonState); // 抬腕按钮的状态
+        displayBrightnessPresent->SetRaiseToBrightnessState(ConfigModel::GetInstance()->GetRaiseToWake()); // 抬腕按钮的状态
         return true;
     }
 
index 442efe7..f9b3782 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-03-30 09:14:38\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-18 11:16:04\r
+ * @LastEditTime: 2024-04-18 15:54:44\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp\r
  */\r
 #include "AppViewIDs.h"\r
@@ -19,6 +19,7 @@
 #include <custom_utils.h>\r
 #include "map"\r
 #include "iostream"\r
+#include "config/include/ConfigModel.h"\r
 namespace OHOS\r
 {\r
     // 当前Presenter属性实例化的内存指针\r
@@ -55,7 +56,6 @@ namespace OHOS
         if (value != false)\r
         {\r
             displayBrightnessView->SetRaiseToBrightnessCheckBoxButtonState(UICheckBox::UICheckBoxState::SELECTED);\r
-            DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(false); // 将Model层保存的状态清除\r
         }\r
     }\r
 \r
@@ -201,9 +201,13 @@ namespace OHOS
         {\r
         case UICheckBox::SELECTED:\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Raise to Wake switched on!");\r
+            uapi_take_to_wake(WRIST_RAISE_TO_WAKE_ENABLED);\r
+            ConfigModel::GetInstance()->SetRaiseToWake(true);\r
             break;\r
         case UICheckBox::UNSELECTED:\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Raise to Wake switched off!");\r
+            uapi_take_to_wake(WRIST_RAISE_TO_WAKE_DISENABLED);\r
+            ConfigModel::GetInstance()->SetRaiseToWake(false);\r
             break;\r
         default:\r
             break;\r
index 56872bf..35e43a7 100644 (file)
@@ -60,18 +60,6 @@ namespace OHOS
             delete RaiseToBrightnessImage;\r
             RaiseToBrightnessImage = nullptr;\r
 \r
-            state = GetRaiseToBrightnessCheckBoxButtonState();\r
-            if (state == UICheckBox::UICheckBoxState::SELECTED)\r
-            {\r
-                DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(true);\r
-                ConfigModel::GetInstance()->set_condigData_Bool(ConfigModel::ConfigItem::CONFIGMODEL_ITEM_RAISE_TO_WAKE, true);\r
-            }\r
-            else\r
-            {\r
-                DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(false);\r
-                ConfigModel::GetInstance()->set_condigData_Bool(ConfigModel::ConfigItem::CONFIGMODEL_ITEM_RAISE_TO_WAKE, false);\r
-            }\r
-\r
             delete RaiseToBrightnessCheckBoxButton;\r
             RaiseToBrightnessCheckBoxButton = nullptr;\r
 \r
@@ -462,7 +450,7 @@ namespace OHOS
         return true;\r
     }\r
 \r
-    // 3.切换到“亮屏时长”视图\r
+    // 2.切换到“亮屏时长”视图\r
     bool DisplayBrightnessView::ChangeScreenDurationView(int16_t thisView)\r
     {\r
         if (DisplayBrightnessScrollView[thisView] == nullptr)\r
index ef0b87d..d4df051 100644 (file)
@@ -94,7 +94,7 @@ namespace OHOS
         BrightnessControlViewSlider->SetForegroundStyle(STYLE_BACKGROUND_OPA, 0xff);
         BrightnessControlViewSlider->SetDraggable(true);
         ConfigModel *p_ConfigModel = ConfigModel::GetInstance();
-        unsigned int value = p_ConfigModel->GetScreenBrightnessValue();
+        unsigned int value = p_ConfigModel->GetBrightness();
 
         BrightnessControlViewSlider->SetValue(value);
 
index dfb437c..a2aa665 100644 (file)
@@ -217,6 +217,7 @@ void startup_post_init_task(void)
 
     initScreenBrightness();
     initializeScreenDuration();
+    initializeRaiseToWake();
 
     LOS_Msleep(5000);
     if ( poweron_cat1_on_bootup_flag() )