"CallStarted", NULL);
bt_hf_info->is_dialing = FALSE;
bt_hf_info->call_active = TRUE;
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_STARTED;
} else if (bt_hf_info->call_active) {
__bt_hf_agent_emit_signal(conn,
BT_HF_SERVICE_INTERFACE,
"CallEnded", NULL);
bt_hf_info->call_active = FALSE;
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_ENDED;
if (bt_hf_info->ciev_call_setup_status == 0) {
BT_HF_AGENT_OBJECT_PATH,
BT_HF_SERVICE_INTERFACE,
"CallIdle", NULL);
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_IDLE;
}
}
BT_HF_SERVICE_INTERFACE,
"CallTerminated",
NULL);
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_TERMINATED;
} else if (!bt_hf_info->is_dialing && value > 0) {
bt_hf_info->is_dialing = TRUE;
BT_HF_AGENT_OBJECT_PATH,
BT_HF_SERVICE_INTERFACE,
"CallSetupIncoming", NULL);
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_SETUP_INCOMING;
if (__bt_hf_agent_launch_call_app() == FALSE)
DBG("call app launching failed");
BT_HF_AGENT_OBJECT_PATH,
BT_HF_SERVICE_INTERFACE,
"CallSetupDialing", NULL);
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_SETUP_DIALING;
} else if (bt_hf_info->ciev_call_setup_status == 3) {
__bt_hf_agent_emit_signal(gdbus_conn,
BT_HF_AGENT_OBJECT_PATH,
BT_HF_SERVICE_INTERFACE,
"CallSetupAlerting", NULL);
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_SETUP_ALERTING;
} else if (bt_hf_info->ciev_call_status == 0 &&
bt_hf_info->ciev_call_setup_status == 0) {
BT_HF_AGENT_OBJECT_PATH,
BT_HF_SERVICE_INTERFACE,
"CallIdle", NULL);
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_IDLE;
}
} else if (!strcmp(name, "\"callheld\"")) {
g_io_channel_set_flags(sco_io, G_IO_FLAG_NONBLOCK, NULL);
g_io_channel_set_buffered(sco_io, FALSE);
- if (TIZEN_MODEL_NAME_DA) {
+ if (TIZEN_DEVICE_TYPE_DA) {
bt_hf_info->call_state = BT_HF_DA_CALL_STAT_CALL_IDLE;
bt_hf_info->is_first_audio_out = TRUE;
bt_hf_info->is_first_audio_in = TRUE;
guint feature;
- if (TIZEN_MODEL_NAME_DA) {
+ if (TIZEN_DEVICE_TYPE_DA) {
ret = __bt_hf_send_and_read(bt_hf_info, BT_HF_XSAT_DA, buf,
sizeof(BT_HF_XSAT_DA) - 1);
if (!ret) {
}
}
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
feature = BT_HF_FEATURE_CLI_PRESENTATION |
BT_HF_FEATURE_REMOTE_VOLUME_CONTROL |
BT_HF_FEATURE_ESCO_S4;
else
ERR("__bt_get_bia_cmd is failed");
- if (!TIZEN_MODEL_NAME_DA) {
+ if (!TIZEN_DEVICE_TYPE_DA) {
ret = __bt_hf_send_and_read(bt_hf_info, BT_HF_XSAT, buf,
sizeof(BT_HF_XSAT) - 1);
if (ret)
sound_device_type_e selected_type = SOUND_DEVICE_BUILTIN_SPEAKER;
sound_device_type_e type = SOUND_DEVICE_BUILTIN_SPEAKER;
- if (TIZEN_MODEL_NAME_FHUB) {
- char *processor = NULL;
-
- system_info_get_platform_string("tizen.org/system/platform.processor", &processor);
- if (processor) {
- if (!strcasecmp(processor, "SDP1601")) {
- DBG("set specific sound type");
- selected_type = SOUND_DEVICE_BUILTIN_RECEIVER;
- type = SOUND_DEVICE_BUILTIN_RECEIVER;
- }
- free(processor);
- }
- }
-
if (g_stream_info_write_h) {
ERR("there is already created one %p", g_stream_info_write_h);
__unprepare_stream_info();
__bt_convert_addr_type_to_rev_string(bt_hf_info.remote_addr,
address.remote_bdaddr.b);
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
__prepare_stream_info();
g_idle_add(__bt_agent_request_service_level_conn, NULL);
int bt_device_state = VCONFKEY_BT_DEVICE_NONE;
GDBusConnection *conn;
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
__unprepare_stream_info();
if (clcc_timer) {
g_variant_builder_add(builder, "{sv}",
"features", g_variant_new("q", features));
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
ret = g_dbus_proxy_call_sync(proxy, "RegisterProfile",
g_variant_new("(osa{sv})", object,
uuid, builder),
if (ret)
ERR("Error in hf register");
- if (TIZEN_MODEL_NAME_DA) {
+ if (TIZEN_DEVICE_TYPE_DA) {
ret = __bt_hf_register_profile(PBAP_PCE_UUID, 0x0101,
"Phone Book Access Client",
BT_PBAP_CLIENT_OBJECT_PATH, 0);
{
uint32_t hf_features;
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
hf_features = BT_HF_FEATURE_CLI_PRESENTATION |
BT_HF_FEATURE_REMOTE_VOLUME_CONTROL |
BT_HF_FEATURE_ESCO_S4;
hf_features = hf_features | BT_HF_FEATURE_CODEC_NEGOTIATION;
}
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
hf_ver = HFP_VERSION_1_7;
else
hf_ver = HFP_VERSION_1_6;
g_type_init();
#endif
hf_features = __bt_hf_agent_get_hf_features();
- if (TIZEN_MODEL_NAME_DA)
+ if (TIZEN_DEVICE_TYPE_DA)
bt_hf_info.feature = (uint16_t) hf_features & 0xFFFF;
else
bt_hf_info.feature = (uint16_t) hf_features & 0x3F;
_MODEL_TM2 = 0x2,
_MODEL_TW1 = 0x4,
_MODEL_TW2 = 0x8,
- _MODEL_FHUB = 0x10,
- _MODEL_DA = 0x20,
} tizen_model_name_t;
+typedef enum {
+ _DEV_UNKNOWN = 0,
+ _DEV_COMMON = 0x1,
+ _DEV_DA = 0x2,
+} tizen_device_t;
+
extern tizen_model_name_t model_name;
+static tizen_device_t device = _DEV_UNKNOWN;
/* LCOV_EXCL_START */
static inline tizen_model_name_t get_tizen_model_name()
model_name = _MODEL_TW1;
else if (g_strcmp0(modelName, "TW2") == 0)
model_name = _MODEL_TW2;
- else if (!strncasecmp(modelName, "Family Hub", 10))
- model_name = _MODEL_FHUB;
- else if (!strcasecmp(modelName, "Robot Vacuum Cleaner") ||
- !strcasecmp(modelName, "Smart Dryer") ||
- !strcasecmp(modelName, "Smart Washer") ||
- !strcasecmp(modelName, "DDMS") ||
- !strcasecmp(modelName, "Smart Cooktop") ||
- !strcasecmp(modelName, "Smart Range") ||
- !strcasecmp(modelName, "Refrigerator") ||
- !strcasecmp(modelName, "Echo Heating System Controller") ||
- !strcasecmp(modelName, "Bespoke Washer") ||
- !strcasecmp(modelName, "Bespoke Dryer") ||
- !strcasecmp(modelName, "Appliance Emulator") ||
- !strcasecmp(modelName, "Smart Oven") ||
- !strcasecmp(modelName, "Smart AC") ||
- !strcasecmp(modelName, "AI Vision Refrigerator") ||
- !strncasecmp(modelName, "AI Home", 7))
- model_name = _MODEL_DA;
else
model_name = _MODEL_UNKNOWN;
return model_name;
}
+
+static inline tizen_device_t get_tizen_device_type(void)
+{
+ char *device_type = NULL;
+
+ if (__builtin_expect(device != _DEV_UNKNOWN, 1))
+ return device;
+
+ system_info_get_platform_string("http://tizen.org/system/device_type", &device_type);
+
+ if (device_type == NULL) {
+ device = _DEV_COMMON;
+ return device;
+ }
+
+ if (!strcasecmp(device_type, "Robot Vacuum") ||
+ !strcasecmp(device_type, "System A/C") ||
+ !strcasecmp(device_type, "Washer") ||
+ !strcasecmp(device_type, "Dryer") ||
+ !strcasecmp(device_type, "Cooktop") ||
+ !strcasecmp(device_type, "Range") ||
+ !strncasecmp(device_type, "Refrigerator", 12) ||
+ !strcasecmp(device_type, "Appliance") ||
+ !strcasecmp(device_type, "Oven"))
+ device = _DEV_DA;
+ else
+ device = _DEV_COMMON;
+
+ free(device_type);
+
+ return device;
+}
+
/* LCOV_EXCL_STOP */
#define TIZEN_PROFILE_WEARABLE (get_tizen_profile() == _PROFILE_WEARABLE)
#define TIZEN_MODEL_NAME_TM2 (get_tizen_model_name() == _MODEL_TM2)
#define TIZEN_MODEL_NAME_TW1 (get_tizen_model_name() == _MODEL_TW1)
#define TIZEN_MODEL_NAME_TW2 (get_tizen_model_name() == _MODEL_TW2)
-#define TIZEN_MODEL_NAME_FHUB (get_tizen_model_name() == _MODEL_FHUB)
-#define TIZEN_MODEL_NAME_DA (get_tizen_model_name() & (_MODEL_FHUB | _MODEL_DA))
+
+#define TIZEN_DEVICE_TYPE_DA (get_tizen_device_type() == _DEV_DA)
#endif /* __DEF_BT_AGENT_PROFILE_H_ */