void create_app_notification_list();
void update_app_notification_list_on_item(item_info_s *item_info);
void create_do_not_disturb_application_list();
+void update_do_not_disturb_application_list();
/**
*@brief Create list that should be shown in lower part of screen in lock screen content menu.
*/
void remove_apps_noti_allowed_list();
void remove_apps_noti_blocked_list();
void remove_excepted_apps_list();
-void remove_arranged_list();
+void update_apps_settings_info();
#endif /* __NOTIFICATION_SETTING_INFO_H__ */
// TODO: append when API will be implemented, will be move to final release
append_gl_start_option(genlist, "multiline", "set-schedule-multiline");
// append_gl_start_option(genlist, "multiline", "allowed-calls");
- Eina_List *allowed_list = eina_list_merge(get_first_excepted_apps_list(), get_excepted_apps_list());
+ Eina_List *list = eina_list_clone(get_excepted_apps_list());
+ Eina_List *allowed_list = eina_list_merge(get_first_excepted_apps_list(), list);
append_gl_full_item(genlist, do_not_disturb_allowed_apps_cont_cb, allowed_list);
}
NOTISET_TRACE_BEGIN;
ug_data *u_data = data;
- Eina_List *list = NULL;
elm_naviframe_item_pop(u_data->naviframe);
if(u_data->list_main && is_need_to_update)
{
- list = get_first_allowed_apps_list();
- while(list)
- {
- item_info_s *item = (item_info_s*) eina_list_data_get(list);
- set_excepted_apps(item->appid, item->do_not_disturb_except);
- list = eina_list_next(list);
- }
-
- list = get_excepted_apps_list();
- while(list)
- {
- item_info_s *item = (item_info_s*) eina_list_data_get(list);
- if(item->do_not_disturb_except == false)
- {
- set_excepted_apps(item->appid, item->do_not_disturb_except);
- }
- list = eina_list_next(list);
- }
-
- list = get_not_excepted_apps_list();
- while(list)
- {
- item_info_s *item = (item_info_s*) eina_list_data_get(list);
- if(item->do_not_disturb_except)
- {
- set_excepted_apps(item->appid, item->do_not_disturb_except);
- }
- list = eina_list_next(list);
- }
-
- create_do_not_disturb_application_list();
+ update_do_not_disturb_application_list();
elm_genlist_clear(u_data->list_main);
do_not_disturb_append_items_in_list(u_data->list_main);
}
+
remove_state_list();
}
Evas_Object *cancel_btn = NULL;
Evas_Object *done_btn = NULL;
- create_do_not_disturb_application_list();
-
u_data->list_sub = _create_edit_exception_apps_list(u_data);
/* Push to naviframe */
ug_data *ugd = priv;
remove_apps_noti_allowed_list();
remove_apps_noti_blocked_list();
+ update_apps_settings_info();
update_system_settings();
free(ugd);
}
notification_setting_free_notification(setting_array);
}
+void update_do_not_disturb_application_list()
+{
+ NOTISET_TRACE_BEGIN;
+
+ setting_info->first_excepted_list = NULL;
+ Eina_List *sub_list = NULL;
+
+ Eina_List *list = get_first_allowed_apps_list();
+ while(list)
+ {
+ item_info_s *item = (item_info_s*) eina_list_data_get(list);
+ if(item->do_not_disturb_except)
+ setting_info->first_excepted_list = eina_list_append(setting_info->first_excepted_list, item);
+
+ list = eina_list_next(list);
+ }
+
+ list = get_excepted_apps_list();
+ while(list)
+ {
+ item_info_s *item = (item_info_s*) eina_list_data_get(list);
+ if(item->do_not_disturb_except)
+ sub_list = eina_list_append(sub_list, item);
+ else
+ setting_info->not_excepted_list = eina_list_sorted_insert(setting_info->not_excepted_list, apps_sort_cb, item);
+
+ list = eina_list_next(list);
+ }
+ setting_info->excepted_list = sub_list;
+
+ list = get_not_excepted_apps_list();
+ sub_list = NULL;
+ while(list)
+ {
+ item_info_s *item = (item_info_s*)eina_list_data_get(list);
+ if(item->do_not_disturb_except)
+ setting_info->excepted_list = eina_list_sorted_insert(setting_info->excepted_list, apps_sort_cb, item);
+ else
+ sub_list = eina_list_append(sub_list, item);
+
+ list = eina_list_next(list);
+ }
+ setting_info->not_excepted_list = sub_list;
+}
+
void create_notification_on_ls_list()
{
NOTISET_TRACE_BEGIN;
_remove_apps_list(setting_info->apps_noti_blocked_list);
}
}
+
void remove_excepted_apps_list()
{
NOTISET_TRACE_BEGIN;
if(setting_info)
{
+ _remove_apps_list(setting_info->first_excepted_list);
+ _remove_apps_list(setting_info->excepted_list);
_remove_apps_list(setting_info->first_allowed_list);
_remove_apps_list(setting_info->not_excepted_list);
}
}
+void update_apps_settings_info()
+{
+ NOTISET_TRACE_BEGIN;
+ if(setting_info)
+ {
+ Eina_List *first_list = eina_list_merge(setting_info->first_allowed_list, setting_info->excepted_list);
+ setting_info->first_allowed_list = NULL;
+ setting_info->excepted_list = NULL;
+
+ Eina_List *list = eina_list_merge(first_list, setting_info->not_excepted_list);
+ first_list = NULL;
+ setting_info->not_excepted_list = NULL;
+
+ while(list)
+ {
+ item_info_s *item = (item_info_s*)eina_list_data_get(list);
+ set_excepted_apps(item->appid, item->do_not_disturb_except);
+ list = eina_list_next(list);
+ }
+ }
+}
+