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;
}
#include <stdio.h>
#include <stdlib.h>
#include <system_settings.h>
+#include <system_info.h>
#include <runtime_info.h>
#include "common.h"
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));
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)
static int register_silent_module(void *data)
{
int ret;
+ bool checkVibration;
retv_if(!data, 0);
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:
* - _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;