Use ui_app_exit() instead of elm_exit()
[platform/core/connectivity/net-popup.git] / src / net-popup.c
index 70cf075..ad6f8fa 100755 (executable)
 #define CAPTIVE_PORTAL_LOGIN_ERROR "Login not completed. Disconnected active Wifi"
 
 static Ecore_Event_Handler *ecore_event_evas_handler;
-static Ecore_Event_Handler *ecore_event_evas_quick_panel_handler;
 
 #define BUF_SIZE 1024
 long sizes[] = {1073741824, 1048576, 1024, 0};
@@ -114,7 +113,6 @@ char *units[] = {"GB", "MB", "KB", "B"};
 static tizen_profile_t g_profile = TIZEN_PROFILE_UNKNOWN;
 
 static app_control_h g_req_handle = NULL;
-static char *resp_popup_mode = NULL;
 
 static GDBusConnection *conn = NULL;
 static GDBusProxy *proxy = NULL;
@@ -298,21 +296,11 @@ static void __net_popup_terminate(void *data)
                ecore_event_evas_handler = NULL;
        }
 
-       if (ecore_event_evas_quick_panel_handler) {
-               ecore_event_handler_del(ecore_event_evas_quick_panel_handler);
-               ecore_event_evas_quick_panel_handler = NULL;
-       }
-
        if (g_req_handle) {
                app_control_destroy(g_req_handle);
                g_req_handle = NULL;
        }
 
-       if (resp_popup_mode) {
-               free(resp_popup_mode);
-               resp_popup_mode = NULL;
-       }
-
        if (iface_name) {
                free(iface_name);
                iface_name = NULL;
@@ -347,7 +335,7 @@ static Eina_Bool __key_release_event_cb(void *data, int type,
        log_print(NET_POPUP, "key_release : %s", ev->keyname);
        if (g_strcmp0(ev->keyname, "XF86Phone") == 0 ||
                        g_strcmp0(ev->keyname, "XF86Stop") == 0) {
-               elm_exit();
+               ui_app_exit();
        }
 
        return ECORE_CALLBACK_DONE;
@@ -405,7 +393,7 @@ static void __net_popup_service_cb(app_control_h request, void *data)
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get _SYSPOPUP_TYPE_ ret = %d", ret);
                g_free(type);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -413,34 +401,34 @@ static void __net_popup_service_cb(app_control_h request, void *data)
 
        if (g_str_equal(type, "notification")) {
                __net_popup_show_notification(request, data);
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "toast_popup")) {
                __toast_popup_show(request, data);
        } else if (g_str_equal(type, "popup")) {
                __net_popup_show_popup(request, data);
        } else if (g_str_equal(type, "warning_noti")) {
                __net_popup_show_warning_noti(request, data);
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "restriction_noti")) {
                __net_popup_show_restriction_noti(request, data);
        } else if (g_str_equal(type, "add_found_ap_noti")) {
                __net_popup_add_found_ap_noti();
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "del_found_ap_noti")) {
                __net_popup_del_found_ap_noti();
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "add_portal_noti")) {
                __net_popup_add_portal_noti(request);
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "del_portal_noti")) {
                __net_popup_del_portal_noti();
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "add_ip_conflict_noti")) {
                __net_popup_add_ip_conflict_noti(request);
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "del_ip_conflict_noti")) {
                __net_popup_del_ip_conflict_noti();
-               elm_exit();
+               ui_app_exit();
        } else if (g_str_equal(type, "popup_user_resp")) {
                app_control_clone(&g_req_handle, request);
                __net_popup_show_popup_with_user_resp(request, data);
@@ -448,7 +436,7 @@ static void __net_popup_service_cb(app_control_h request, void *data)
                __net_popup_show_network_error_popup(request, data);
        } else {
                __net_popup_show_notification(request, data);
-               elm_exit();
+               ui_app_exit();
        }
 
        g_free(type);
