From: luozheng <1732036298@qq.com> Date: Mon, 22 Apr 2024 03:45:29 +0000 (+0800) Subject: 增加静音模式开关 X-Git-Tag: release_V1.2.70_20241020_135402~1025^2~86 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=19219cfa293b79926de4d9a9ccff854d87342a8d;p=mirrors%2FFD230.git 增加静音模式开关 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h index b96626f04..e1bedb40d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h @@ -126,9 +126,6 @@ namespace OHOS void SetVibrationReminder(int state); int GetVibrationReminder(void); - void SetSilentMode(bool state); - bool GetSilentMode(void); - void SetCat1_4Gability(bool state); bool GetCat1_4Gability(); @@ -151,6 +148,10 @@ namespace OHOS void SetCallVolume(int value); int GetCallVolume(void); + + + void SetSilentMode(bool state); + bool GetSilentMode(void); /* --------------------------------- 用户配置信息 --------------------------------- */ void SetUserAge(int age); int GetUserAge(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h index 25e7e3d52..691618415 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h +++ b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-04-17 09:32:03 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-04-22 09:48:51 + * @LastEditTime: 2024-04-22 10:54:51 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h */ #ifndef _CONFIG_MODEL_C_H_ @@ -50,6 +50,11 @@ void initializeRaiseToWake(void); * @brief 初始化系统音量和通话音量 */ void initializeVolume(void); + +/* + * @brief 初始化静音模式 + */ +void initializeSilentModel(void); #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp index dfcfd6baf..d36ff1968 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp @@ -575,7 +575,7 @@ namespace OHOS } /* - * @brief 设置震动提醒 + * @brief 设置震动模式强度 * @param 马达 开关, 0 关, 1 å¼±, 2 中,3 强 */ void ConfigModel::SetVibrationReminder(int state) @@ -583,7 +583,7 @@ namespace OHOS set_condigData_Bool(CONFIGMODEL_ITEM_VIBRATOR_SWITCH,state); } - /*获取震动提醒是否开启*/ + /*获取震动模式强度*/ int ConfigModel::GetVibrationReminder(void) { return get_configData_int(CONFIGMODEL_ITEM_VIBRATOR_SWITCH); @@ -814,6 +814,13 @@ void initializeVolume(void) uapi_callVolumeSet(callVolume); } +void initializeSilentModel(void) +{ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeVolume"); + bool isopen = OHOS::ConfigModel::GetInstance()->GetSilentMode(); + uapi_setSilentMode(isopen); +} + #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationModel.h b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationModel.h index 341f2d00c..b22c34ffa 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationModel.h @@ -9,9 +9,8 @@ namespace OHOS static SoundAndVibrationModel *GetInstance(void); void SetVibrationReminderToggleButtonStaus(bool value); - bool VibrationReminderToggleButtonStatusInit(void); void SetSilentModeToggleButtonStatus(bool value); - bool SilentModeToggleButtonStatusInit(void); + bool GetSilentModeToggleButtonStatus(void); private: SoundAndVibrationModel(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationPresenter.h index 4440804e0..eca2e78b9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationPresenter.h @@ -33,7 +33,6 @@ namespace OHOS void OnStop() override; static SoundAndVibrationPresenter *GetInstance(); - void SilentModeToggleButtonStateSetting(bool value); private: // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationVolumeSettingC.h b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationVolumeSettingC.h index 0c0648612..03ce63cc3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationVolumeSettingC.h +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationVolumeSettingC.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-04-19 18:59:49 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-04-19 19:08:01 + * @LastEditTime: 2024-04-22 11:26:38 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationVolumeSettingC.h */ #ifndef SOUND_AND_VIBRATION_VOLUME_SETTINGC_H @@ -15,10 +15,11 @@ extern "C" #endif #endif #include +#include void SystemVolumeSet(int16_t sounding); void CallVolumeSet(int16_t sounding); - + bool SilentModelSet(bool isopen); #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp index 1513db2bd..42213cbf0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-02-23 09:17:00 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-04-18 18:03:36 + * @LastEditTime: 2024-04-22 10:30:00 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationModel.cpp */ #include "soundandvibration/include/SoundAndVibrationModel.h" @@ -14,7 +14,7 @@ namespace OHOS SoundAndVibrationModel::SoundAndVibrationModel() { - ConfigModel *p_ConfigModel = ConfigModel::GetInstance(); + ConfigModel *p_ConfigModel = ConfigModel::GetInstance(); VibrationReminderToggleButtonState = p_ConfigModel->GetVibrationReminder(); SilentModeToggleButtonState = p_ConfigModel->GetSilentMode(); } @@ -41,19 +41,10 @@ namespace OHOS ConfigModel::GetInstance()->SetSilentMode(value); } - /// @brief “静音模式”切换按钮状态初始化 - /// @param void - /// @return true 初始化成功 false 初始化失败 - bool SoundAndVibrationModel::SilentModeToggleButtonStatusInit(void) + /// @brief 获取“静音模式”是否开启 + bool SoundAndVibrationModel::GetSilentModeToggleButtonStatus(void) { - SoundAndVibrationPresenter *p_SoundAndVibrationPresenter = SoundAndVibrationPresenter::GetInstance(); - if (p_SoundAndVibrationPresenter == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SilentModeToggleButtonStatusInit SoundAndVibrationPresenter GetInstance fail!"); - return false; - } - p_SoundAndVibrationPresenter->SilentModeToggleButtonStateSetting(SilentModeToggleButtonState); - return true; + return ConfigModel::GetInstance()->GetSilentMode(); } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationPresenter.cpp index e5dac2f9f..d7f11ebe9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationPresenter.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-02-19 10:39:11 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-04-19 21:05:28 + * @LastEditTime: 2024-04-22 11:27:48 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationPresenter.cpp */ @@ -17,6 +17,7 @@ #include "custom_utils.h" #include "config/include/ConfigModel.h" #include +#include "soundandvibration/include/SoundAndVibrationVolumeSettingC.h" namespace OHOS { @@ -42,22 +43,6 @@ namespace OHOS return g_pSoundAndVibrationPresenter; } - /// @brief "静音模式"按钮状态设置 - /// @param value true 开启 false 关闭 - void SoundAndVibrationPresenter::SilentModeToggleButtonStateSetting(bool value) - { - SoundAndVibrationView *p_SoundAndVibrationView = SoundAndVibrationView::GetInstance(); - if (p_SoundAndVibrationView == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SilentModeToggleButtonStateSetting SoundAndVibrationView GetInstance fail!"); - return; - } - if (value != false) - { - p_SoundAndVibrationView->SetSilentModeToggleButtonState(true); - } - } - void SoundAndVibrationPresenter::OnStart() { @@ -140,11 +125,11 @@ namespace OHOS { case UICheckBox::SELECTED: WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SilentMode is enable!"); - p_SoundAndVibrationModel->SetSilentModeToggleButtonStatus(true); + p_SoundAndVibrationModel->SetSilentModeToggleButtonStatus(SilentModelSet(true)); break; case UICheckBox::UNSELECTED: WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SilentMode is disable!"); - p_SoundAndVibrationModel->SetSilentModeToggleButtonStatus(false); + p_SoundAndVibrationModel->SetSilentModeToggleButtonStatus(SilentModelSet(false)); break; default: break; diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationView.cpp b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationView.cpp index c3c0a710e..02b8a3092 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-02-19 10:39:14 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-04-19 21:06:11 + * @LastEditTime: 2024-04-22 10:33:47 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationView.cpp */ #include "soundandvibration/include/SoundAndVibrationView.h" @@ -164,7 +164,7 @@ namespace OHOS struct ButtonSetup { int y; - const char * viewId; + const char *viewId; const char *text; bool clickEffect; }; @@ -209,6 +209,7 @@ namespace OHOS SilentModeToggleButton->SetPosition(298, 505, 100, 50); SilentModeToggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00); SilentModeToggleButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + SilentModeToggleButton->SetState(SoundAndVibrationModel::GetInstance()->GetSilentModeToggleButtonStatus()); const char *ToggleButtonSelect = "/user/res/TOGGLEBUTTON_ON.bin"; const char *ToggleButtonUnSelect = "/user/res/TOGGLEBUTTON_OFF.bin"; SilentModeToggleButton->SetImages(ToggleButtonSelect, ToggleButtonUnSelect); @@ -256,10 +257,6 @@ namespace OHOS { return; } - // if (SoundAndVibrationModel::GetInstance()->SilentModeToggleButtonStatusInit() == false) - // { - // return; - // } } void SoundAndVibrationView::OnStart() diff --git a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingPresenter.cpp index 7a240c89d..bcc40fae3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingPresenter.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-04-19 10:08:31 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-04-22 09:35:44 + * @LastEditTime: 2024-04-22 11:28:47 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationVolumeSettingPresenter.cpp */ #include "soundandvibration/include/SoundAndVibrationVolumeSettingPresenter.h" @@ -12,6 +12,7 @@ #include #include "phoneservice/include/PhoneAudio.h" #include "phoneservice/include/PhoneService.h" +#include "../../../../../../middleware/services/media/foundation/audiomanager/frameworks/audioservice/include/audio_service.h" namespace OHOS { @@ -168,6 +169,13 @@ extern "C" SetSpeakerVolume(sounding); } + /* + * @brief 静音模式设置 + */ + bool SilentModelSet(bool isopen) + { + return AudioServiceSetMasterMute(isopen); + } #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.c b/code/sdk/drivers/peripheral/utils/custom_utils.c index 8ed2104ee..1809eb399 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.c +++ b/code/sdk/drivers/peripheral/utils/custom_utils.c @@ -223,6 +223,8 @@ void startup_post_init_task(void) initScreenBrightness(); initializeScreenDuration(); initializeRaiseToWake(); + initializeVolume(); + initializeSilentModel(); LOS_Msleep(5000); addressbookToRead(); @@ -634,6 +636,12 @@ void uapi_callVolumeSet(int16_t sounding) CallVolumeSet(sounding); } +//设置是否静音 +void uapi_setSilentMode(bool isopen) +{ + SilentModelSet(isopen); +} + #include "bts_le_gap.h" diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.h b/code/sdk/drivers/peripheral/utils/custom_utils.h index fe407ba37..48a041da7 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.h +++ b/code/sdk/drivers/peripheral/utils/custom_utils.h @@ -61,6 +61,7 @@ int32_t uapi_get_screen_state(void); void uapi_systemVolumeSet(int16_t sounding); void uapi_callVolumeSet(int16_t sounding); +void uapi_setSilentMode(bool isopen); errcode_t uapi_get_btaddr(uint8_t *buf_btaddr, uint32_t *len_btaddr); errcode_t uapi_get_btname(uint8_t *buf_btname, uint32_t *len_btname);