g_variant_builder_add(&builder, "{iv}", NOTIFICATION_DATA_TYPE_GROUP_ID, g_variant_new_int32(noti->group_id));
g_variant_builder_add(&builder, "{iv}", NOTIFICATION_DATA_TYPE_INTERNAL_GROUP_ID, g_variant_new_int32(noti->internal_group_id));
g_variant_builder_add(&builder, "{iv}", NOTIFICATION_DATA_TYPE_PRIV_ID, g_variant_new_int32(noti->priv_id));
+ g_variant_builder_add(&builder, "{iv}", NOTIFICATION_DATA_TYPE_PKG_ID, g_variant_new_string((const gchar *)noti->pkg_id));
g_variant_builder_add(&builder, "{iv}", NOTIFICATION_DATA_TYPE_CALLER_PKGNAME, g_variant_new_string((const gchar *)noti->caller_pkgname));
g_variant_builder_add(&builder, "{iv}", NOTIFICATION_DATA_TYPE_DISPLAY_APPLIST, g_variant_new_int32(noti->display_applist));
GHashTable *dict;
int i;
+ char *pkg_id = NULL;
char *caller_pkgname = NULL;
char *launch_pkgname = NULL;
bundle_raw *args = NULL;
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_GROUP_ID, "i", ¬i->group_id);
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_INTERNAL_GROUP_ID, "i", ¬i->internal_group_id);
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_PRIV_ID, "i", ¬i->priv_id);
+ _variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_PKG_ID, "&s", &pkg_id);
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_CALLER_PKGNAME, "&s", &caller_pkgname);
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_LAUNCH_PKGNAME, "&s", &launch_pkgname);
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_ARGS, "&s", &args);
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_EXTENSION_IMAGE_SIZE, "i", ¬i->extension_image_size);
_variant_dict_lookup(dict, NOTIFICATION_DATA_TYPE_UID, "i", ¬i->uid);
+ noti->pkg_id = _dup_string(pkg_id);
noti->caller_pkgname = _dup_string(caller_pkgname);
noti->launch_pkgname = _dup_string(launch_pkgname);
noti->args = _create_bundle_from_bundle_raw(args);
*query = sqlite3_mprintf("INSERT INTO noti_list ("
"type, "
"layout, "
- "caller_pkgname, launch_pkgname, "
+ "pkg_id, caller_pkgname, launch_pkgname, "
"image_path, "
"group_id, internal_group_id,"
"title_key, "
"text_input_max_length, event_flag, extension_image_size, uid) values ("
"%d, "
"%d, "
- "'%s', '%s', "
+ "'%s', '%s', '%s', "
"'%s', "
"%d, %d,"
"$title_key, "
"%d, %d, %d, %d, %d, %d, %d)",
noti->type,
noti->layout,
+ NOTIFICATION_CHECK_STR(noti->pkg_id),
NOTIFICATION_CHECK_STR(noti->caller_pkgname),
NOTIFICATION_CHECK_STR(noti->launch_pkgname),
NOTIFICATION_CHECK_STR(b_image_path), noti->group_id,
noti->type = sqlite3_column_int(stmt, col++);
noti->layout = sqlite3_column_int(stmt, col++);
+ __free_and_set((void **)&(noti->pkg_id), notification_db_column_text(stmt, col++));
__free_and_set((void **)&(noti->caller_pkgname), notification_db_column_text(stmt, col++));
__free_and_set((void **)&(noti->launch_pkgname), notification_db_column_text(stmt, col++));
noti->b_image_path = notification_db_column_bundle(stmt, col++);
for (i = 0; i <= NOTIFICATION_EVENT_TYPE_MAX; i++)
noti->b_event_handler[i] = notification_db_column_bundle(stmt, col++);
-
noti->sound_type = sqlite3_column_int(stmt, col++);
__free_and_set((void **)&(noti->sound_path), notification_db_column_text(stmt, col++));
noti->vibration_type = sqlite3_column_int(stmt, col++);
return get_last_result();
char *base_query = "select "
- "type, layout, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
+ "type, layout, pkg_id, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
"tag, b_text, b_key, b_format_args, num_format_args, "
"text_domain, text_dir, time, insert_time, args, group_args, "
"b_execute_option, b_service_responding, b_service_single_launch, b_service_multi_launch, "
if (pkgname != NULL && strlen(pkgname) != 0) {
ret = sqlite3_prepare_v2(db, "select "
- "type, layout, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
+ "type, layout, pkg_id, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
"tag, b_text, b_key, b_format_args, num_format_args, "
"text_domain, text_dir, time, insert_time, args, group_args, "
"b_execute_option, b_service_responding, b_service_single_launch, b_service_multi_launch, "
} else {
ret = sqlite3_prepare_v2(db, "select "
- "type, layout, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
+ "type, layout, pkg_id, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
"tag, b_text, b_key, b_format_args, num_format_args, "
"text_domain, text_dir, time, insert_time, args, group_args, "
"b_execute_option, b_service_responding, b_service_single_launch, b_service_multi_launch, "
ret = vconf_get_int(VCONFKEY_TELEPHONY_SIM_SLOT, &status);
snprintf(query_base, sizeof(query_base), "select "
- "type, layout, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
+ "type, layout, pkg_id, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
"tag, b_text, b_key, b_format_args, num_format_args, "
"text_domain, text_dir, time, insert_time, args, group_args, "
"b_execute_option, b_service_responding, b_service_single_launch, b_service_multi_launch, "
ret = vconf_get_int(VCONFKEY_TELEPHONY_SIM_SLOT, &status);
snprintf(query_base, sizeof(query_base), "select "
- "type, layout, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
+ "type, layout, pkg_id, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
"tag, b_text, b_key, b_format_args, num_format_args, "
"text_domain, text_dir, time, insert_time, args, group_args, "
"b_execute_option, b_service_responding, b_service_single_launch, b_service_multi_launch, "
*query = sqlite3_mprintf("INSERT OR REPLACE INTO noti_template ("
"type, "
"layout, "
- "caller_pkgname, launch_pkgname, "
+ "pkg_id, caller_pkgname, launch_pkgname, "
"image_path, "
"group_id, internal_group_id,"
"title_key, "
"event_flag, extension_image_size, uid, template_name) values ("
"%d, "
"%d, "
- "'%s', '%s', "
+ "'%s', '%s', '%s', "
"'%s', "
"%d, %d,"
"$title_key, "
"%d, %d, %d, '%s')",
noti->type,
noti->layout,
+ NOTIFICATION_CHECK_STR(noti->pkg_id),
NOTIFICATION_CHECK_STR(noti->caller_pkgname),
NOTIFICATION_CHECK_STR(noti->launch_pkgname),
NOTIFICATION_CHECK_STR(b_image_path), noti->group_id,
return get_last_result();
ret = sqlite3_prepare_v2(db, "select "
- "type, layout, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
+ "type, layout, pkg_id, caller_pkgname, launch_pkgname, image_path, group_id, priv_id, "
"tag, b_text, b_key, b_format_args, num_format_args, "
"text_domain, text_dir, time, insert_time, args, group_args, "
"b_execute_option, b_service_responding, b_service_single_launch, b_service_multi_launch, "
return get_last_result();
snprintf(query, sizeof(query), "delete from noti_template "
- "where caller_pkgname = '%s'", pkgname);
+ "where pkg_id = '%s'", pkgname);
ret = notification_db_exec(db, query, NULL);