Added New Popup when ethernet cable is not connected. 76/133776/2
authorPriya Kohli <priya.kohli@samsung.com>
Tue, 13 Jun 2017 09:55:34 +0000 (15:25 +0530)
committerPriya Kohli <priya.kohli@samsung.com>
Wed, 14 Jun 2017 05:05:32 +0000 (10:35 +0530)
Change-Id: I54e2d2806610338a2292a45719de778084b37a79
Signed-off-by: Priya Kohli <priya.kohli@samsung.com>
include/data/system/data_wired.h
res/layout/network.edc
src/data/system/data_wired.c
src/layout/layout_network.c

index e2b9f68cdc595c737be4f7d06f90d20e05828255..02ebfa8813f9486ed062d3c0e4e3afc8dc076380 100644 (file)
@@ -26,6 +26,7 @@ enum wired_status_type {
        WIRED_STATUS_FAIL = 0,
        WIRED_STATUS_PROGRESS,
        WIRED_STATUS_COMPLETE,
+       WIRED_STATUS_NO_CABLE,
 };
 
 enum address_type {
index 59f0e477ec6458f672742f9494bd0967d6d7bd0f..dde81c46836ee8552663bcf81d0cf0927dfaa7f0 100644 (file)
@@ -1144,7 +1144,6 @@ group {
                                align, 0.5 0.0;
                                color, COLOR_TEXT_POPUP;
                                text {
-                                       text, "Press retry button or plug a network cable into the back of your TV.";
                                        align, 0.5 0.0;
                                        font, FONT_LIGHT;
                                        size, 22;
index b436ddb070061daac722d5510cc63a0b884a89ff..be0614b6234cecca36dd76b7e45a05b5dedaf69e 100755 (executable)
@@ -23,11 +23,12 @@ int get_wired_network_status(struct _connection_data *data)
        int result = WIRED_STATUS_FAIL;
        connection_ethernet_state_e state;
        connection_ethernet_cable_state_e cable;
+       connection_profile_state_e profile_state = CONNECTION_PROFILE_STATE_DISCONNECTED;
 
        ret = connection_get_ethernet_cable_state(data->conn, &cable);
        if (ret == CONNECTION_ERROR_NONE) {
                if (cable == 0)
-                       return result;
+                       return WIRED_STATUS_NO_CABLE;
        }
 
        ret = connection_get_ethernet_state(data->conn, &state);
@@ -37,15 +38,22 @@ int get_wired_network_status(struct _connection_data *data)
                case CONNECTION_ETHERNET_STATE_DEACTIVATED:
                        _DBG("   Ethernet profile is not exist !");
                        result = WIRED_STATUS_FAIL;
-               break;
+                       break;
                case CONNECTION_ETHERNET_STATE_DISCONNECTED:
                        _DBG("   Disconnected state");
-                       result = WIRED_STATUS_PROGRESS;
-               break;
+                       ret =  connection_profile_get_state(data->profile, &profile_state);
+                       if (profile_state == CONNECTION_PROFILE_STATE_DISCONNECTED)
+                               result = WIRED_STATUS_FAIL;
+                       else
+                               result = WIRED_STATUS_PROGRESS;
+                       break;
                case CONNECTION_ETHERNET_STATE_CONNECTED:
                        _DBG("   Successfully connected");
                        result = WIRED_STATUS_COMPLETE;
-               break;
+                       break;
+               default:
+                       /* Nothing to do for default case */
+                       break;
                }
        }
        return result;
index 48b1509a7e289bf38c0a6c70ef432ef9287a4ebb..b55599caf12a34fbad52faf76ff358eb35c36800 100644 (file)
@@ -72,6 +72,7 @@ Evas_Object *failed_wired_popup;
 Evas_Object *connecting_wireless_popup;
 Evas_Object *connected_wireless_popup;
 Evas_Object *failed_wireless_popup;
+Evas_Object *no_network_cable_popup;
 
 static void _remove_wifi_passcode_popup(struct _priv *priv);
 static void _retry_wired_network(struct _priv *priv);
@@ -354,20 +355,23 @@ static void _network_type_clicked_cb(int id, void *data, Evas_Object *obj)
 }
 void _destroy_wired_status_popup()
 {
-        evas_object_hide(connected_wired_popup);
-        evas_object_hide(connecting_wired_popup);
-        evas_object_hide(failed_wired_popup);
+       evas_object_hide(connected_wired_popup);
+       evas_object_del(connected_wired_popup);
+       connected_wired_popup = NULL;
 
-        evas_object_del(connected_wired_popup);
-        connected_wired_popup = NULL;
+       evas_object_hide(connecting_wired_popup);
+       evas_object_del(connecting_wired_popup);
+       connecting_wired_popup = NULL;
 
-        evas_object_del(connecting_wired_popup);
-        connecting_wired_popup = NULL;
+       evas_object_hide(failed_wired_popup);
+       evas_object_del(failed_wired_popup);
+       failed_wired_popup = NULL;
 
-        evas_object_del(failed_wired_popup);
-        failed_wired_popup = NULL;
+       evas_object_hide(no_network_cable_popup);
+       evas_object_del(no_network_cable_popup);
+       no_network_cable_popup = NULL;
 
-        return;
+       return;
 }
 
 static void _network_type_key_down_cb(int id, void *data, Evas *e,
@@ -714,6 +718,50 @@ void _popup_failed_wired_status(struct _priv *priv)
         evas_object_show(failed_wired_popup);
 }
 