@@ -537,7 +525,7 @@ static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info
 
        if (data)
                evas_object_del(data);
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _cancel_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -547,7 +535,7 @@ static void _cancel_button_clicked_cb(void *data, Evas_Object *obj, void *event_
        if (data)
                evas_object_del(data);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _wifi_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -559,7 +547,7 @@ static void _wifi_button_clicked_cb(void *data, Evas_Object *obj, void *event_in
        if (data)
                evas_object_del(data);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _settings_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -571,7 +559,7 @@ static void _settings_button_clicked_cb(void *data, Evas_Object *obj, void *even
        if (data)
                evas_object_del(data);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _retry_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -585,7 +573,7 @@ static void _retry_button_clicked_cb(void *data, Evas_Object *obj, void *event_i
        if (data)
                evas_object_del(data);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _data_raoming_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -599,7 +587,7 @@ static void _data_raoming_button_clicked_cb(void *data, Evas_Object *obj, void *
        if (data)
                evas_object_del(data);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _connect_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -613,7 +601,7 @@ static void _connect_button_clicked_cb(void *data, Evas_Object *obj, void *event
        if (data)
                evas_object_del(data);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _timeout_cb(void *data, Evas_Object *obj, void *event_info)
@@ -622,7 +610,7 @@ static void _timeout_cb(void *data, Evas_Object *obj, void *event_info)
 
        evas_object_del(obj);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static int __toast_popup_show(app_control_h request, void *data)
@@ -641,7 +629,7 @@ static int __toast_popup_show(app_control_h request, void *data)
        if (ret != APP_CONTROL_ERROR_NONE) {
                log_print(NET_POPUP, "Failed to get _SYSPOPUP_CONTENT_ ret = %d", ret);
                g_free(mode);
-               elm_exit();
+               ui_app_exit();
                return 0;
        }
 
@@ -994,7 +982,7 @@ static int __net_popup_show_network_error_popup(app_control_h request, void *dat
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get _SYSPOPUP_CONTENT_ ret = %d", ret);
                g_free(mode);
-               elm_exit();
+               ui_app_exit();
                return 0;
        }
 
@@ -1091,7 +1079,7 @@ void _tethering_wifi_btn_yes_cb(void *data, Evas_Object *obj, void *event_info)
        if (popup)
                evas_object_del(popup);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 void _tethering_wifi_ap_btn_yes_cb(void *data, Evas_Object *obj, void *event_info)
@@ -1108,7 +1096,7 @@ void _tethering_wifi_ap_btn_yes_cb(void *data, Evas_Object *obj, void *event_inf
        if (popup)
                evas_object_del(popup);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void _vpn_send_result(int result)
@@ -1170,7 +1158,7 @@ void _vpn_btn_connect_cb(void *data, Evas_Object *obj, void *event_info)
        if (obj)
                evas_object_del(obj);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 void _vpn_btn_disconnect_cb(void *data, Evas_Object *obj, void *event_info)
@@ -1191,7 +1179,7 @@ void _vpn_btn_disconnect_cb(void *data, Evas_Object *obj, void *event_info)
        if (obj)
                evas_object_del(obj);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 void _vpn_btn_no_cb(void *data, Evas_Object *obj, void *event_info)
@@ -1210,7 +1198,7 @@ void _vpn_btn_no_cb(void *data, Evas_Object *obj, void *event_info)
        if (obj)
                evas_object_del(obj);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 void _btn_no_cb(void *data, Evas_Object *obj, void *event_info)
@@ -1227,7 +1215,7 @@ void _btn_no_cb(void *data, Evas_Object *obj, void *event_info)
        if (popup)
                evas_object_del(popup);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void __data_usage_notification(notification_type_e type,
@@ -1364,7 +1352,7 @@ static void __data_usage_btn_on_cb(void *data, Evas_Object *obj, void *event_inf
        g_free(data_usage_app_id);
        g_free(data_usage_iftype);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void __data_usage_btn_ok_cb(void *data, Evas_Object *obj, void *event_info)
@@ -1388,7 +1376,7 @@ static void __data_usage_btn_ok_cb(void *data, Evas_Object *obj, void *event_inf
        g_free(data_usage_app_id);
        g_free(data_usage_iftype);
 
-       elm_exit();
+       ui_app_exit();
 }
 
 static void __net_popup_show_popup_with_user_resp(app_control_h request,
@@ -1402,12 +1390,21 @@ static void __net_popup_show_popup_with_user_resp(app_control_h request,
        Evas_Object *label;
        Evas_Object *btn1;
        Evas_Object *btn2;
+       char *resp_popup_mode = NULL;
        int ret = 0;
 
        ret = app_control_get_extra_data(request, "_SYSPOPUP_CONTENT_", &resp_popup_mode);
        if (APP_CONTROL_ERROR_NONE != ret)
                log_print(NET_POPUP, "Failed to get _SYSPOPUP_CONTENT_ ret = %d", ret);
 
+       if (g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI") != 0 &&
+                       g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI_AP") != 0) {
+               log_print(NET_POPUP, "Invalid popup mode [%s]", resp_popup_mode);
+               g_free(resp_popup_mode);
+               ui_app_exit();
+               return;
+       }
+
        secure_log_print(NET_POPUP, "_SYSPOPUP_CONTENT_ = %s\n", resp_popup_mode);
 
        win = __net_popup_create_win();
@@ -1417,55 +1414,52 @@ static void __net_popup_show_popup_with_user_resp(app_control_h request,
        evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
                        EVAS_HINT_EXPAND);
 
-       if (g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI") == 0 ||
-                       g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI_AP") == 0) {
-               log_print(NET_POPUP, "Drawing Wi-Fi Tethering OFF popup");
-
-               __net_popup_init_dbus();
-               elm_object_part_text_set(popup, "title,text", ALERT_STR_WIFI);
-
-               layout = elm_layout_add(popup);
-               elm_layout_file_set(layout, NETPOPUP_EDJ, "popup");
-               evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
-                               EVAS_HINT_EXPAND);
+       log_print(NET_POPUP, "Drawing Wi-Fi Tethering OFF popup");
 
-               label = elm_label_add(popup);
-               elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
-               elm_object_text_set(label, ALERT_STR_WIFI_MOBILE_AP_ON);
-               evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND,
-                               EVAS_HINT_EXPAND);
-               evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
-               evas_object_show(label);
+       __net_popup_init_dbus();
+       elm_object_part_text_set(popup, "title,text", ALERT_STR_WIFI);
 
-               elm_object_part_content_set(layout, "elm.swallow.content", label);
-               evas_object_show(layout);
-               elm_object_style_set(label, "popup/default");
-               eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, _btn_no_cb, popup);
-               elm_object_content_set(popup, label);
-
-               btn1 = elm_button_add(popup);
-               elm_object_style_set(btn1, "popup");
-               elm_object_text_set(btn1, ALERT_STR_CANCEL);
-               elm_object_part_content_set(popup, "button1", btn1);
-               evas_object_smart_callback_add(btn1, "clicked",
-                                       _btn_no_cb, popup);
+       layout = elm_layout_add(popup);
+       elm_layout_file_set(layout, NETPOPUP_EDJ, "popup");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
 
-               btn2 = elm_button_add(popup);
-               elm_object_style_set(btn2, "popup");
-               elm_object_text_set(btn2, ALERT_STR_OK);
-               elm_object_part_content_set(popup, "button2", btn2);
+       label = elm_label_add(popup);
+       elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+       elm_object_text_set(label, ALERT_STR_WIFI_MOBILE_AP_ON);
+       evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_show(label);
 
-               if (g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI") == 0)
-                       evas_object_smart_callback_add(btn2, "clicked",
+       elm_object_part_content_set(layout, "elm.swallow.content", label);
+       evas_object_show(layout);
+       elm_object_style_set(label, "popup/default");
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, _btn_no_cb, popup);
+       elm_object_content_set(popup, label);
+
+       btn1 = elm_button_add(popup);
+       elm_object_style_set(btn1, "popup");
+       elm_object_text_set(btn1, ALERT_STR_CANCEL);
+       elm_object_part_content_set(popup, "button1", btn1);
+       evas_object_smart_callback_add(btn1, "clicked",
+                       _btn_no_cb, popup);
+
+       btn2 = elm_button_add(popup);
+       elm_object_style_set(btn2, "popup");
+       elm_object_text_set(btn2, ALERT_STR_OK);
+       elm_object_part_content_set(popup, "button2", btn2);
+
+       if (g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI") == 0)
+               evas_object_smart_callback_add(btn2, "clicked",
                                _tethering_wifi_btn_yes_cb, popup);
-               else if (g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI_AP") == 0)
-                       evas_object_smart_callback_add(btn2, "clicked",
+       else if (g_strcmp0(resp_popup_mode, "TETHERING_TYPE_WIFI_AP") == 0)
+               evas_object_smart_callback_add(btn2, "clicked",
                                _tethering_wifi_ap_btn_yes_cb, popup);
 
-               evas_object_show(popup);
-               evas_object_show(win);
-               __net_popup_deinit_dbus();
-       }
+       evas_object_show(popup);
+       evas_object_show(win);
+       __net_popup_deinit_dbus();
 }
 
 static void __net_popup_show_vpn_popup(app_control_h request, void *data)
@@ -1485,7 +1479,7 @@ static void __net_popup_show_vpn_popup(app_control_h request, void *data)
        int ret = app_control_get_extra_data(request, APP_CONTROL_DATA_TYPE, &type);
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get APP_CONTROL_DATA_TYPE ret = %d", ret);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1493,7 +1487,7 @@ static void __net_popup_show_vpn_popup(app_control_h request, void *data)
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get APP_CONTROL_DATA_NAME ret = %d", ret);
                free(type);
-               elm_exit();
+               ui_app_exit();
                return;
        }
        log_print(NET_POPUP, "type(%s) name(%s)", type, iface_name);
@@ -1511,7 +1505,7 @@ static void __net_popup_show_vpn_popup(app_control_h request, void *data)
        } else {
                log_print(NET_POPUP, "Invalid appcontrol value");
                free(type);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1554,7 +1548,7 @@ static void __net_popup_show_warning_noti(app_control_h request, void *data)
        int ret = app_control_get_extra_data(request, "_APP_ID_", &data_usage_app_id);
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get _APP_ID_ ret = %d", ret);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1563,7 +1557,7 @@ static void __net_popup_show_warning_noti(app_control_h request, void *data)
                strcmp(data_usage_app_id, STC_TOTAL_BLUETOOTH)) {
                log_print(NET_POPUP, "It's not total data usage [%s]", data_usage_app_id);
                g_free(data_usage_app_id);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1594,7 +1588,7 @@ static void __net_popup_show_restriction_noti(app_control_h request, void *data)
        int ret = app_control_get_extra_data(request, "_APP_ID_", &data_usage_app_id);
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get _APP_ID_ ret = %d", ret);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1603,7 +1597,7 @@ static void __net_popup_show_restriction_noti(app_control_h request, void *data)
                strcmp(data_usage_app_id, STC_TOTAL_BLUETOOTH)) {
                log_print(NET_POPUP, "It's not total data usage [%s]", data_usage_app_id);
                g_free(data_usage_app_id);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1611,7 +1605,7 @@ static void __net_popup_show_restriction_noti(app_control_h request, void *data)
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get _IF_TYPE_ ret = %d", ret);
                g_free(data_usage_app_id);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1620,7 +1614,7 @@ static void __net_popup_show_restriction_noti(app_control_h request, void *data)
                log_print(NET_POPUP, "Failed to get _RESTRICTION_LIMIT_ ret = %d", ret);
                g_free(data_usage_app_id);
                g_free(data_usage_iftype);
-               elm_exit();
+               ui_app_exit();
                return;
        }
 
@@ -1675,7 +1669,7 @@ static int __net_popup_show_popup(app_control_h request, void *data)
        if (APP_CONTROL_ERROR_NONE != ret) {
                log_print(NET_POPUP, "Failed to get _SYSPOPUP_CONTENT_ ret = %d", ret);
                g_free(mode);
-               elm_exit();
+               ui_app_exit();
                return 0;
        }