将用户设置系统音量和通话音量保存在ConfigModel中 61/1 61/head
authorluozheng <1732036298@qq.com>
Mon, 22 Apr 2024 02:09:24 +0000 (10:09 +0800)
committerluozheng <1732036298@qq.com>
Mon, 22 Apr 2024 02:09:24 +0000 (10:09 +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/soundandvibration/src/CallVolumeView.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingView.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SystemVolumeView.cpp

index d5e5f1f..b96626f 100644 (file)
@@ -65,6 +65,8 @@ namespace OHOS
             CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE,    //运动目标距离
             CONFIGMODEL_ITEM_DNOTDISTURB,//勿扰模式
             CONFIGMODEL_ITEM_TRANING_FREQ,//训练实时数据上传频率
+            CONFIGMODEL_ITEM_SYSTEM_VOLUME,//系统音量
+            CONFIGMODEL_ITEM_CALL_VOLUME,//通话音量
             CONFIGMODEL_ITEM_MAX,
         } ;
 
@@ -142,6 +144,13 @@ namespace OHOS
 
         void SetRaiseToWake(bool value);
         bool GetRaiseToWake(void);
+        /* ----------------------------- 声音与震动相关set与get ----------------------------- */
+        
+        void SetSystemVolume(int value);
+        int GetSystemVolume(void);
+
+        void SetCallVolume(int value);
+        int GetCallVolume(void);
         /* --------------------------------- 用户配置信息 --------------------------------- */
         void SetUserAge(int age);
         int GetUserAge();
@@ -180,6 +189,8 @@ namespace OHOS
             {ConfigDataType::DATATYPE_DOUBLE,   "GoalDistance",             "8.0"   },// CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE,    //运动目标距离   8.0(km)
             {ConfigDataType::DATATYPE_BOOL,     "Dnotdisturb",              "false" },// CONFIGMODEL_ITEM_DNOTDISTURB //勿扰模式默认关闭
             {ConfigDataType::DATATYPE_INT,     "traningfreq",              "10" },// CONFIGMODEL_ITEM_TRANING_FREQ //训练实时数据上传频率//单位秒
+            {ConfigDataType::DATATYPE_INT,     "SystemVolume",               "100"  },// CONFIGMODEL_ITEM_SYSTEM_VOLUME //
+            {ConfigDataType::DATATYPE_INT,     "CallVolume",                 "100"  },// CONFIGMODEL_ITEM_CALL_VOLUME //
         };
         ConfigModel();                                        // 私有构造函数,确保无法在外部实例化
         ConfigModel(const ConfigModel &) = delete;            // 禁止拷贝构造
index dbabfb4..25e7e3d 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-18 15:44:00
+ * @LastEditTime: 2024-04-22 09:48:51
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h
  */
 #ifndef _CONFIG_MODEL_C_H_
@@ -45,6 +45,11 @@ void initializeScreenDuration(void);
  * @brief 初始化抬腕亮屏 
  */
 void initializeRaiseToWake(void);
+
+/*
+ * @brief 初始化系统音量和通话音量 
+ */
+void initializeVolume(void);
 #ifdef __cplusplus
 #if __cplusplus
 }
index 51186fd..dfcfd6b 100644 (file)
@@ -646,6 +646,30 @@ namespace OHOS
     {
         return get_configData_int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE);
     }
+
+    //设置系统音量
+    void ConfigModel::SetSystemVolume(int value)
+    {
+        set_condigData_Int(CONFIGMODEL_ITEM_SYSTEM_VOLUME,value);
+    }
+
+    //获取系统音量
+    int ConfigModel::GetSystemVolume(void)
+    {
+        return get_configData_int(CONFIGMODEL_ITEM_SYSTEM_VOLUME);
+    }
+
+    //设置通话音量
+    void ConfigModel::SetCallVolume(int value)
+    {
+        set_condigData_Int(CONFIGMODEL_ITEM_CALL_VOLUME,value);
+    }
+    
+    //获取通话音量
+    int ConfigModel::GetCallVolume(void)
+    {
+        return get_configData_int(CONFIGMODEL_ITEM_CALL_VOLUME);
+    }
 /* -------------------------------------------------------------------------- */
     /*设置用户年龄[后续使用结构体统一配置]*/
     void ConfigModel::SetUserAge(int age)
@@ -780,6 +804,16 @@ void initializeRaiseToWake(void)
         // uapi_take_to_wake(0);
     }
 }
+
+void initializeVolume(void)
+{
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeVolume");
+    int systemVolume =  OHOS::ConfigModel::GetInstance()->GetSystemVolume();
+    int callVolume = OHOS::ConfigModel::GetInstance()->GetCallVolume();
+    uapi_systemVolumeSet(systemVolume);
+    uapi_callVolumeSet(callVolume);
+}
+
 #ifdef __cplusplus
 #if __cplusplus
 }
index 1f32219..ac099d0 100644 (file)
@@ -4,7 +4,7 @@
 #include <audio_manager.h>\r
 #include "phoneservice/include/PhoneAudio.h"\r
 #include "phoneservice/include/PhoneService.h"\r