+void _popup_no_network_cable_status(struct _priv *priv)
+{
+       SETTING_TRACE_BEGIN;
+       Evas_Object *ly, *close_btn, *retry_btn;
+
+       _destroy_wired_status_popup();
+
+       no_network_cable_popup = utils_add_popup(priv->base, STYLE_POPUP, STR_WIRED, NULL);
+       if (!no_network_cable_popup) {
+               _ERR("Add popup failed");
+               return;
+       }
+       ly = utils_add_layout(no_network_cable_popup, GRP_FAILED_IMAGE_NETWORK_POPUP, EINA_FALSE);
+       if (!ly) {
+               _ERR("Add layout failed.");
+               evas_object_del(no_network_cable_popup);
+               return;
+       }
+       elm_object_part_text_set(ly, "part.text.content", "Ethernet cable state is detached.");
+
+       close_btn = elm_button_add(no_network_cable_popup);
+       if (!close_btn) {
+               _ERR("Add button failed.");
+               evas_object_del(no_network_cable_popup);
+               return;
+       }
+       elm_object_text_set(close_btn, "CLOSE");
+       elm_object_part_content_set(no_network_cable_popup, "button1", close_btn);
+       evas_object_smart_callback_add(close_btn, "clicked", _close_wired_dismissed_cb, no_network_cable_popup);
+
+       retry_btn = elm_button_add(no_network_cable_popup);
+       if (!retry_btn) {
+               _ERR("Add button failed.");
+               evas_object_del(no_network_cable_popup);
+               return;
+       }
+       elm_object_text_set(retry_btn, "RETRY");
+       elm_object_part_content_set(no_network_cable_popup, "button2", retry_btn);
+       evas_object_smart_callback_add(retry_btn, "clicked", _wired_retry_cb, no_network_cable_popup);
+
+       elm_object_content_set(no_network_cable_popup, ly);
+       evas_object_show(no_network_cable_popup);
+}
+
 static void _update_wired_network_status(struct _priv *priv)
 {
        int res = get_wired_network_status(priv->wired);
@@ -722,32 +770,21 @@ static void _update_wired_network_status(struct _priv *priv)
 
        switch (res) {
        case WIRED_STATUS_COMPLETE:
-       //elm_object_signal_emit(priv->wired_layout, SIG_WIRED_COMPLETE, SRC_ELM);
-       //elm_object_part_text_set(priv->wired_layout, "part.wired.text",
-                       //STR_WIRED_COMPLETED);
-       //evas_object_hide(connecting_wired_popup);
-       //evas_object_hide(failed_wired_popup);
-       _popup_connected_wired_status(priv);
-       break;
+               _popup_connected_wired_status(priv);
+               break;
 
        case WIRED_STATUS_PROGRESS:
-       //elm_object_signal_emit(priv->wired_layout, SIG_WIRED_PROGRESS, SRC_ELM);
-       //elm_object_part_text_set(priv->wired_layout, "part.wired.text",
-       //              STR_WIRED_PROGRESS);
-       //evas_object_hide(connected_wired_popup);
-       //evas_object_hide(failed_wired_popup);
-       _popup_connecting_wired_status(priv);
-       break;
+               _popup_connecting_wired_status(priv);
+               break;
+
+       case WIRED_STATUS_NO_CABLE:
+               _popup_no_network_cable_status(priv);
+               break;
 
        case WIRED_STATUS_FAIL:
        default:
-       //elm_object_signal_emit(priv->wired_layout, SIG_WIRED_FAIL, SRC_ELM);
-       //elm_object_part_text_set(priv->wired_layout, "part.wired.text",
-       //              STR_WIRED_FAILED);
-       //evas_object_hide(connecting_wired_popup);
-       //evas_object_hide(connected_wired_popup);
-       _popup_failed_wired_status(priv);
-       break;
+               _popup_failed_wired_status(priv);
+               break;
        }
 }