reset: implement initial config reset 51/239451/1 accepted/tizen/unified/20200729.031017 submit/tizen/20200727.071726
authorLukasz Stanislawski <lukasz.stanislawski@gmail.com>
Sun, 26 Jul 2020 22:47:07 +0000 (00:47 +0200)
committerLukasz Stanislawski <lukasz.stanislawski@gmail.com>
Sun, 26 Jul 2020 22:47:07 +0000 (00:47 +0200)
Change-Id: Ic0a70db49b0c65b5b7f93ce789cb7f40fca61c5f

setting-common/include/controls/info-popup.h
setting-common/src/controls/info-popup.c
setting-reset/include/setting-reset.h
setting-reset/src/setting-reset-initial-config.c
setting-reset/src/setting-reset-main.c

index 733a85b7ba73e17808fd85750cff333f58731282..08069e164af25ae355ed3709da369a74de99c777 100644 (file)
@@ -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 */
index 54c32a13d0cdc974501e05911a8278d76bbe9cac..00cd638f62aa2a7fd4af5be13f8ee550d6f6dc8a 100644 (file)
@@ -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);
+}
index 09090622f2f53dee42ea79ec1b0a7613d1e5c066..e901af37b15d3db822415a7fd8a33f10c900a1f1 100644 (file)
@@ -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__ */
index 9e4e64922433538a7b70db553ec7bcb39e7459ba..97a6ee7eec1c027a0b2a296f4f2364bbc3485424 100644 (file)
  * limitations under the License.
  */
 
-void setting_reset_initial_config()
+#include "setting-common-general-func.h"
+#include "setting-reset.h"
+
+#include <app_control.h>
+
+#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;
 }
index e94bd5e26c5b2d9661beefa2080f410de6d644a6..767ab306fc2d36f1f85c20f27c0ae138d19d1b11 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "setting-reset.h"
 #include "controls/confirm-popup.h"
+#include "controls/info-popup.h"
 
 #include <string.h>
 
@@ -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)