From: Lukasz Stanislawski Date: Sun, 26 Jul 2020 22:47:07 +0000 (+0200) Subject: reset: implement initial config reset X-Git-Tag: submit/tizen/20200727.071726^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7771b57ed4e6f8482b5de8a5bafe3da79a0fa2bf;p=profile%2Fcommon%2Fapps%2Fnative%2Fsettings.git reset: implement initial config reset Change-Id: Ic0a70db49b0c65b5b7f93ce789cb7f40fca61c5f --- diff --git a/setting-common/include/controls/info-popup.h b/setting-common/include/controls/info-popup.h index 733a85b..08069e1 100644 --- a/setting-common/include/controls/info-popup.h +++ b/setting-common/include/controls/info-popup.h @@ -50,4 +50,9 @@ void info_popup_text_set(Evas_Object *popup, const char *text); void info_popup_ok_text_set(Evas_Object *popup, const char *text); +/** + * @Utility function creating and showing info popup with "OK" button + */ +void info_popup_show_message(Evas_Object *parent, const char *title, const char *text); + #endif /* end of include guard: INFO_POPUP_H */ diff --git a/setting-common/src/controls/info-popup.c b/setting-common/src/controls/info-popup.c index 54c32a1..00cd638 100644 --- a/setting-common/src/controls/info-popup.c +++ b/setting-common/src/controls/info-popup.c @@ -58,3 +58,13 @@ void info_popup_ok_text_set(Evas_Object *popup, const char *text) elm_object_text_set(btn, text); } +EXPORT_PUBLIC +void info_popup_show_message(Evas_Object *parent, const char *title, const char *text) +{ + Evas_Object *cp = info_popup_create(parent); + + info_popup_title_set(cp, title); + info_popup_text_set(cp, text); + + evas_object_show(cp); +} diff --git a/setting-reset/include/setting-reset.h b/setting-reset/include/setting-reset.h index 0909062..e901af3 100644 --- a/setting-reset/include/setting-reset.h +++ b/setting-reset/include/setting-reset.h @@ -29,7 +29,7 @@ extern setting_view setting_view_reset; void setting_reset_settings(); void setting_reset_network(); -void setting_reset_initial_config(); +int setting_reset_initial_config(); void setting_reset_factory_reset(); #endif /* end of include guard: ___SETTING_RESET_H__ */ diff --git a/setting-reset/src/setting-reset-initial-config.c b/setting-reset/src/setting-reset-initial-config.c index 9e4e649..97a6ee7 100644 --- a/setting-reset/src/setting-reset-initial-config.c +++ b/setting-reset/src/setting-reset-initial-config.c @@ -14,6 +14,46 @@ * limitations under the License. */ -void setting_reset_initial_config() +#include "setting-common-general-func.h" +#include "setting-reset.h" + +#include + +#define OOBE_MAIN_APP_ID "org.tizen.oobe" +#define OOBE_RESET_OPERATION "http://tizen.org/appcontrol/operation/reset" + +int setting_reset_initial_config() { + app_control_h handle = NULL; + int ret = -1; + + int err = app_control_create(&handle); + if (err != TIZEN_ERROR_NONE) { + SETTING_TRACE_ERROR("app_control_create failed: %s", get_error_message(err)); + return -1; + } + + err = app_control_set_app_id(handle, OOBE_MAIN_APP_ID); + if (err != TIZEN_ERROR_NONE) { + SETTING_TRACE_ERROR("app_control_set_appid failed: %s", get_error_message(err)); + goto destroy; + } + + err = app_control_set_operation(handle, OOBE_RESET_OPERATION); + if (err != TIZEN_ERROR_NONE) { + SETTING_TRACE_ERROR("app_control_set_opeartion failed: %s", get_error_message(err)); + goto destroy; + } + + err = app_control_send_launch_request(handle, NULL, NULL); + if (err != TIZEN_ERROR_NONE) { + SETTING_TRACE_ERROR("app_control_send_launch_request failed: %s", get_error_message(err)); + goto destroy; + } + + ret = 0; + +destroy: + app_control_destroy(handle); + return ret; } diff --git a/setting-reset/src/setting-reset-main.c b/setting-reset/src/setting-reset-main.c index e94bd5e..767ab30 100644 --- a/setting-reset/src/setting-reset-main.c +++ b/setting-reset/src/setting-reset-main.c @@ -16,6 +16,7 @@ #include "setting-reset.h" #include "controls/confirm-popup.h" +#include "controls/info-popup.h" #include @@ -144,10 +145,19 @@ static void setting_reset_network_clicked(void *data, Evas_Object *obj, void *ev } #endif +static void _show_reset_initial_config_result_popup(Evas_Object *parent, bool result) +{ + const char *title = _("IDS_ST_BODY_RESET_INITIAL_CONFIGURATION"); + const char *content = result ? _("IDS_IM_BODY_SUCCESSFULLY_COMPLETED") : _("IDS_IM_POP_UNEXPECTED_ERROR"); + + info_popup_show_message(parent, title, content); +} + static void _on_confirmed_reset_initial_config(void *data, Evas_Object *obj, void *event_info) { - setting_reset_initial_config(); + int result = setting_reset_initial_config(); evas_object_del(obj); + _show_reset_initial_config_result_popup(obj, result == 0); } static void setting_reset_initial_config_clicked(void *data, Evas_Object *obj, void *event_info)