From 7561575924a66bd4ecd8b6d558e17d2a5c56c945 Mon Sep 17 00:00:00 2001 From: mohitkr1 Date: Thu, 25 Mar 2021 10:51:41 +0530 Subject: [PATCH] [TIZENIOT-2429] Fixed Mute and Bluetooth icon which were not visible on indicator. Change-Id: I284598df7e44c885f6c72c23ff070fa395d8e0ee Signed-off-by: mohitkr1 --- src/modules/setting/bluetooth.c | 72 ++++++++++++++++++--------------- src/modules/setting/silent.c | 29 +++++++++---- 2 files changed, 61 insertions(+), 40 deletions(-) diff --git a/src/modules/setting/bluetooth.c b/src/modules/setting/bluetooth.c index 5cf8c63..7154f7f 100644 --- a/src/modules/setting/bluetooth.c +++ b/src/modules/setting/bluetooth.c @@ -136,43 +136,49 @@ static void indicator_bluetooth_change_cb(keynode_t *node, void *data) retm_if(!data, "Invalid parameter!"); - if (icon_get_update_flag() == 0) { - updated_while_lcd_off = 1; - return; - } - updated_while_lcd_off = 0; - - ret = bt_adapter_get_state(&adapter_state); - retm_if(ret != BT_ERROR_NONE, "bt_adapter_get_state failed"); - if (adapter_state != BT_ADAPTER_ENABLED) { // If adapter_state is NULL. hide_image_icon(). - _D("BT is not enabled."); - hide_image_icon(); - return; - } - - ret = vconf_get_int(VCONFKEY_BT_DEVICE, &dev); - if (ret == OK) { - _D("Show BT ICON (BT DEVICE: %d)", dev); + if(bt_initialize() == BT_ERROR_NONE) { - if (dev == VCONFKEY_BT_DEVICE_NONE) { - show_bluetooth_icon(data, NO_DEVICE); + if (icon_get_update_flag() == 0) { + updated_while_lcd_off = 1; return; } - if ((dev & VCONFKEY_BT_DEVICE_HEADSET_CONNECTED) || - (dev & VCONFKEY_BT_DEVICE_A2DP_HEADSET_CONNECTED)) { - result = HEADSET_CONNECTED; - _D("BT_HEADSET_CONNECTED(%x)", result); - } - if ((dev & VCONFKEY_BT_DEVICE_SAP_CONNECTED) - || (dev & VCONFKEY_BT_DEVICE_PBAP_CONNECTED) - || (dev & VCONFKEY_BT_DEVICE_HID_CONNECTED) - || (dev & VCONFKEY_BT_DEVICE_PAN_CONNECTED)) { - result = (result | DEVICE_CONNECTED); - _D("BT_DEVICE_CONNECTED(%x)", result); + updated_while_lcd_off = 0; + + ret = bt_adapter_get_state(&adapter_state); + retm_if(ret != BT_ERROR_NONE, "bt_adapter_get_state failed"); + if (adapter_state != BT_ADAPTER_ENABLED) { // If adapter_state is NULL. hide_image_icon(). + _D("BT is not enabled."); + hide_image_icon(); + return; } - show_bluetooth_icon(data, result); - } else - hide_image_icon(); + + ret = vconf_get_int(VCONFKEY_BT_DEVICE, &dev); + if (ret == OK) { + _D("Show BT ICON (BT DEVICE: %d)", dev); + + if (dev == VCONFKEY_BT_DEVICE_NONE) { + show_bluetooth_icon(data, NO_DEVICE); + return; + } + if ((dev & VCONFKEY_BT_DEVICE_HEADSET_CONNECTED) || + (dev & VCONFKEY_BT_DEVICE_A2DP_HEADSET_CONNECTED)) { + result = HEADSET_CONNECTED; + _D("BT_HEADSET_CONNECTED(%x)", result); + } + if ((dev & VCONFKEY_BT_DEVICE_SAP_CONNECTED) + || (dev & VCONFKEY_BT_DEVICE_PBAP_CONNECTED) + || (dev & VCONFKEY_BT_DEVICE_HID_CONNECTED) + || (dev & VCONFKEY_BT_DEVICE_PAN_CONNECTED)) { + result = (result | DEVICE_CONNECTED); + _D("BT_DEVICE_CONNECTED(%x)", result); + } + show_bluetooth_icon(data, result); + } else + hide_image_icon(); + + bt_deinitialize(); + } + return; } diff --git a/src/modules/setting/silent.c b/src/modules/setting/silent.c index 60de4ff..4f77684 100644 --- a/src/modules/setting/silent.c +++ b/src/modules/setting/silent.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include "common.h" @@ -101,12 +102,18 @@ static void hide_image_icon(void) static bool _get_sound_profile(bool *silent_mode, bool *vib_status) { int ret; + bool checkVibration; ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, silent_mode); retvm_if(ret != SYSTEM_SETTINGS_ERROR_NONE, false, "Failed to get silent mode status."); - ret = runtime_info_get_value_bool(RUNTIME_INFO_KEY_VIBRATION_ENABLED, vib_status); - retvm_if(ret != RUNTIME_INFO_ERROR_NONE, false, "Failed to get vibration status."); + ret = system_info_get_platform_bool("tizen.org/feature/feedback.vibration", &checkVibration); + retvm_if(ret != SYSTEM_INFO_ERROR_NONE, ret, "Failed to get system info."); + + if(checkVibration) { + ret = runtime_info_get_value_bool(RUNTIME_INFO_KEY_VIBRATION_ENABLED, vib_status); + retvm_if(ret != RUNTIME_INFO_ERROR_NONE, false, "Failed to get vibration status."); + } _D("CURRENT Sound Status: %d, Vibration Status: %d", (int)(*silent_mode), (int)(*vib_status)); @@ -131,8 +138,9 @@ static void _display_sound_profile(void) bool silent_mode = false; bool vib_status = false; - if (_get_sound_profile(&silent_mode, &vib_status)) + if (_get_sound_profile(&silent_mode, &vib_status)) { _set_sound_profile(silent_mode, vib_status); + } } static void _system_setting_silent_change_cb(system_settings_key_e key, void *user_data) @@ -177,6 +185,7 @@ static char *access_info_cb(void *data, Evas_Object *obj) static int register_silent_module(void *data) { int ret; + bool checkVibration; retv_if(!data, 0); @@ -185,11 +194,16 @@ static int register_silent_module(void *data) ret = util_system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, _system_setting_silent_change_cb, data); retvm_if(ret != SYSTEM_SETTINGS_ERROR_NONE, ret, "Failed to set silent mode change callback function."); - ret = util_runtime_info_set_changed_cb(RUNTIME_INFO_KEY_VIBRATION_ENABLED, _runtime_info_vibration_change_cb, data); - if (ret != RUNTIME_INFO_ERROR_NONE) - util_system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, _system_setting_silent_change_cb); + ret = system_info_get_platform_bool("tizen.org/feature/feedback.vibration", &checkVibration); + retvm_if(ret != SYSTEM_INFO_ERROR_NONE, ret, "Failed to get system info."); - retvm_if(ret != RUNTIME_INFO_ERROR_NONE, ret, "Failed to set vibration change callback function."); + if(checkVibration) { + ret = util_runtime_info_set_changed_cb(RUNTIME_INFO_KEY_VIBRATION_ENABLED, _runtime_info_vibration_change_cb, data); + if (ret != RUNTIME_INFO_ERROR_NONE) + util_system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, _system_setting_silent_change_cb); + + retvm_if(ret != RUNTIME_INFO_ERROR_NONE, ret, "Failed to set vibration change callback function."); + } /* It is sufficient to call only one callback function responsible for sound profile display, * as both functions: @@ -197,6 +211,7 @@ static int register_silent_module(void *data) * - _runtime_info_vibration_change_cb() * does the same but in different context. */ + _system_setting_silent_change_cb(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, data); return ret; -- 2.34.1