*/
#include <efl_extension.h>
+
#include "setting-backup-and-reset-main-view.h"
#include "setting-backup-and-reset-cloud-view.h"
#include "setting-backup-and-reset-usb-mass-storage-view.h"
#include "setting-common-view.h"
+#define SETTING_IMAGES_PATH _TZ_SYS_RO_APP"/org.tizen.setting/res/images"
+#define PROGRESS_IMAGE1 SETTING_IMAGES_PATH"/A01-1_progress_pending_01_dim.png"
+#define PROGRESS_IMAGE2 SETTING_IMAGES_PATH"/A01-1_progress_pending_01.png"
+#define PROGRESS_IMAGE3 SETTING_IMAGES_PATH"/A01-1_progress_pending_02_dim.png"
+#define PROGRESS_IMAGE4 SETTING_IMAGES_PATH"/A01-1_progress_pending_02.png"
+#define PROGRESS_IMAGE_WIDTH 640
+#define PROGRESS_IMAGE_HEIGHT 32
+
setting_view setting_backup_reset_main_view;
static const char *reset_device_without_sim_msg = \
return NULL;
}
-static Evas_Object *_create_popup(Evas_Object *parent, const char *title)
+static Evas_Object *_create_popup(Evas_Object *parent, const char *title, bool fullscreen)
{
Evas_Object *popup = elm_popup_add(parent);
if (!popup) {
return NULL;
}
- elm_object_part_text_set(popup, "title,text", "Reset device");
- elm_popup_align_set(popup, 0.5, 0.5);
+ elm_object_part_text_set(popup, "title,text", title);
+ if (!fullscreen)
+ elm_popup_align_set(popup, 0.5, 0.5);
+ else
+ elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, ELM_NOTIFY_ALIGN_FILL);
return popup;
}
elm_label_line_wrap_set(label, ELM_WRAP_WORD);
elm_object_text_set(label, text);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL, 0.5);
evas_object_show(label);
return label;
evas_object_del(get_widget_specified_type_ancestor(obj, "elm_popup"));
}
+void _transit_del_cb(void *data, Elm_Transit *transit EINA_UNUSED)
+{
+ evas_object_freeze_events_set(data, EINA_FALSE);
+}
+
+static void create_transition_popup(SettingBackupReset *sbr)
+{
+ Elm_Transit *transit;
+ Eina_List *image_list = NULL;
+
+ Evas_Object *popup = _create_popup(sbr->md.window, NULL, true);
+ Evas_Object *box = _create_box(popup);
+ Evas_Object *label = _create_label(box, "<align=center>Performing factory data reset.<br>Please wait.</align>");
+ Evas_Object *image = elm_image_add(box);
+ elm_image_file_set(image, PROGRESS_IMAGE1, NULL);
+ evas_object_size_hint_min_set(image, PROGRESS_IMAGE_WIDTH, PROGRESS_IMAGE_HEIGHT);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_box_pack_end(box, label);
+ elm_box_pack_end(box, image);
+
+ evas_object_show(popup);
+ evas_object_show(label);
+ evas_object_show(image);
+
+ image_list = eina_list_append(image_list, eina_stringshare_add(PROGRESS_IMAGE1));
+ image_list = eina_list_append(image_list, eina_stringshare_add(PROGRESS_IMAGE2));
+ image_list = eina_list_append(image_list, eina_stringshare_add(PROGRESS_IMAGE3));
+ image_list = eina_list_append(image_list, eina_stringshare_add(PROGRESS_IMAGE4));
+
+ transit = elm_transit_add();
+ elm_transit_del_cb_set(transit, _transit_del_cb, box);
+ elm_transit_object_add(transit, image);
+ elm_transit_effect_image_animation_add(transit, image_list);
+ elm_transit_duration_set(transit, 2.0);
+ elm_transit_repeat_times_set(transit, 100);
+ elm_transit_go(transit);
+ evas_object_freeze_events_set(box, EINA_TRUE);
+}
+
+static void _password_check_result_cb(app_control_h request,
+ app_control_h reply, app_control_result_e code, void *priv)
+{
+ char *result = NULL;
+ SettingBackupReset *sbr = (SettingBackupReset *)priv;
+ ret_if(!sbr);
+ ret_if(code != APP_CONTROL_RESULT_SUCCEEDED);
+
+ app_control_get_extra_data(reply, "result", &result);
+ if (safeStrCmp(result, "SETTING_PW_TYPE_PASSWORD") == 0) {
+ create_transition_popup(sbr);
+ }
+
+ free(result);
+
+ elm_object_tree_focus_allow_set(sbr->md.naviframe, EINA_TRUE);
+}
+
static void second_warning_ok_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
+
+ SettingBackupReset *sbr = (SettingBackupReset *)data;
evas_object_del(get_widget_specified_type_ancestor(obj, "elm_popup"));
+ app_launcher("org.tizen.setting-password|viewtype:SETTING_PW_TYPE_PASSWORD",
+ _password_check_result_cb, sbr);
+
}
static void first_warning_reset_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
evas_object_del(get_widget_specified_type_ancestor(obj, "elm_popup"));
const char *popup_text = "The factory reset can't be stopped after it has started.";
- Evas_Object *popup = _create_popup(sbr->md.window, "Reset Device");
+ Evas_Object *popup = _create_popup(sbr->md.window, "Reset Device", false);
Evas_Object *box = _create_box(popup);
Evas_Object *label = _create_label(popup, popup_text);
elm_box_pack_end(box, label);
_create_popup_button(popup, "button1", "Cancel", warning_cancel_btn_clicked_cb, NULL);
- _create_popup_button(popup, "button2", "Ok", second_warning_ok_btn_clicked_cb, NULL);
+ _create_popup_button(popup, "button2", "Ok", second_warning_ok_btn_clicked_cb, sbr);
evas_object_show(popup);
}
static void _create_reset_first_warning_popup(SettingBackupReset *sbr,
const char *text, bool check_active)
{
- SETTING_TRACE_BEGIN;
- Evas_Object *popup = _create_popup(sbr->md.window, "Reset_Device");
+ Evas_Object *popup = _create_popup(sbr->md.window, "Reset_Device", false);
Evas_Object *box = _create_box(popup);
Evas_Object *label = _create_label(box, text);
Evas_Object *check = NULL;
elm_box_pack_end(box, check);
}
- _create_popup_button(popup, "button1", "Cancel", warning_cancel_btn_clicked_cb, sbr);
+ _create_popup_button(popup, "button1", "Cancel", warning_cancel_btn_clicked_cb, NULL);
_create_popup_button(popup, "button2", "Reset", first_warning_reset_btn_clicked_cb, sbr);
evas_object_show(popup);
- SETTING_TRACE_END;
}