[TIZENIOT-2429] Fixed Mute and Bluetooth icon which were not visible on indicator. 50/255950/1 accepted/tizen_6.0_unified accepted/tizen/6.0/unified/20210405.132834 accepted/tizen/6.0/unified/20211029.080628 submit/tizen_6.0/20210325.104409 submit/tizen_6.0/20211029.144301
authormohitkr1 <mohit.kr1@samsung.com>
Thu, 25 Mar 2021 05:21:41 +0000 (10:51 +0530)
committerMohit Kumar <mohit.kr1@samsung.com>
Thu, 25 Mar 2021 10:24:20 +0000 (10:24 +0000)
Change-Id: I284598df7e44c885f6c72c23ff070fa395d8e0ee
Signed-off-by: mohitkr1 <mohit.kr1@samsung.com>
(cherry picked from commit 7561575924a66bd4ecd8b6d558e17d2a5c56c945)

src/modules/setting/bluetooth.c
src/modules/setting/silent.c

index 5cf8c63..7154f7f 100644 (file)
@@ -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;
 }
 
index 60de4ff..4f77684 100644 (file)
@@ -17,6 +17,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <system_settings.h>
+#include <system_info.h>
 #include <runtime_info.h>
 
 #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;