-\r
+#include "config/include/ConfigModel.h"\r
 namespace OHOS\r
 {\r
 \r
@@ -67,8 +67,12 @@ namespace OHOS
 \r
         // p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(PhoneAudioGetVolume());\r
         // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallVolume = %d", PhoneAudioGetVolume());\r
-        p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(GetCallCurrVolume());\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallVolume = %d", GetCallCurrVolume());\r
+        // p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(GetCallCurrVolume());\r
+        // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallVolume = %d", GetCallCurrVolume());\r
+        \r
+        int callVolume = ConfigModel::GetInstance()->GetCallVolume();\r
+        p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(callVolume);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallVolume = %d", callVolume);\r
 \r
         initViewStatus = true;\r
         return CallVolumeScrollView;\r
index 0d19373..7a240c8 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-19 10:08:31
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-19 19:01:17
+ * @LastEditTime: 2024-04-22 09:35:44
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingPresenter.cpp
  */
 #include "soundandvibration/include/SoundAndVibrationVolumeSettingPresenter.h"
@@ -29,11 +29,11 @@ namespace OHOS
             }
             if (view->GetVolumeType() == SYSTEM_VOLUME)
             {
-                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_SYSTEM_VOLUME, (void *)(value), sizeof(value));
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_SYSTEM_VOLUME, (void *)(&value), sizeof(value));
             }
             else if (view->GetVolumeType() == CALL_VOLUME)
             {
-                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_CALL_VOLUME, (void *)(value), sizeof(value));
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_CALL_VOLUME, (void *)(&value), sizeof(value));
             }
             slider->SetValue(newVolumeValue);
         }
@@ -51,11 +51,11 @@ namespace OHOS
             }
             if (view->GetVolumeType() == SYSTEM_VOLUME)
             {
-                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_SYSTEM_VOLUME, (void *)(value), sizeof(value));
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_SYSTEM_VOLUME, (void *)(&value), sizeof(value));
             }
             else if (view->GetVolumeType() == CALL_VOLUME)
             {
-                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_CALL_VOLUME, (void *)(value), sizeof(value));
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_CALL_VOLUME, (void *)(&value), sizeof(value));
             }
             slider->SetValue(newVolumeValue);
         }
@@ -118,13 +118,13 @@ namespace OHOS
 
     void VoumeProcessSliderEventListener::OnChange(int32_t value)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnChange %d", value);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnChange %d", value);
         ChangeVolumeValue(OTHER, value);
     }
 
     void VoumeProcessSliderEventListener::OnRelease(int32_t value)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnRelease %d", value);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnRelease %d", value);
         ChangeVolumeValue(OTHER, value);
     }
 
@@ -154,7 +154,7 @@ extern "C"
      */
     void SystemVolumeSet(int16_t sounding)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemVolumeSet %d", sounding);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemVolumeSet %d", sounding);
         Audio::AudioManager::GetInstance().SetVolume(AUDIO_STREAM_MUSIC, sounding); // 系统音量设置
     }
 
index 4b99b23..9336438 100644 (file)
@@ -1,7 +1,7 @@
 #include "soundandvibration/include/SoundAndVibrationVolumeSettingView.h"
 #include "soundandvibration/include/SoundAndVibrationVolumeSettingPresenter.h"
 #include "wearable_log.h"
-
+#include "config/include/ConfigModel.h"
 namespace OHOS
 {
     static SoundAndVibrationVolumeSettingView *g_pSoundAndVibrationVolumeSettingView{nullptr};
@@ -31,6 +31,16 @@ namespace OHOS
         {
             ScrollView->RemoveAll();
 
+            int volume = VolumeProcess->GetValue();
+            if (m_VolumeType == SYSTEM_VOLUME)
+            {
+                ConfigModel::GetInstance()->SetSystemVolume(volume);
+            }
+            else if (m_VolumeType == CALL_VOLUME)
+            {
+                ConfigModel::GetInstance()->SetCallVolume(volume);
+            }
+
             delete VolumeProcess;
             VolumeProcess = nullptr;
 
index 038860f..5b1a02f 100644 (file)
@@ -2,6 +2,7 @@
 #include "soundandvibration/include/SystemVolumePresenter.h"\r
 #include "wearable_log.h"\r
 #include <audio_manager.h>\r
+#include "config/include/ConfigModel.h"\r
 /*\r
 系统音量:\r
 通话,提醒,查找手表的音量\r
@@ -67,8 +68,12 @@ namespace OHOS
             return nullptr;\r
         }\r
 \r
-        p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(Audio::AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC));\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemVolume = %d", Audio::AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC));\r
+        // p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(Audio::AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC));\r
+        // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemVolume = %d", Audio::AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC));\r
+\r
+        int systemVolume = ConfigModel::GetInstance()->GetSystemVolume();\r
+        p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(systemVolume);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemVolume = %d", systemVolume);\r
 \r
         initViewStatus = true;\r
         return SystemVolumeScrollView;\r