-Sanghoon Cho <sanghoon80.cho@samsung.com>\r
-Jeongseok Seo <s.seo@samsung.com>\r
+Sanghoon Cho <sanghoon80.cho@samsung.com>
+Jeongseok Seo <s.seo@samsung.com>
+Sunil Kim <sunil85.kim@samsung.com>
elementary
glib-2.0
utilX
- ui-gadget
+ ui-gadget-1
x11
sensor
syspopup
#engine includes
${ENGINE_INCLUDES})
+ADD_SUBDIRECTORY(po)
ADD_SUBDIRECTORY(sources/ui-gadget)
ADD_SUBDIRECTORY(sources/wifi-syspopup)
-
+wifi-efl-ug (0.4.56-6) unstable; urgency=low
+
+ * Replaced the #define strings with STMS strings. #2
+ * Git: magnolia/apps/home/ug-wifi-efl
+ * Tag: wifi-efl-ug_0.4.56-6
+
+ -- Kim sun il <sunil85.kim@samsung.com> Mon, 20 Aug 2012 16:30:57 +0900
+
+wifi-efl-ug (0.4.56-5) unstable; urgency=low
+
+ * Wi-Fi Detail button relocation.
+ * Git: magnolia/apps/home/ug-wifi-efl
+ * Tag: wifi-efl-ug_0.4.56-5
+
+ -- Kim sun il <sunil85.kim@samsung.com> Mon, 20 Aug 2012 13:15:35 +0900
+
+wifi-efl-ug (0.4.56-4) unstable; urgency=low
+
+ * Popup_view in Device picker problem has solved.
+ * Git: magnolia/apps/home/ug-wifi-efl
+ * Tag: wifi-efl-ug_0.4.56-4
+
+ -- Kim sun il <sunil85.kim@samsung.com> Thu, 16 Aug 2012 18:30:31 +0900
+
+wifi-efl-ug (0.4.56-3) unstable; urgency=low
+
+ * Change sg-wifi-efl package license to 'Flora'
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.56-3
+
+ -- Kim sun il <sunil85.kim@samsung.com> Fri, 10 Aug 2012 14:21:29 +0900
+
+wifi-efl-ug (0.4.56-2) unstable; urgency=low
+
+ * Sveral views add to separators and modify 'seperator' to 'separator'
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.56-2
+
+ -- Kim sun il <sunil85.kim@samsung.com> Thu, 09 Aug 2012 10:34:28 +0900
+
+wifi-efl-ug (0.4.56-1) unstable; urgency=low
+
+ * Added the specific scan(to find hidden aps) back end logic and interface.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.56-1
+
+ -- Praveen C <pravin.c@samsung.com> Wed, 08 Aug 2012 18:06:09 +0900
+
+wifi-efl-ug (0.4.55-13) unstable; urgency=low
+
+ * Wi-Fi UX design has changed not to display "unable to connect" pop-up
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-13
+
+ -- Danny Jeongseok Seo <s.seo@samsung.com> Wed, 08 Aug 2012 14:19:33 +0900
+
+wifi-efl-ug (0.4.55-12) unstable; urgency=low
+
+ * Added margin at detail view and eap view and wifi_viewer_listi
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-12
+
+ -- Kim sun il <sunil85.kim@samsung.com> Tue, 07 Aug 2012 19:10:40 +0900
+
+wifi-efl-ug (0.4.55-11) unstable; urgency=low
+
+ * Make the new function for motion handling.(refactoring:motion handler #1)
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-11
+
+ -- Kim sun il <sunil85.kim@samsung.com> Mon, 06 Aug 2012 21:44:04 +0900
+
+wifi-efl-ug (0.4.55-10) unstable; urgency=low
+
+ * Change the "Scan","Previous","Next","Skip" in setup wizard interface.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-10
+
+ -- Kim sun il <sunil85.kim@samsung.com> Fri, 03 Aug 2012 15:46:40 +0900
+
+wifi-efl-ug (0.4.55-9) unstable; urgency=low
+
+ * Implement desktop manifest for wifi-qs.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-9
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 Jul 2012 20:31:44 +0900
+
+wifi-efl-ug (0.4.55-8) unstable; urgency=low
+
+ * Implement Motion action in Wi-Fi Setting.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-8
+
+ -- Kim sun il <sunil85.kim@samsung.com> Mon, 30 Jul 2012 15:10:54 +0900
+
+wifi-efl-ug (0.4.55-7) unstable; urgency=low
+
+ * Disable the Scan button during deactivating / power-off states.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-7
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 24 Jul 2012 12:13:51 +0900
+
+wifi-efl-ug (0.4.55-6) unstable; urgency=low
+
+ * Removed the flag mechanism to control the state machine and simpler and efficient way to stop the scan updates is added now.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-6
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 20 Jul 2012 11:14:44 +0900
+
+wifi-efl-ug (0.4.55-5) unstable; urgency=low
+
+ * Optimised and refactored the AP list refresh handler.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-5
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 20 Jul 2012 10:54:15 +0900
+
+wifi-efl-ug (0.4.55-4) unstable; urgency=low
+
+ * Added 2 new connecting failed cases - CONNECTING_CONNECT_FAIL and CONNECTING_INVALID_KEY.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-4
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 20 Jul 2012 10:41:55 +0900
+
+wifi-efl-ug (0.4.55-3) unstable; urgency=low
+
+ * Change define strings to STMS strings, po files permission change.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-3
+
+ -- Kim sun il <sunil85.kim@samsung.com> Fri, 20 Jul 2012 09:52:26 +0900
+
+wifi-efl-ug (0.4.55-2) unstable; urgency=low
+
+ * Implement UG managed API
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-2
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 18 Jul 2012 19:25:33 +0900
+
+wifi-efl-ug (0.4.55-1) unstable; urgency=low
+
+ * New Wi-Fi NAT BAR updated (updated)
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.55-1
+
+ -- Danny Jeongseok Seo <s.seo@samsung.com> Wed, 18 Jul 2012 14:52:05 +0900
+
+wifi-efl-ug (0.4.54-15) unstable; urgency=low
+
+ * Revised the connecting fail scenarios and identified the error cases where "Unable to connect" message need to be shown in QS popup.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-15
+
+ -- Praveen C <pravin.c@samsung.com> Sat, 14 Jul 2012 11:52:30 +0900
+
+wifi-efl-ug (0.4.54-14) unstable; urgency=low
+
+ * Fix the CCR #25541.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-14
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 13 Jul 2012 21:47:49 +0900
+
+wifi-efl-ug (0.4.54-13) unstable; urgency=low
+
+ * Fix memory leak.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-13
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 13 Jul 2012 20:41:43 +0900
+
+wifi-efl-ug (0.4.54-12) unstable; urgency=low
+
+ * Added "Deactivating Wi-Fi" and progress icon.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-12
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 13 Jul 2012 12:52:26 +0900
+
+wifi-efl-ug (0.4.54-11) unstable; urgency=low
+
+ * Revised the connecting fail scenarios and identified the error cases where "Unable to connect" message need to be shown.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-11
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 12 Jul 2012 22:50:23 +0900
+
+wifi-efl-ug (0.4.54-10) unstable; urgency=low
+
+ * Added the codes to delete the mobile hot spot on, yes/no prompt popup-up when button call back is called.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-10
+
+ -- Praveen C <pravin.c@samsung.com> Wed, 11 Jul 2012 23:46:47 +0900
+
+wifi-efl-ug (0.4.54-9) unstable; urgency=low
+
+ * Fix wifi-qs crash when it's called two times continually.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-9
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 10 Jul 2012 20:32:32 +0900
+
+wifi-efl-ug (0.4.54-8) unstable; urgency=low
+
+ * Remove the password popup when WPS enroll fail message is received.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-8
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 10 Jul 2012 17:43:19 +0900
+
+wifi-efl-ug (0.4.54-7) unstable; urgency=low
+
+ * Added codes to remove the password pop-up and EAP connect view when powered off from Quickpanel.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-7
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 10 Jul 2012 14:45:27 +0900
+
+wifi-efl-ug (0.4.54-6) unstable; urgency=low
+
+ * Fixed the pwdlock app not exiting issue.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-6
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 10 Jul 2012 13:12:43 +0900
+
+wifi-efl-ug (0.4.54-5) unstable; urgency=low
+
+ * Rollback for SetupWizard problem
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-5
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 10 Jul 2012 00:02:52 +0900
+
+wifi-efl-ug (0.4.54-4) unstable; urgency=low
+
+ * Added return after elm_exit inside main.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-4
+
+ -- Praveen C <pravin.c@samsung.com> Mon, 09 Jul 2012 11:12:05 +0900
+
+wifi-efl-ug (0.4.54-3) unstable; urgency=low
+
+ * Enable the list update flag to TRUE during Wi-Fi activating.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-3
+
+ -- Praveen C <pravin.c@samsung.com> Mon, 09 Jul 2012 10:40:30 +0900
+
+wifi-efl-ug (0.4.54-2) unstable; urgency=low
+
+ * Check NULL before print log
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-2
+
+ -- Danny Jeongseok Seo <s.seo@samsung.com> Sat, 07 Jul 2012 19:03:17 +0900
+
+wifi-efl-ug (0.4.54-1) unstable; urgency=low
+
+ * Implement Find hidden AP feature.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.54-1
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 06 Jul 2012 22:10:23 +0900
+
+wifi-efl-ug (0.4.53-9) unstable; urgency=low
+
+ * Fix not showing wifi-qs when called by quickpanel
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-9
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 06 Jul 2012 20:32:42 +0900
+
+wifi-efl-ug (0.4.53-8) unstable; urgency=low
+
+ * Change number of QS-Popup display item list 5 to 8.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-8
+
+ -- Kim sun il <sunil85.kim@samsung.com> Fri, 06 Jul 2012 13:16:14 +0900
+
+wifi-efl-ug (0.4.53-7) unstable; urgency=low
+
+ * Fix the scan result ui update issue after the password popup is cancelled.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-7
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 05 Jul 2012 22:04:56 +0900
+
+wifi-efl-ug (0.4.53-6) unstable; urgency=low
+
+ * Keypad is not displayed when the password popup is shown.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-6
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 05 Jul 2012 21:43:37 +0900
+
+wifi-efl-ug (0.4.53-5) unstable; urgency=low
+
+ * Display password popup title.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-5
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 05 Jul 2012 21:35:13 +0900
+
+wifi-efl-ug (0.4.53-4) unstable; urgency=low
+
+ * Display "Unable to connect __Device name__" popup when connecting fails.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-4
+
+ -- Praveen C <pravin.c@samsung.com> Wed, 04 Jul 2012 23:39:19 +0900
+
+wifi-efl-ug (0.4.53-3) unstable; urgency=low
+
+ * Removed the AP name display item from the EAP connect list.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-3
+
+ -- Praveen C <pravin.c@samsung.com> Wed, 04 Jul 2012 20:04:25 +0900
+
+wifi-efl-ug (0.4.53-2) unstable; urgency=low
+
+ * Added a sperator to the end of the eap connect list to display the proxy item completely.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-2
+
+ -- Praveen C <pravin.c@samsung.com> Wed, 04 Jul 2012 19:05:47 +0900
+
+wifi-efl-ug (0.4.53-1) unstable; urgency=low
+
+ * Added WPS support for QS popup and refactored the popup code.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.53-1
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 03 Jul 2012 23:03:52 +0900
+
+wifi-efl-ug (0.4.52-12) unstable; urgency=low
+
+ * Fix for AP list is not shown at the first launch in Wi-Fi QS.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-12
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 03 Jul 2012 13:46:43 +0900
+
+wifi-efl-ug (0.4.52-11) unstable; urgency=low
+
+ * Fix the default proxy address issue.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-11
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 29 Jun 2012 22:35:02 +0900
+
+wifi-efl-ug (0.4.52-10) unstable; urgency=low
+
+ * Fix for "Static IP" toggle item title not displayed problem.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-10
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 29 Jun 2012 17:47:54 +0900
+
+wifi-efl-ug (0.4.52-9) unstable; urgency=low
+
+ * Fix the popup scaling issue.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-9
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 18:19:38 +0900
+
+wifi-efl-ug (0.4.52-8) unstable; urgency=low
+
+ * Changed the string from "WiFi Activating..." to "Activating WiFi...".
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-8
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 12:21:09 +0900
+
+wifi-efl-ug (0.4.52-7) unstable; urgency=low
+
+ * Implemented the launch of EAP connect naviframe view from UG and EAP connect popup from device picker popup.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-7
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 10:42:33 +0900
+
+wifi-efl-ug (0.4.52-6) unstable; urgency=low
+
+ * Changed the font color of the text "Connected".
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-6
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 10:38:22 +0900
+
+wifi-efl-ug (0.4.52-5) unstable; urgency=low
+
+ * Added title and remaining timer string display to PBC popup.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-5
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 26 Jun 2012 16:39:28 +0900
+
+wifi-efl-ug (0.4.52-4) unstable; urgency=low
+
+ * Remove UG option for bundle_back_button_show_force_when_connected
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-4
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jun 2012 20:10:16 +0900
+
+wifi-efl-ug (0.4.52-3) unstable; urgency=low
+
+ * Made some minor improvements to EAP connect popup and datamodel codes.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-3
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 21 Jun 2012 19:30:24 +0900
+
+wifi-efl-ug (0.4.52-2) unstable; urgency=low
+
+ * Modify launch time for wifi-qs window
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-2
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 21 Jun 2012 19:56:15 +0900
+
+wifi-efl-ug (0.4.52-1) unstable; urgency=low
+
+ * Added EAP details display in the detail view when the device is connected or favourite.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.52-1
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 15 Jun 2012 17:43:10 +0900
+
+wifi-efl-ug (0.4.51-4) unstable; urgency=low
+
+ * Added certificate items to EAP connecting popup.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.51-4
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 12 Jun 2012 15:07:03 +0900
+
+wifi-efl-ug (0.4.51-3) unstable; urgency=low
+
+ * Added provisioning support and the applied the EAP rules.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.51-3
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 12 Jun 2012 12:24:58 +0900
+
+wifi-efl-ug (0.4.51-2) unstable; urgency=low
+
+ * Added checkbox to EAP method and Phase 2 authentication.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.51-2
+
+ -- Praveen C <pravin.c@samsung.com> Mon, 11 Jun 2012 21:05:08 +0900
+
+wifi-efl-ug (0.4.51-1) unstable; urgency=low
+
+ * Added eap connect support from device picker popup AP list.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.51-1
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 08 Jun 2012 10:37:17 +0900
+
+wifi-efl-ug (0.4.50-3) unstable; urgency=low
+
+ * Fix obs build problem for po filename
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.50-3
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 08 Jun 2012 10:04:29 +0900
+
+wifi-efl-ug (0.4.50-2) unstable; urgency=low
+
+ * Implement to use same po(strings) for UG and QS
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.50-2
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 07 Jun 2012 14:48:31 +0900
+
+wifi-efl-ug (0.4.50-1) unstable; urgency=low
+
+ * Fix the Wi-Fi qs launch issue when Wi-Fi is off
+ * Change string Gateway to Gateway address
+ * Tag: wifi-efl-ug_0.4.50-1
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 05 Jun 2012 16:07:35 +0900
+
+wifi-efl-ug (0.4.49) unstable; urgency=low
+
+ * Update strings according to UX document
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.49
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 04 Jun 2012 21:42:44 +0900
+
+wifi-efl-ug (0.4.48) unstable; urgency=low
+
+ * Fix the entry box content dissapearing issue.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.48
+
+ -- Praveen C <pravin.c@samsung.com> Wed, 30 May 2012 19:05:26 +0900
+
+wifi-efl-ug (0.4.47) unstable; urgency=low
+
+ * Update strings according to UX document
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.47
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 29 May 2012 19:42:58 +0900
+
+wifi-efl-ug (0.4.46) unstable; urgency=low
+
+ * Fixed the crash issue which occurs when switching off Wi-Fi while the WPA/WPSK enabled AP is trying to connect with a wrong password.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.46
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 24 May 2012 19:13:46 +0900
+
+wifi-efl-ug (0.4.45) unstable; urgency=low
+
+ * Fixed the crash issue which occurs while changing the EAP method option from SIM to PEAP during EAP connect.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.45
+
+ -- Praveen C <pravin.c@samsung.com> Wed, 23 May 2012 17:00:10 +0900
+
+wifi-efl-ug (0.4.44) unstable; urgency=low
+
+ * Corrected the EAP connect view entry items input layout panel.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.44
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 May 2012 14:24:38 +0900
+
+wifi-efl-ug (0.4.43) unstable; urgency=low
+
+ * Corrected popup title display and moved the common functions to common utils file.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.43
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 16:49:53 +0900
+
+wifi-efl-ug (0.4.42) unstable; urgency=low
+
+ * Added the progress indi icon display while manual scan is in progress.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.42
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 11:50:53 +0900
+
+wifi-efl-ug (0.4.41) unstable; urgency=low
+
+ * Added the progress indi while an AP is trying to connect.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.41
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 10:45:57 +0900
+
+wifi-efl-ug (0.4.40) unstable; urgency=low
+
+ * Fixed the WiFi on/off display issue.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.40
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 09:44:09 +0900
+
+wifi-efl-ug (0.4.39) unstable; urgency=low
+
+ * Applied EAP connect change.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.39
+
+ -- Praveen C <pravin.c@samsung.com> Mon, 21 May 2012 11:23:05 +0900
+
+wifi-efl-ug (0.4.38) unstable; urgency=low
+
+ * Update strings according to UX document
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.38
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Sat, 19 May 2012 16:45:54 +0900
+
+wifi-efl-ug (0.4.37) unstable; urgency=low
+
+ * Applied the AP detail view Ux change.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.37
+
+ -- Praveen C <pravin.c@samsung.com> Fri, 18 May 2012 19:16:49 +0900
+
+wifi-efl-ug (0.4.36) unstable; urgency=low
+
+ * Applied the QS popup device picker new Ux changes.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.36
+
+ -- Praveen C <pravin.c@samsung.com> Thu, 17 May 2012 19:27:57 +0900
+
+wifi-efl-ug (0.4.35) unstable; urgency=low
+
+ * Update strings according to UX document
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.35
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 17 May 2012 17:54:31 +0900
+
+wifi-efl-ug (0.4.34) unstable; urgency=low
+
+ * Implement multi language for several strings
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.34
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 17 May 2012 16:10:03 +0900
+
+wifi-efl-ug (0.4.33) unstable; urgency=low
+
+ * Modify a location of desktop file
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.33
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 15 May 2012 15:45:52 +0900
+
+wifi-efl-ug (0.4.32) unstable; urgency=low
+
+ * Added the policy for QS popup entry layout.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.32
+
+ -- Praveen C <pravin.c@samsung.com> Tue, 08 May 2012 11:18:59 +0530
+
+wifi-efl-ug (0.4.31) unstable; urgency=low
+
+ * Stop updating an ap list while trying to connect
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.31
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 07 May 2012 14:25:19 +0900
+
+wifi-efl-ug (0.4.30) unstable; urgency=low
+
+ * Implement a Wi-Fi UG for Setup Wizard
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.30
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 03 May 2012 17:33:12 +0900
+
+wifi-efl-ug (0.4.29) unstable; urgency=low
+
+ * Fix a crach - EAP connection
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.29
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 03 May 2012 16:56:54 +0900
+
+wifi-efl-ug (0.4.28) unstable; urgency=low
+
+ * Fixed the menu tree Jira issues.
+ * S1-2771 : MAC address display in detailed view.
+ * S1-2773 : Channel Number display in detailed view.
+ * S1-2774 : Proxy port edit menu item in detail view.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.28
+
+ -- Praveen C <pravin.c@samsung.com> Mon, 30 Apr 2012 12:25:40 +0530
+
+wifi-efl-ug (0.4.27) unstable; urgency=low
+
+ * Set background scan mode when pause/resume event is invoked
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.27
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 19 Apr 2012 16:59:02 +0900
+
wifi-efl-ug (0.4.26) unstable; urgency=low
- * Update boiler plate
- * Git: pkgs/s/sg-wifi-efl
+ * Fix TIZEN_SDK bugs
+ * N_SE-696 : Set only display option to items in dhcp view
+ * N_SE-697 : Modify the button position in staticip view
+ * N_SE-701 : Apply Multi language for forget alert popup
+ * Git: slp/pkgs/s/sg-wifi-efl
* Tag: wifi-efl-ug_0.4.26
- -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 02 May 2012 17:14:46 +0900
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 19 Apr 2012 14:16:38 +0900
+
+wifi-efl-ug (0.4.25) unstable; urgency=low
+
+ * Fix a wifi-qs crash - disable to update a view while state is connecting
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.25
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 12 Apr 2012 17:27:19 +0900
+
+wifi-efl-ug (0.4.24) unstable; urgency=low
+
+ * Fix a crash - adding NULL check routine in content_get
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.24
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 09 Apr 2012 11:30:33 +0900
+
+wifi-efl-ug (0.4.23) unstable; urgency=low
+
+ * Fix a button position - EAP view
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.23
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 06 Apr 2012 10:46:20 +0900
+
+wifi-efl-ug (0.4.22) unstable; urgency=low
+
+ * Implement showing alert popup when Wi-Fi is restricted by MDM
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.22
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 04 Apr 2012 20:50:22 +0900
+
+wifi-efl-ug (0.4.21) unstable; urgency=low
+
+ * Fix wifi-qs bug - password check error
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.21
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 28 Mar 2012 11:06:39 +0900
+
+wifi-efl-ug (0.4.20) unstable; urgency=low
+
+ * Fix the header status update
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.20
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 27 Mar 2012 16:27:33 +0900
+
+wifi-efl-ug (0.4.19) unstable; urgency=low
+
+ * Update UI - hidden network view
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.19
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 26 Mar 2012 19:54:53 +0900
+
+wifi-efl-ug (0.4.18) unstable; urgency=low
+
+ * Fix a bug - redrawing separator
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.18
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 23 Mar 2012 17:05:23 +0900
+
+wifi-efl-ug (0.4.17) unstable; urgency=low
+
+ * Fix a crash - come SCAN_IND when a status is off
+ * Fix forget buttion position
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.17
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 22 Mar 2012 17:15:41 +0900
+
+wifi-efl-ug (0.4.16) unstable; urgency=low
+
+ * Modify wifi-qs on/off behavior when called by quickpanel
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.16
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 19 Mar 2012 16:03:11 +0900
+
+wifi-efl-ug (0.4.15) unstable; urgency=low
+
+ * Revise debian/rule and spec files
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.15
+
+ -- Danny Jeongseok Seo <s.seo@samsung.com> Sat, 17 Mar 2012 15:19:25 +0900
+
+wifi-efl-ug (0.4.14) unstable; urgency=low
+
+ * Update alert-3g-syspopup to net-popup
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.14
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 15 Mar 2012 18:26:16 +0900
+
+wifi-efl-ug (0.4.13) unstable; urgency=low
+
+ * Change wifi-qs package name to net.wifi-qs
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.13
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 15 Mar 2012 15:05:41 +0900
+
+wifi-efl-ug (0.4.12) unstable; urgency=low
+
+ * Migrate EFL 1.0
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.12
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 13 Mar 2012 19:32:14 +0900
+
+wifi-efl-ug (0.4.11) unstable; urgency=low
+
+ * Apply deprecating the editfield elementary
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.11
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 02 Mar 2012 14:49:15 +0900
+
+wifi-efl-ug (0.4.10) unstable; urgency=low
+
+ * Fix the crash - deregister ime callback
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.10
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 21 Feb 2012 14:32:03 +0900
+
+wifi-efl-ug (0.4.9) unstable; urgency=low
+
+ * Apply the elementary API change as EFL migration
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.9
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 14 Feb 2012 19:19:42 +0900
+
+wifi-efl-ug (0.4.8) unstable; urgency=low
+
+ * Show a popup when wifi is restricted by a security policy
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.8
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 07 Feb 2012 17:08:12 +0900
+
+wifi-efl-ug (0.4.7) unstable; urgency=low
+
+ * Fix a bug for updating list enable/disable when an item is clicked during activating
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.7
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 02 Feb 2012 20:05:07 +0900
+
+wifi-efl-ug (0.4.6) unstable; urgency=low
+
+ * Modify the Wi-Fi QS
+ * 1. Change to enable showing AP list when the wifi state is connecting
+ * 2. Show the alert popup when AP is connected
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.6
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 02 Feb 2012 13:33:14 +0900
+
+wifi-efl-ug (0.4.5) unstable; urgency=low
+
+ * Fix genlist update bug in detail view
+ * Fix the crash - doesn't initialize the variable
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.5
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 26 Jan 2012 21:24:55 +0900
+
+wifi-efl-ug (0.4.4) unstable; urgency=low
+
+ * Fix the status update bug - after fail of WPS connection
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.4
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 11 Jan 2012 19:55:01 +0900
+
+wifi-efl-ug (0.4.3) unstable; urgency=low
+
+ * Fix the problem - not updating proxy value
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.3
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 09 Jan 2012 16:39:16 +0900
+
+wifi-efl-ug (0.4.2) unstable; urgency=low
+
+ * Implement UI effect when it's connected
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.2
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 09 Jan 2012 11:17:17 +0900
+
+wifi-efl-ug (0.4.1) unstable; urgency=low
+
+ * Refactory code(Wi-Fi UG/QS)
+ * - supporting data/view model
+ * - implement WPS and EAP
+ * - implement multi language
+ * - fix memory leak
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.4.1
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 04 Jan 2012 15:47:05 +0900
+
+wifi-efl-ug (0.3.19) unstable; urgency=low
+
+ * Implement mulit language
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.19
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 02 Jan 2012 21:52:18 +0900
+
+wifi-efl-ug (0.3.18) unstable; urgency=low
+
+ * Re-build package
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.18
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 26 Dec 2011 14:49:22 +0900
+
+wifi-efl-ug (0.3.17) unstable; urgency=low
+
+ * Release wifi-efl-ug_0.3.17
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.17
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 26 Dec 2011 10:52:07 +0900
+
+wifi-efl-ug (0.3.16) unstable; urgency=low
+
+ * Fix to handle Wi-Fi unsupport error
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.16
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 23 Dec 2011 20:07:44 +0900
+
+wifi-efl-ug (0.3.15) unstable; urgency=low
+
+ * Remove unnecessay ifdef codes
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.15
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 19 Dec 2011 14:57:51 +0900
+
+wifi-efl-ug (0.3.14) unstable; urgency=low
+
+ * Fix handling for moblie-hotspot status error
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.14
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 19 Dec 2011 14:20:43 +0900
+
+wifi-efl-ug (0.3.13) unstable; urgency=low
+
+ * Implement showing a popup when activating Wi-Fi
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.13
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 14 Dec 2011 15:54:52 +0900
+
+wifi-efl-ug (0.3.12) unstable; urgency=low
+
+ * Release wifi-efl-ug_0.3.12
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.12
+
+ -- Danny Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 22:19:51 +0900
+
+wifi-efl-ug (0.3.11) unstable; urgency=low
+
+ * Release wifi-efl-ug_0.3.11
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.11
+
+ -- Danny Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 22:10:15 +0900
+
+wifi-efl-ug (0.3.10) unstable; urgency=low
+
+ * Release wifi-efl-ug_0.3.10
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.10
+
+ -- Danny Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 21:50:13 +0900
+
+wifi-efl-ug (0.3.9) unstable; urgency=low
+
+ * Release wifi-efl-ug_0.3.9
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.9
+
+ -- Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 21:44:52 +0900
+
+wifi-efl-ug (0.3.8) unstable; urgency=low
+
+ * Fix the return value for power off
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.8
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 09 Dec 2011 18:14:31 +0900
+
+wifi-efl-ug (0.3.7) unstable; urgency=low
+
+ * Implement to be able to turn on Wi-Fi When mobile hotspot is on
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.7
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 08 Dec 2011 15:24:57 +0900
+
+wifi-efl-ug (0.3.6) unstable; urgency=low
+
+ * Release wifi-efl-ug_0.3.6
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.6
+
+ -- Jeongseok Seo <s.seo@samsung.com> Mon, 05 Dec 2011 23:30:36 +0900
+
+wifi-efl-ug (0.3.5) unstable; urgency=low
+
+ * Fix crash of calling evas_object_del() with NULL parameter
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.5
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 05 Dec 2011 22:04:53 +0900
+
+wifi-efl-ug (0.3.4) unstable; urgency=low
+
+ * Release wifi-efl-ug_0.3.4
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.4
+
+ -- Jeongseok Seo <s.seo@samsung.com> Sat, 03 Dec 2011 14:16:19 +0900
+
+wifi-efl-ug (0.3.3) unstable; urgency=low
+
+ * Implement showing the noti if Wi-Fi is not supported
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.3
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 02 Dec 2011 20:25:15 +0900
+
+wifi-efl-ug (0.3.2) unstable; urgency=low
+
+ * Update the boilerplate
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.2
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 02 Dec 2011 13:55:22 +0900
+
+wifi-efl-ug (0.3.1) unstable; urgency=low
+
+ * Migrate from DNET to connman
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.3.1
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 29 Nov 2011 13:47:39 +0900
+
+wifi-efl-ug (0.2.41) unstable; urgency=low
+
+ * Fix unnecessary include which has been eliminated in libnetwork
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.41
+
+ -- Jeongseok Seo <s.seo@samsung.com> Mon, 28 Nov 2011 22:04:31 +0900
+
+wifi-efl-ug (0.2.40) unstable; urgency=low
+
+ * Modify the button position in password view
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.40
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 Nov 2011 19:47:16 +0900
+
+wifi-efl-ug (0.2.39) unstable; urgency=low
+
+ * Apply new genlist API policy of elm_genlist_item_data_set
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.39
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 Nov 2011 19:31:39 +0900
+
+wifi-efl-ug (0.2.38) unstable; urgency=low
+
+ * Wi-Fi UG/QS error popups are adjusted by new policy
+ * ERR_UNKNOWN_METHOD
+ * ERR_CONNECTION_EXIST
+ * ERR_CONNECTION_IN_PROGRESS
+ * ERR_CONNECTION_TIMEOUT
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.38
+
+ -- Jeongseok Seo <s.seo@samsung.com> Thu, 17 Nov 2011 18:41:44 +0900
+
+wifi-efl-ug (0.2.37) unstable; urgency=low
+
+ * Add a dependency for syspopup-caller-dev package
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.37
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 Nov 2011 14:48:43 +0900
+
+wifi-efl-ug (0.2.36) unstable; urgency=low
+
+ * Some Errors of libnetwork APIs have been changed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.36
+
+ -- Jeongseok Seo <s.seo@samsung.com> Thu, 17 Nov 2011 13:34:06 +0900
+
+wifi-efl-ug (0.2.35) unstable; urgency=low
+
+ * Applied the ticker noti for wifi connection error
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.35
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 16 Nov 2011 14:50:29 +0900
+
+wifi-efl-ug (0.2.34) unstable; urgency=low
+
+ * Re-factors connected AP information
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.34
+
+ -- Jeongseok Seo <s.seo@samsung.com> Mon, 14 Nov 2011 11:23:10 +0900
+
+wifi-efl-ug (0.2.33) unstable; urgency=low
+
+ * Applied the new controlbar policy for scan button
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.33
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 14 Nov 2011 17:00:38 +0900
+
+wifi-efl-ug (0.2.32) unstable; urgency=low
+
+ * Fixed not updating DHCP IP inform
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.32
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 11 Nov 2011 14:26:39 +0900
+
+wifi-efl-ug (0.2.31) unstable; urgency=low
+
+ * Wi-Fi scan button on control bar
+ * Elimination of "select network" when Wi-Fi is OFF
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.31
+
+ -- Jeongseok Seo <s.seo@samsung.com> Thu, 10 Nov 2011 20:59:23 +0900
+
+wifi-efl-ug (0.2.30) unstable; urgency=low
+
+ * Removed Auto IP item in detail view
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.30
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 09 Nov 2011 15:00:02 +0900
+
+wifi-efl-ug (0.2.29) unstable; urgency=low
+
+ * Applied the password showing option
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.29
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 08 Nov 2011 20:24:39 +0900
+
+wifi-efl-ug (0.2.28) unstable; urgency=low
+
+ * Fixed IP setting problem in detail view
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.28
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 04 Nov 2011 18:35:57 +0900
+
+wifi-efl-ug (0.2.27) unstable; urgency=low
+
+ * Modified handling the connection error response
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.27
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 03 Nov 2011 13:40:35 +0900
+
+wifi-efl-ug (0.2.26) unstable; urgency=low
+
+ * Fixed BS when back from static IP view
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.26
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 26 Oct 2011 13:48:23 +0900
+
+wifi-efl-ug (0.2.25) unstable; urgency=low
+
+ * Added background layout for the static IP view
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.25
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 25 Oct 2011 16:35:46 +0900
+
+wifi-efl-ug (0.2.24) unstable; urgency=low
+
+ * Applied the fake icon for the radio button
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.24
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 24 Oct 2011 20:46:35 +0900
+
+wifi-efl-ug (0.2.23) unstable; urgency=low
+
+ * Removed scan type(parameter) from net_scan_wifi()
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.23
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 19 Oct 2011 15:41:51 +0900
+
+wifi-efl-ug (0.2.22) unstable; urgency=low
+
+ * Updated the boiler plate
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.22
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 19 Oct 2011 14:40:19 +0900
+
+wifi-efl-ug (0.2.21) unstable; urgency=low
+
+ * Fixed sorting problem after connected/disconnected
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.21
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 19 Oct 2011 11:14:51 +0900
+
+wifi-efl-ug (0.2.20) unstable; urgency=low
+
+ * Changed the navigationbar elementary to naviframe
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.20
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 17 Oct 2011 16:37:37 +0900
+
+wifi-efl-ug (0.2.19) unstable; urgency=low
+
+ * Removed all custom edj
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.19
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 14 Oct 2011 16:48:04 +0900
+
+wifi-efl-ug (0.2.18) unstable; urgency=low
+
+ * Fixed dbus pending call crash
+ * Modified displaying the status for net-client events.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.18
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 12 Oct 2011 15:48:25 +0900
+
+wifi-efl-ug (0.2.17) unstable; urgency=low
+
+ * Update connection error popup
+ * Applied system-popup modification for bundle.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.17
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 07 Oct 2011 11:48:52 +0900
+
+wifi-efl-ug (0.2.16) unstable; urgency=low
+
+ * Update UI for auto connect fail case
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.16
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 06 Oct 2011 15:09:10 +0900
+
+wifi-efl-ug (0.2.15) unstable; urgency=low
+
+ * Fixed wrong state update caused by adding state update ind
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.15
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 04 Oct 2011 19:58:24 +0900
+
+wifi-efl-ug (0.2.14) unstable; urgency=low
+
+ * Applied showing auto join status
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.14
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 30 Sep 2011 17:36:06 +0900
+
+wifi-efl-ug (0.2.13) unstable; urgency=low
+
+ * Fixed not showing Wi-Fi QS in allshare when the state was wifi-off
+ * Fixed not updating the state when click the item during searching
+ * Removed libui-bgimage dependency
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.13
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 29 Sep 2011 20:08:17 +0900
+
+wifi-efl-ug (0.2.12) unstable; urgency=low
+
+ * Added Hidden AP function
+ * Fixed remaining scan list when trying wifi power off by quick panel
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.12
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 27 Sep 2011 11:45:41 +0900
+
+wifi-efl-ug (0.2.11) unstable; urgency=low
+
+ * Fixed proxy setting problem
+ * Applied cancel connecting
+ * Added error handling - NET_ERR_UNKNOWN_METHOD, NET_ERR_CONNECTION_ABORTED
+ * Fixed stopping with searching state
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.11
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 16 Sep 2011 14:40:16 +0900
+
+wifi-efl-ug (0.2.10) unstable; urgency=low
+
+ * Modified to enable refreshing ui when scan failed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.10
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 01 Sep 2011 19:58:51 +0900
+
+wifi-efl-ug (0.2.9) unstable; urgency=low
+
+ * Applied the setting reset
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.9
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 11 Aug 2011 17:08:06 +0900
+
+wifi-efl-ug (0.2.8) unstable; urgency=low
+
+ * Removed the callback for language change
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.8
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 05 Aug 2011 09:33:11 +0900
+
+wifi-efl-ug (0.2.7) unstable; urgency=low
+
+ * Removed the icon button in case of No AP found
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.7
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 02 Aug 2011 20:23:52 +0900
+
+wifi-efl-ug (0.2.6) unstable; urgency=low
+
+ * Fixed mobilehotspot vconf value
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.6
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 29 Jul 2011 11:33:09 +0900
+
+wifi-efl-ug (0.2.5) unstable; urgency=low
+
+ * Fixed setting AP Mac address
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.5
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 26 Jul 2011 17:29:28 +0900
+
+wifi-efl-ug (0.2.4) unstable; urgency=low
+
+ * Fixed system popup problem for checking mobile AP state
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.4
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jul 2011 21:57:21 +0900
+
+wifi-efl-ug (0.2.3) unstable; urgency=low
+
+ * Re - Removed mobilehotspot dependency
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.3
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jul 2011 21:20:10 +0900
+
+wifi-efl-ug (0.2.2) unstable; urgency=low
+
+ * Removed mobilehotspot dependency
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.2
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jul 2011 20:33:36 +0900
+
+wifi-efl-ug (0.2.1) unstable; urgency=low
+
+ * fixed dimming window problem and password popup title
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.1
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 22 Jul 2011 17:18:21 +0900
+
+wifi-efl-ug (0.2.0) unstable; urgency=low
+
+ * fixed elm_widget() check error
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.2.0
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 20 Jul 2011 17:13:13 +0900
+
+wifi-efl-ug (0.1.99) unstable; urgency=low
+
+ * replaced bool to Eina_Bool.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.99
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 18 Jul 2011 11:50:21 +0900
+
+wifi-efl-ug (0.1.98) unstable; urgency=low
+
+ * applied the boilerplate.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.98
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 15 Jul 2011 14:49:36 +0900
+
+wifi-efl-ug (0.1.97) unstable; urgency=low
+
+ * applied the vconf change for moblie ap.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.97
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 13 Jul 2011 14:09:23 +0900
+
+wifi-efl-ug (0.1.96) unstable; urgency=low
+
+ * fixed IP valid check problem.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.96
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 11 Jul 2011 10:05:14 +0900
+
+wifi-efl-ug (0.1.95) unstable; urgency=low
+
+ * rebuiled
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.95
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 04 Jul 2011 20:06:28 +0900
+
+wifi-efl-ug (0.1.94) unstable; urgency=low
+
+ * 1. applied hiding the navigationbar panel in case of no button.
+ * 2. fixed displaying the white screen when tapped the forget button.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.94
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 04 Jul 2011 11:54:32 +0900
+
+wifi-efl-ug (0.1.93) unstable; urgency=low
+
+ * apply the new policy for option header alignment.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.93
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 30 Jun 2011 11:38:54 +0900
+
+wifi-efl-ug (0.1.92) unstable; urgency=low
+
+ * apply the popup for scan fail.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.92
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 29 Jun 2011 15:49:41 +0900
+
+wifi-efl-ug (0.1.91) unstable; urgency=low
+
+ * refactorying wifi-ug
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.91
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 28 Jun 2011 15:00:59 +0900
+
+wifi-efl-ug (0.1.90) unstable; urgency=low
+
+ * fixed vconf state update prob. in wifi-qs
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.90
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 24 Jun 2011 16:59:01 +0900
+
+wifi-efl-ug (0.1.89) unstable; urgency=low
+
+ * apply modified wifid client library
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.89
+
+ -- Misun Kim <ms0123.kim@samsung.com> Tue, 21 Jun 2011 16:23:33 +0900
+
+wifi-efl-ug (0.1.88) unstable; urgency=low
+
+ * Fixed forget prob.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.88
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 15 Jun 2011 10:45:38 +0900
+
+wifi-efl-ug (0.1.87) unstable; urgency=low
+
+ * Update to follow the edje deb update.
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.87
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 13 Jun 2011 11:01:11 +0900
+
+wifi-efl-ug (0.1.86) unstable; urgency=low
+
+ * Fixed state not changed after cancel connecting.
+ * Fixed H0100127263, H0100127539
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.86
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 May 2011 20:50:33 +0900
+
+wifi-efl-ug (0.1.85) lucid; urgency=low
+
+ * rollback
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.85
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 May 2011 20:37:51 +0900
+
+wifi-efl-ug (0.1.84) lucid; urgency=low
+
+ * Fixed state not changed after cancel connecting.
+ * Fixed H0100127263, H0100127539
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.84
+
+ -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 May 2011 19:39:02 +0900
+
+wifi-efl-ug (0.1.83) unstable; urgency=low
+
+ * vconf value memory/wifi/wifi_qs_exit change with -i option
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.83
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 25 May 2011 16:35:18 +0900
+
+wifi-efl-ug (0.1.82) unstable; urgency=low
+
+ * vconf value memory/wifi/wifi_qs_exit change with -i option
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.82
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 25 May 2011 16:17:12 +0900
+
+wifi-efl-ug (0.1.81) unstable; urgency=low
+
+ * Fix UG to update AP list after wlan_client_request_scan`s return
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.81
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 23 May 2011 21:36:00 +0900
+
+wifi-efl-ug (0.1.80) unstable; urgency=low
+
+ * set NULL to freed manager_object in view_main_header_destroy function
+ * Fix crash [56600] [56999] [56611]
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.80
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 23 May 2011 11:38:15 +0900
+
+wifi-efl-ug (0.1.79) unstable; urgency=low
+
+ * desktop fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.79
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 20 May 2011 13:41:04 +0900
+
+wifi-efl-ug (0.1.78) unstable; urgency=low
+
+ * H0100126393
+ * H0100126638
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.78
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 19 May 2011 17:38:12 +0900
+
+wifi-efl-ug (0.1.77) unstable; urgency=low
+
+ * ui-gadget layout remove code add
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.77
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 17 May 2011 09:32:57 +0900
+
+wifi-efl-ug (0.1.76) unstable; urgency=low
+
+ * layout manager destroy add
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.76
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 17 May 2011 09:08:41 +0900
+
+wifi-efl-ug (0.1.75) unstable; urgency=low
+
+ * message dispatcher refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.75
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 16 May 2011 15:06:03 +0900
+
+wifi-efl-ug (0.1.74) unstable; urgency=low
+
+ * H0100126409
+ * H0100126411
+ * H0100123560
+ * H0100126284
+ * add wifi_exit function to on_destroy as wifid fixed its problem
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.74
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 16 May 2011 09:33:44 +0900
+
+wifi-efl-ug (0.1.73) unstable; urgency=low
+
+ * H0100122530
+ * H0100124908
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.73
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 03 May 2011 17:26:39 +0900
+
+wifi-efl-ug (0.1.72) unstable; urgency=low
+
+ * Fix wlan_manager_connect_with_password
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.72
+
+ -- Taesoo Jun <steve.jun@samsung.com> Sun, 01 May 2011 19:25:59 +0900
+
+wifi-efl-ug (0.1.71) unstable; urgency=low
+
+ * password view launched to the AP which doesn`t required
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.71
+
+ -- Taesoo Jun <steve.jun@samsung.com> Sun, 01 May 2011 18:55:59 +0900
+
+wifi-efl-ug (0.1.70) unstable; urgency=low
+
+ * password view launched to the AP which doesn`t required
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.70
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 29 Apr 2011 16:25:59 +0900
+
+wifi-efl-ug (0.1.69) unstable; urgency=low
+
+ * H0100124879
+ * H0100125637
+ * H0100125649
+ * H0100126216
+ * H0100123004
+ * H0100123928
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.69
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 29 Apr 2011 15:05:32 +0900
+
+wifi-efl-ug (0.1.68) unstable; urgency=low
+
+ * NFC Support
+ * Remove some of deprecated wifid API
+ * H0100123262
+ * Static IP Back button problem fix
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.68
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 28 Apr 2011 10:55:06 +0900
+
+wifi-efl-ug (0.1.67) unstable; urgency=low
+
+ * Matched with changed Mobile-AP
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.67
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 25 Apr 2011 16:30:08 +0900
+
+wifi-efl-ug (0.1.66) unstable; urgency=low
+
+ * NBeat applied
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.66
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 21 Apr 2011 17:59:44 +0900
+
+wifi-efl-ug (0.1.65) unstable; urgency=low
+
+ * fix parent
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.65
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 15 Apr 2011 17:14:43 +0900
+
+wifi-efl-ug (0.1.64) unstable; urgency=low
+
+ * Syspopup BS fix
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.64
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 15 Apr 2011 15:01:51 +0900
+
+wifi-efl-ug (0.1.63) unstable; urgency=low
+
+ * deb.com.samsung.wifi-qs -> com.samsung.wifi-qs
+ * blue-screen related crash fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.63
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 12 Apr 2011 17:22:03 +0900
+
+wifi-efl-ug (0.1.62) unstable; urgency=low
+
+ * button position fix for both theme
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.62
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 21 Mar 2011 19:59:47 +0900
+
+wifi-efl-ug (0.1.61) unstable; urgency=low
+
+ * H0100122875
+ * H0100123004
+ * H0100123021
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.61
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 21 Mar 2011 09:21:12 +0900
+
+wifi-efl-ug (0.1.60) unstable; urgency=low
+
+ * arch i386 add
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.60
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 16 Mar 2011 17:49:33 +0900
+
+wifi-efl-ug (0.1.59) unstable; urgency=low
+
+ * add syspopup, UI-bgimage
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.59
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 16 Mar 2011 17:29:59 +0900
+
+wifi-efl-ug (0.1.58) unstable; urgency=low
+
+ * NBeat UX applied
+ * Wi-Fi UI Gadget and Wi-Fi System popup has same source repository
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.1.58
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 16 Mar 2011 15:56:32 +0900
+
+wifi-efl-ug (0.0.120) unstable; urgency=low
+
+ * H0100122533
+ * H0100122470
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.120
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 14 Mar 2011 09:10:56 +0900
+
+wifi-efl-ug (0.0.119) unstable; urgency=low
+
+ * H0100121941
+ * 53425
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.119
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 07 Mar 2011 10:55:32 +0900
+
+wifi-efl-ug (0.0.118) unstable; urgency=low
+
+ * H0100120872
+ * profile saving for "OFF Proxy" bug fix
+ * Elm_Segment API which is deprecated removed
+ * add test code for WPS
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.118
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 03 Mar 2011 08:43:44 +0900
+
+wifi-efl-ug (0.0.117) unstable; urgency=low
+
+ * H0100121927
+ * H0100120883
+ * H0100120885
+ * H0100120888
+ * H0100121936
+ * H0100121934
+ * H0100121927
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.117
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 02 Mar 2011 12:13:31 +0900
+
+wifi-efl-ug (0.0.116) unstable; urgency=low
+
+ * connecting fail feature matching with wifid
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.116
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 25 Feb 2011 14:34:08 +0900
+
+wifi-efl-ug (0.0.115) unstable; urgency=low
+
+ * H0100120890
+ * H0100120872
+ * H0100120883
+ * H0100120885
+ * H0100120888
+ * H0100118727
+ * profile-manager refine
+ * detailview refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.115
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 23 Feb 2011 16:10:47 +0900
+
+wifi-efl-ug (0.0.114) unstable; urgency=low
+
+ * Profile related code refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.114
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 21 Feb 2011 13:26:27 +0900
+
+wifi-efl-ug (0.0.113) unstable; urgency=low
+
+ * H0100119704
+ * searching layout refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.113
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 17 Feb 2011 14:01:59 +0900
+
+wifi-efl-ug (0.0.112) unstable; urgency=low
+
+ * H0100119462
+ * H0100120612
+ * wifi API re-addition
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.112
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 17 Feb 2011 11:18:34 +0900
+
+wifi-efl-ug (0.0.111) unstable; urgency=low
+
+ * revert wifid API change
+ * NULL check code refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.111
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 15 Feb 2011 11:07:46 +0900
+
+wifi-efl-ug (0.0.110) unstable; urgency=low
+
+ * match with wifid
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.110
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 11 Feb 2011 17:15:51 +0900
+
+wifi-efl-ug (0.0.109) unstable; urgency=low
+
+ * Fix these problem related
+ ** H0100120107
+ * detailview code refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.109
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 09 Feb 2011 16:53:51 +0900
+
+wifi-efl-ug (0.0.108) unstable; urgency=low
+
+ * Fix these problem related
+ * H0100117132
+ * H0100119462
+ * H0100119704
+ * H0100119772
+ * H0100120286
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.108
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 08 Feb 2011 14:41:34 +0900
+
+wifi-efl-ug (0.0.107) unstable; urgency=low
+
+ * new vconf add
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.107
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 01 Feb 2011 11:29:50 +0900
+
+wifi-efl-ug (0.0.106) unstable; urgency=low
+
+ * remove code refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.106
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 27 Jan 2011 17:42:51 +0900
+
+wifi-efl-ug (0.0.105) unstable; urgency=low
+
+ * memory management code added
+ * control file refine
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.105
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 27 Jan 2011 15:44:58 +0900
+
+wifi-efl-ug (0.0.104) unstable; urgency=low
+
+ * reupload
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.104
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 25 Jan 2011 14:34:39 +0900
+
+wifi-efl-ug (0.0.103) unstable; urgency=low
+
+ * reupload
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.103
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 25 Jan 2011 14:27:30 +0900
+
+wifi-efl-ug (0.0.102) unstable; urgency=low
+
+ * navigation with END key
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.102
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 25 Jan 2011 13:52:52 +0900
+
+wifi-efl-ug (0.0.101) unstable; urgency=low
+
+ * popup related bug fix
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.101
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 24 Jan 2011 15:26:27 +0900
+
+wifi-efl-ug (0.0.100) unstable; urgency=low
+
+ * popup policy had adopted
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.100
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 24 Jan 2011 14:04:35 +0900
+
+wifi-efl-ug (0.0.99) unstable; urgency=low
+
+ * Program termination code refined
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.99
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 24 Jan 2011 10:12:24 +0900
+
+wifi-efl-ug (0.0.98) unstable; urgency=low
+
+ * reupload
+ * scroller problem avoid
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.98
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 21 Jan 2011 11:02:31 +0900
+
+wifi-efl-ug (0.0.97) unstable; urgency=low
+
+ * more checking code added
+ * some color problem fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.97
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 21 Jan 2011 09:22:56 +0900
+
+wifi-efl-ug (0.0.96) unstable; urgency=low
+
+ * scroller related fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.96
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 20 Jan 2011 17:31:24 +0900
+
+wifi-efl-ug (0.0.95) unstable; urgency=low
+
+ * dialogue item dragged bug fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.95
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 20 Jan 2011 14:46:12 +0900
+
+wifi-efl-ug (0.0.94) unstable; urgency=low
+
+ * fixed print type
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.94
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 19 Jan 2011 18:11:30 +0900
+
+wifi-efl-ug (0.0.93) unstable; urgency=low
+
+ * directory structure changed
+ * some check code bug fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.93
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 19 Jan 2011 17:59:52 +0900
+
+wifi-efl-ug (0.0.92) unstable; urgency=low
+
+ * match with EFL update
+ * add dialoguegroup test code
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.92
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 12 Jan 2011 14:35:13 +0900
+
+wifi-efl-ug (0.0.91) unstable; urgency=low
+
+ * UI refresh bug after DISCONNECTION_IND fixed
+ * UI refresh bug after HIDDEN_SCAN_OK
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.91
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 10 Jan 2011 15:47:30 +0900
+
+wifi-efl-ug (0.0.90) unstable; urgency=low
+
+ * GUI changed : use Button(reveal type)
+ * Wi-Fi on/off string -> Wi-Fi
+ * edc fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.90
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 06 Jan 2011 17:27:07 +0900
+
+wifi-efl-ug (0.0.89) unstable; urgency=low
+
+ * comman implementation code implement
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.89
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 05 Jan 2011 09:20:42 +0900
+
+wifi-efl-ug (0.0.88) unstable; urgency=low
+
+ * unused EFL struct removed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.88
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 04 Jan 2011 11:09:37 +0900
+
+wifi-efl-ug (0.0.87) unstable; urgency=low
+
+ * profile check code (boolean is_profile) add to check profile EAP
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.87
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 03 Jan 2011 12:49:03 +0900
+
+wifi-efl-ug (0.0.86) unstable; urgency=low
+
+ * Activating stop bug after mobile-ap off fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.86
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 30 Dec 2010 14:46:18 +0900
+
+wifi-efl-ug (0.0.85) unstable; urgency=low
+
+ * build-option changed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.85
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 24 Dec 2010 11:26:33 +0900
+
+wifi-efl-ug (0.0.84) unstable; urgency=low
+
+ * profile related api reduced
+ * CMakeList changed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.84
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 23 Dec 2010 18:12:36 +0900
+
+wifi-efl-ug (0.0.83) unstable; urgency=low
+
+ * fix build-error
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.83
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 23 Dec 2010 09:32:20 +0900
+
+wifi-efl-ug (0.0.82) unstable; urgency=low
+
+ * i18n -> gettext changed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.82
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 23 Dec 2010 08:35:50 +0900
+
+wifi-efl-ug (0.0.81) unstable; urgency=low
+
+ * scanning by user/engine not applicaion (scan_request and scan_ind handling implemented)
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.81
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 22 Dec 2010 15:13:59 +0900
+
+wifi-efl-ug (0.0.80) unstable; urgency=low
+
+ * fixed encryption bug
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.80
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 21 Dec 2010 14:34:56 +0900
+
+wifi-efl-ug (0.0.65) unstable; urgency=low
+
+ * animation and profile related problem fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.65
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 20 Dec 2010 09:55:09 +0900
+
+wifi-efl-ug (0.0.64) unstable; urgency=low
+
+ * scan related problem fixed
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.64
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 17 Dec 2010 14:23:31 +0900
+
+wifi-efl-ug (0.0.63) unstable; urgency=low
+
+ * Fix disconnection ok/indication related bug
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.63
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 09 Dec 2010 11:29:04 +0900
+
+wifi-efl-ug (0.0.62) unstable; urgency=low
+
+ * removed edje_edit
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.62
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 07 Dec 2010 20:15:14 +0900
+
+wifi-efl-ug (0.0.61) unstable; urgency=low
+
+ * reupload
+ * Git: slp/pkgs/s/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.61
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 07 Dec 2010 20:07:58 +0900
+
+wifi-efl-ug (0.0.60) unstable; urgency=low
+
+ * scan ind/ok/cancel related code added
+ * support back-button-disable
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.60
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 07 Dec 2010 20:02:45 +0900
+
+wifi-efl-ug (0.0.59) unstable; urgency=low
+
+ * fix
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.59
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 20:55:08 +0900
+
+wifi-efl-ug (0.0.58) unstable; urgency=low
+
+ * fix
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.58
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 20:36:11 +0900
+
+wifi-efl-ug (0.0.57) unstable; urgency=low
+
+ * reupload
+ * Refactoring works
+ * Korean language add
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.57
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 12:23:20 +0900
+
+wifi-efl-ug (0.0.56) unstable; urgency=low
+
+ * Refactoring works
+ * Korean language add
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.56
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 09:53:20 +0900
+
+wifi-efl-ug (0.0.55) unstable; urgency=low
+
+ * fix elm_check -> elm_toggle
+ * fix rules file to import pkg
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.55
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Sat, 20 Nov 2010 14:20:46 +0900
+
+wifi-efl-ug (0.0.54) unstable; urgency=low
+
+ * Resource added
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.54
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 17 Nov 2010 22:06:33 +0900
+
+wifi-efl-ug (0.0.53) unstable; urgency=low
+
+ * Fix layout related problems
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.53
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 17 Nov 2010 21:20:01 +0900
+
+wifi-efl-ug (0.0.52) unstable; urgency=low
+
+ * AP-List repainting works when it is placed on the top of the scroller
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.52
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 17 Nov 2010 16:08:02 +0900
+
+wifi-efl-ug (0.0.51) unstable; urgency=low
+
+ * profile delete bug fix
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.51
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 16 Nov 2010 10:53:43 +0900
+
+wifi-efl-ug (0.0.50) unstable; urgency=low
+
+ * Fix implicit function declaration bugs
+ * Code cleans
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.50
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 15 Nov 2010 10:59:51 +0900
+
+wifi-efl-ug (0.0.49) unstable; urgency=low
+
+ * REREUPLOAD BY BUILD-TEAM`S TAG CHECK ALGORIGHM FAILURE
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.49
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 12 Nov 2010 16:44:59 +0900
+
+wifi-efl-ug (0.0.48) unstable; urgency=low
+
+ * Reupload by build-team`s tag check fail
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.48
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 12 Nov 2010 14:48:24 +0900
+
+wifi-efl-ug (0.0.47) unstable; urgency=low
+
+ * Removed strip rule in debian/rule
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.47
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 12 Nov 2010 09:46:07 +0900
+
+wifi-efl-ug (0.0.46) unstable; urgency=low
+
+ * Remove test code
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.46
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 11 Nov 2010 09:40:52 +0900
+
+wifi-efl-ug (0.0.45) unstable; urgency=low
+
+ * Fix unclicked problem
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.45
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 11 Nov 2010 09:36:31 +0900
+
+wifi-efl-ug (0.0.44) unstable; urgency=low
+
+ * Fix focus on related
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.44
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 10 Nov 2010 16:34:12 +0900
+
+wifi-efl-ug (0.0.43) unstable; urgency=low
+
+ * Layout changes
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.43
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 10 Nov 2010 15:18:01 +0900
+
+wifi-efl-ug (0.0.42) unstable; urgency=low
+
+ * Fix Layout bug when on/off
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.42
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 09 Nov 2010 10:17:46 +0900
+
+wifi-efl-ug (0.0.41) unstable; urgency=low
+
+ * Others AP is disabled
+ * fixed the problem to call modifyProfile function when every back from detailview
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.41
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 09 Nov 2010 09:42:37 +0900
+
+wifi-efl-ug (0.0.40) unstable; urgency=low
+
+ * Removed graphic bug related with bottom_header
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.40
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 08 Nov 2010 12:04:10 +0900
+
+wifi-efl-ug (0.0.39) unstable; urgency=low
+
+ * reupload rejected package by 2010 NOV 08`s binary problem
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.39
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 08 Nov 2010 09:10:18 +0900
+
+wifi-efl-ug (0.0.38) unstable; urgency=low
+
+ * libui-window dependency removed
+ * UI-Gadget bundle reader added
+ * i18n-manager for Multilanguage support added
+ * UI-Gadget test code added
+ * input-panel for proxy fixed to show NUMBERONLY or IP
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.38
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 05 Nov 2010 09:05:46 +0900
+
+wifi-efl-ug (0.0.37) unstable; urgency=low
+
+ * Vertification code for IP:PORT added
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.37
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 28 Oct 2010 13:26:37 +0900
+
+wifi-efl-ug (0.0.36) unstable; urgency=low
+
+ * Connected AP is always takes top
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.36
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 27 Oct 2010 16:13:51 +0900
+
+wifi-efl-ug (0.0.35) unstable; urgency=low
+
+ * change signal weight by -90 -> -80
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.35
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 26 Oct 2010 19:40:45 +0900
+
+wifi-efl-ug (0.0.34) unstable; urgency=low
+
+ * Disconnection_Indicatior message handler fix
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.34
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 26 Oct 2010 15:26:42 +0900
+
+wifi-efl-ug (0.0.33) unstable; urgency=low
+
+ * Fix message by Mrs. Kim mi-seon`s request
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.33
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 22 Oct 2010 14:10:43 +0900
+
+wifi-efl-ug (0.0.32) unstable; urgency=low
+
+ * Match with changed engine API
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.32
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 22 Oct 2010 10:08:28 +0900
+
+wifi-efl-ug (0.0.31) unstable; urgency=low
+
+ * Reupload by tag mistake
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.31
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 20 Oct 2010 17:14:00 +0900
+
+wifi-efl-ug (0.0.30) unstable; urgency=low
+
+ * Reupload by name mistake
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.29
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 20 Oct 2010 17:12:08 +0900
+
+wifi-efl-ug (0.0.29) unstable; urgency=low
+
+ * Remove unused function
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.29
+
+ -- Jongmin Lee <jm105.lee@samsung.com> Wed, 20 Oct 2010 17:08:17 +0900
+
+wifi-efl-ug (0.0.27) unstable; urgency=low
+
+ * packaging
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.27
+
+ -- Jongmin Lee <jm105.lee@samsung.com> Thu, 07 Oct 2010 20:49:12 +0900
+
+wifi-efl-ug (0.0.26) unstable; urgency=low
+
+ * Partly debug popup disabled
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.26
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 29 Sep 2010 18:20:28 +0900
+
+wifi-efl-ug (0.0.25) unstable; urgency=low
+
+ * Detail view layout changed
+ * default gateway is 0.0.0.0:80
+ * Hidden and WPA Sup. is partly disabled
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.25
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 27 Sep 2010 16:51:47 +0900
+
+wifi-efl-ug (0.0.24) unstable; urgency=low
+
+ * Show Hidden AP directly by clicking Others
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.24
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 15 Sep 2010 15:28:05 +0900
+
+wifi-efl-ug (0.0.23) unstable; urgency=low
+
+ * New icon showing is Applied
+ * Fix crash bug when enter Others
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.23
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 15 Sep 2010 13:57:48 +0900
+
+wifi-efl-ug (0.0.22) unstable; urgency=low
+
+ * Fix hidden network with empty name
+ * Fix miss-used popup api
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.22
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 15 Sep 2010 11:33:40 +0900
+
+wifi-efl-ug (0.0.21) unstable; urgency=low
+
+ * Fix unallocated popup object used bug fixed
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.21
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 14 Sep 2010 13:45:52 +0900
+
+wifi-efl-ug (0.0.20) unstable; urgency=low
+
+ * Reupload
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.20
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 13 Sep 2010 19:17:05 +0900
+
+wifi-efl-ug (0.0.19) unstable; urgency=low
+
+ * Repacakging by wifid-client`s upload
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.19
+
+ -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 13 Sep 2010 17:35:42 +0900
+
+wifi-efl-ug (0.0.18) unstable; urgency=low
+
+ * add uploader
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.18
+
+ -- Jongmin Lee <jm105.lee@samsung.com> Fri, 10 Sep 2010 23:02:16 +0900
+
+wifi-efl-ug (0.0.17) unstable; urgency=low
+
+ * repackage
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.17
+
+ -- Jongmin Lee <jm105.lee@samsung.com> Fri, 10 Sep 2010 22:55:52 +0900
+
+wifi-efl-ug (0.0.16) unstable; urgency=low
+
+ * Fix password view shown bug which already saved its profile
+ * Fix applicaion crash when wrong password entered
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.16
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Wed, 08 Sep 2010 21:28:19 +0900
+
+wifi-efl-ug (0.0.15) unstable; urgency=low
+
+ * Beat UI dialogue list works
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.15
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Mon, 06 Sep 2010 22:03:27 +0900
+
+wifi-efl-ug (0.0.14) unstable; urgency=low
+
+ * Fix can not connect to AP by right button push
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.14
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Fri, 03 Sep 2010 11:29:46 +0900
+
+wifi-efl-ug (0.0.13) unstable; urgency=low
+
+ * Fix initial connection error bug
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.13
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Fri, 03 Sep 2010 09:04:55 +0900
+
+wifi-efl-ug (0.0.12) unstable; urgency=low
+
+ * Reupload by debian/rule clean failure
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.12
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Fri, 03 Sep 2010 08:26:02 +0900
+
+wifi-efl-ug (0.0.11) unstable; urgency=low
+
+ * Beat UX fitting work
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.11
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Thu, 02 Sep 2010 18:11:12 +0900
+
+wifi-efl-ug (0.0.10) unstable; urgency=low
+
+ * Others item have no black point on his right
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.10
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Tue, 31 Aug 2010 21:30:59 +0900
+
+wifi-efl-ug (0.0.9) unstable; urgency=low
+
+ * remove vconf wifi-state checking
+ * add back button, partly
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.9
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Tue, 31 Aug 2010 17:25:18 +0900
+
+wifi-efl-ug (0.0.8) unstable; urgency=low
+
+ * Connection bug fix
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.8
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Fri, 27 Aug 2010 15:04:15 +0900
+
+wifi-efl-ug (0.0.7) unstable; urgency=low
+
+ * Others`s view implemented
+ * Known bugs are removed
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.7
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Thu, 26 Aug 2010 12:51:27 +0900
+
+wifi-efl-ug (0.0.6) unstable; urgency=low
+
+ * Global valuable removal
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.6
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Wed, 25 Aug 2010 15:36:48 +0900
+
+wifi-efl-ug (0.0.5) unstable; urgency=low
+
+ * Remove more global value
+ * some known UI releated bug fixed
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.5
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Mon, 23 Aug 2010 13:54:14 +0900
+
+wifi-efl-ug (0.0.4) unstable; urgency=low
+
+ * Resource added
+ * Some known bug fixed
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.4
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Fri, 20 Aug 2010 15:04:52 +0900
+
+wifi-efl-ug (0.0.2) unstable; urgency=low
+
+ * First version of UI Gadget of Wi-Fi
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.2
+
+ -- shyeon.kim <shyeon.kim@samsung.com> Wed, 18 Aug 2010 15:27:01 +0900
+
+wifi-efl-ug (0.0.1) unstable; urgency=low
+
+ * Initial Release.
+ * Git: slp/pkgs/sg-wifi-efl
+ * Tag: wifi-efl-ug_0.0.1
+ -- shyeon.kim <shyeon.kim@samsung.com> Mon, 16 Aug 2010 09:29:32 +0900
Source: wifi-efl-ug
Section: net
Priority: extra
-Maintainer: Sanghoon Cho <sanghoon80.cho@samsung.com>, Danny Jeongseok Seo <s.seo@samsung.com>
-Uploaders: Sanghoon Cho <sanghoon80.cho@samsung.com>, Danny Jeongseok Seo <s.seo@samsung.com>
+Maintainer: Sanghoon Cho <sanghoon80.cho@samsung.com>, Danny Jeongseok Seo <s.seo@samsung.com>, Praveen C <pravin.c@samsung.com>
+Uploaders: Sanghoon Cho <sanghoon80.cho@samsung.com>, Danny Jeongseok Seo <s.seo@samsung.com>, Praveen C <pravin.c@samsung.com>
Build-Depends: debhelper (>= 5),
libappcore-efl-dev,
libelm-dev,
/usr/bin/wifi-qs
-/opt/share/applications/net.wifi-qs.desktop
+/usr/share/applications/net.wifi-qs.desktop
/usr/share/process-info/wifi-qs.ini
/usr/share/icon/*
/usr/share/locale/*
rm -rf debian/*.install
- dh_clean
+ rm -f ../wifi-efl-ug_*.deb
+ rm -f ../wifi-efl-ug-*.deb
+ rm -f ../wifi-efl-ug_*.changes
+ rm -f ../wifi-efl-ug_*.dsc
+ rm -f ../wifi-efl-ug_*.changes
+ rm -f ../wifi-efl-ug_*.tar.gz
+
+ rm -f ../net.wifi-qs_*.deb
+ rm -f ../net.wifi-qs-*.deb
+
+ dh_clean
dev_clean:
dh_testdir
-#sbs-git:slp/pkgs/s/sg-wifi-efl wifi-efl-ug
+#sbs-git:magnolia/apps/home/ug-wifi-efl
Name: wifi-efl-ug
Summary: Wi-Fi UI Gadget
-Version: 0.4.25
+Version: 0.4.56_6
Release: 1
Group: App/Network
-License: Flora Software License
+License: Flora License
Source0: %{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: pkgconfig(elementary)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(utilX)
-BuildRequires: pkgconfig(ui-gadget)
+BuildRequires: pkgconfig(ui-gadget-1)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(sensor)
BuildRequires: pkgconfig(syspopup)
make %{?jobs:-j%jobs}
%install
+rm -rf %{buildroot}
%make_install
%post
%files -n net.wifi-qs
%defattr(-,root,root,-)
%{_prefix}/bin/wifi-qs
-/opt/share/applications/net.wifi-qs.desktop
+%{_prefix}/share/packages/net.wifi-qs.xml
%{_prefix}/share/process-info/wifi-qs.ini
%{_prefix}/share/icon/*.png
-%{_prefix}/share/locale/*/LC_MESSAGES/wifi-qs.mo
+%{_prefix}/share/locale/*/LC_MESSAGES/*.mo
SET(MSGFMT "/usr/bin/msgfmt")
+SET(WIFI_UG_PROJECT_NAME "ug-wifi-efl-UG")
+SET(WIFI_QS_PROJECT_NAME "wifi-qs")
+
FOREACH(pofile ${POFILES})
SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
MESSAGE("PO: ${pofile}")
COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
DEPENDS ${absPofile}
)
+
+ # install for UG
INSTALL(FILES ${moFile}
- DESTINATION /opt/ug/res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+ DESTINATION /opt/ug/res/locale/${lang}/LC_MESSAGES RENAME ${WIFI_UG_PROJECT_NAME}.mo)
+
+ # install for QS
+ INSTALL(FILES ${moFile}
+ DESTINATION /usr/share/locale/${lang}/LC_MESSAGES RENAME ${WIFI_QS_PROJECT_NAME}.mo)
+
SET(moFiles ${moFiles} ${moFile})
ENDFOREACH(pofile)
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Exzellent"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Gut"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Suchen"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Verbunden"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Verbindung wird hergestellt..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Verbindung wird getrennt..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "Dynamische IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "Keine APs"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Sicherheitstyp"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "Statische IP-Adresse"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Verborgenes Netz"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "WLAN wird aktiviert..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "WLAN wird deaktiviert..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Suche läuft..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Netz auswählen"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Entfernen"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Passwort eingeben"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Passwort anzeigen"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Proxy-Adresse"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Signalstärke"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP-Adresse"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Subnetzmaske"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Gateway"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Wird deaktiviert..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Keine Sicherheit"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Netzbenachrichtigung"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Netz auswählen"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Schwach"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Offen"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS verfügbar"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Gesichert"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "IP-Adresse wird abgerufen..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Sender"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC-Adresse"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Proxy-Port"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "WLAN"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Benachrichtigen, wenn ein offenes Netzwerk verfügbar ist"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "WLAN hinzufügen"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "Netz-SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "Automatische Verbindung zu diesem Netzwerk wird deaktiviert. Fortfahren?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP-Methode"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Phase 2-Authentifizierung"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Verbinden"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Gateway-Adresse"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Drücken Sie die WPS-Taste an Ihrem WLAN-Zugangspunkt innerhalb von %d Minuten."
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Passwort eingeben"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA-Zertifikat"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Nicht angegeben"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Nutzerzertifikat"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Identität"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Anonyme Identität"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Unbekannt"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "SSID eingeben"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Passwort"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Bereitstellung"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPS-Tastenverbindung"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Verborgenes Netz suchen"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Drücken Sie die WPS-Taste an Ihrem WLAN-Zugangspunkt innerhalb von 2 Minuten."
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Abbruch"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Identität eingeben"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Anonyme Identität eingeben"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Ihre Identität eingeben"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Passwort eingeben"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Τέλεια"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Καλό"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Σάρωση"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Συνδέθηκε"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Σύνδεση..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Αποσύνδεση..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "Δυναμικό IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "Δεν υπάρχουν AP"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Τύπος ασφαλείας"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "Στατικό IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Κρυφό δίκτυο"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Ενεργοποίηση Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Απενεργοποίηση Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Αναζήτηση..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Επιλογή δικτύου"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Εξαίρεσε"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Εισαγωγή κωδικού πρόσβασης"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Εμφάνιση κωδικού πρόσβασης"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Διεύθ.διακ.μεσολάβ."
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Ισχύς σήματος"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "Διεύθυνση IP"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Μάσκα υποδικτύου"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Πύλη"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Απενεργοποίηση.."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Καμία ασφάλεια"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Ειδοποίηση δικτύου"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Επιλογή δικτύου"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Ασθενές"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Άνοιγμα"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "Υπάρχει διαθέσιμο WPS"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Ασφαλές"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "Γίνεται λήψη διεύθυνσης IP..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Κανάλι"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "Διεύθυνση MAC"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Θύρα proxy"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Δίκτυα Wi-Fi"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Να ειδοποιούμαι όταν υπάρχει διαθέσιμο ανοικτό δίκτυο"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Προσθήκη δικτύου Wi-Fi"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "SSID δικτύου"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "Η αυτόματη σύνδεση σε αυτό το δίκτυο θα απενεργοποιηθεί. Συνέχεια;"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "Μέθοδος EAP"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "2η φάση ελέγχου ταυτότητας"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Σύνδεση"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Διεύθυνση πύλης"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Πιέστε το WPS του σημείου πρόσβασης Wi-Fi εντός %d λεπτών"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Εισαγωγή κωδικού"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "Πιστοποιητικό CA"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Ακαθόριστο"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Πιστοπ. χρήστη"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Ταυτότητα"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Άγνωστη ταυτότητα"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Άγνωστο"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Εισαγωγή στο SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Κωδικός πρόσβασης"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Παροχή"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "Σύνδεση κουμπιού WPS"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Εύρεση κρυφού δικτύου"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Πιέστε το WPS του σημείου πρόσβασης Wi-Fi εντός 2 λεπτών"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Ακύρωση"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Εισαγάγετε ταυτότητα"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Εισαγάγετε άγνωστη ταυτότητα"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Εισαγάγετε την ταυτότητά σας"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Εισαγωγή κωδικού"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Excellent"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Good"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Scan"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Connected"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Connecting..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Disconnecting..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "Dynamic IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "No APs"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Security type"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "Static IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Hidden network"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Activating Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Deactivating Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Searching..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Select network"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Forget"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Input password"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Show password"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Proxy address"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Signal strength"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP address"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Subnet mask"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Gateway"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Deactivating..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "No security"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Network notification"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Select network"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Weak"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Open"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS available"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Secured"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "Obtaining IP address..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Channel"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC address"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Proxy port"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fi networks"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Notify me when an open network is available"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Add Wi-Fi network"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "Network SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "Automatic connection to this network will be disabled. Continue?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP method"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Phase 2 authentication"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Connect"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Gateway address"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Press WPS on your Wi-Fi access point within %d minutes"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Enter password"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA certificate"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Unspecified"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "User certificate"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Identity"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Anonymous identity"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Enter SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Password"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Provisioning"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPS button connection"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Find hidden network"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Press WPS on your Wi-Fi access point within 2 minutes"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Enter identity"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Enter anonymous identity"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Enter your identity"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Enter password"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Excelente"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Buena"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Buscar"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Conectado"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Conectando..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Desconectando..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "IP dinámica"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "No hay AP"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Tipo de seguridad"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "IP estática"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Red oculta"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Activando Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Desactivando Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Buscando..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Seleccionar red"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Cancelar"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Introducir contraseña"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Mostrar contraseña"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Dirección de proxy"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Intensidad de la señal"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "Dirección IP"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Máscara de subred"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Puerta de enlace"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Desactivando..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Sin seguridad"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Notificación de red"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Seleccionar red"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Débil"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Abierta"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS disponible"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Protegido"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "Obteniendo dirección IP..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Canal"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "Dirección MAC"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Puerto Proxy"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Redes Wi-Fi"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Notificarme cuando hay disponible una red abierta"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Añadir red Wi-Fi"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "Red SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "La conexión automática a esta red se desactivará. ¿Continuar?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "Método EAP"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Autenticación de fase 2"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Conectar"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Dirección de puerta de enlace"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Pulse WPS de su punto de acceso Wi-Fi en %d minutos"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Introducir contraseña"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "Certificado CA"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Sin especificar"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Certific usuario"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Identidad"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Identidad anónima"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Desconocido"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Introducir SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Contraseña"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Suministro"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "Conexión del botón de WPS"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Buscar red oculta"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Pulse WPS en su punto de acceso Wi-Fi en un tiempo estimado de 2 minutos"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Introducir identidad"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Introducir identidad anónima"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Introducir su identidad"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Introducir contraseña"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Excellent"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Correct"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Analyser"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Connecté"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Connexion..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Déconnexion..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "IP dynamique"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "Aucun AP"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Type de sécurité"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "IP statique"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Réseau masqué"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Activation Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Désactivation Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Recherche..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Sélectionner un réseau"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Oublier"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Entrez le mot de passe"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Afficher le mot de passe"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Adresse de proxy"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Force du signal"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "Adresse IP"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Masque de sous-réseau"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Passerelle"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Désactivation..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Pas de sécurité"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Notification réseau"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Sélectionner un réseau"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Faible"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Ouvert"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS disponible"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Sécurisé"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "Obtention de l'adresse IP..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Canal"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "Adresse MAC"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Port proxy"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Réseaux Wi-Fi"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "M'avertir quand un réseau ouvert est disponible"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Ajouter un réseau Wi-Fi"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "SSID du réseau"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "La connexion automatique à ce réseau va être désactivée. Continuer ?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "Méthode EAP"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Authentification Phase 2"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Connexion"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Adresse de passerelle"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Appuyez sur le bouton WPS de votre point d'accès Wi-Fi sous %d minutes"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Saisir le mot de passe"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "Certificat CA"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Non défini"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Certif. utilisat."
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Identité"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Anonyme"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Inconnu"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Entrer SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Mot de passe"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Préparation"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "Connexion bouton WPS"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Rechercher réseau masqué"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Appuyez sur le bouton WPS de votre point d'accès Wi-Fi dans 2 minutes"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Indiquer une identité"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Indiquer une identité anonyme"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Indiquer votre identité"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Saisir le mot de passe"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Eccellente"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Buono"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Scansione"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Connesso"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Connessione..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Disconnessione..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "IP dinamico"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "Nessuna rete Wi-Fi"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Tipo protezione"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "IP statico"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Rete nascosta"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Attivazione Wi-Fi in corso"
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Disattivazione Wi-Fi in corso"
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Ricerca..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Selezione rete"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Rimuovi"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Inserisci password"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Mostra password"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Indirizzo proxy"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Potenza del segnale"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "Indirizzo IP"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Maschera di sottorete"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Gateway"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Disattivazione..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Nessuna protezione"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Notifica di rete"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Selezione rete"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Debole"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Non protetta"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "Disponibile WPS"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Protetto"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "Ottenimento indirizzo IP in corso..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Canale"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "Indirizzo MAC"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Porta"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Reti Wi-Fi"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Notifica reti Wi-Fi disponibili"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Aggiungi rete Wi-Fi"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "SSID di rete"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "La connessione automatica a questa rete sarà disattivata. Continuare?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "Metodo EAP"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Autenticazione fase 2"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Connetti"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Indirizzo gateway"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Premere WPS sul punto di accesso Wi-Fi entro %d minuti"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Inserisci password"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "Certificato CA"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Non specificato"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Certific. utente"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Identità"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Identità anonima"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Sconosciuto"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Inserisci SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Password"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Provisioning"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "Connessione tasto WPS"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Trova rete nascosta"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Premi WPS sul punto di accesso Wi-Fi entro 2 minuti"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Annulla"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Inserisci identità"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Inserisci identità anonima"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Inserisci l'identità"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Inserisci password"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "とても良い"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "強"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "スキャン"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "接続しました。"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "接続中..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "切断中..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "ダイナミックIP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "APsがありません。"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "セキュリティタイプ"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "静的IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "非表示ネットワーク"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Wi-Fiを起動中..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Wi-Fiを無効にしています..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "検索中..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "ネットワークを選択"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "切断"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "パスワードを入力"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "パスワードを表示"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "プロキシアドレス"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "電波強度"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IPアドレス"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "サブネットマスク"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "ゲートウェイ"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "解除中..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "セキュリティ保護なし"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "ネットワーク通知"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "ネットワークを選択"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "弱い"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "オープン"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS利用可能"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "セキュリティ保護"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "IPアドレスを取得中..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "チャンネル"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MACアドレス"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "プロキシポート"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fiネットワーク"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "オープンネットワークが利用できる時に通知"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Wi-Fiネットワークを追加"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "ネットワークSSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "このネットワークへの自動接続を無効にします。続行しますか?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP方法"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "フェーズ2認証"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "接続"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "ゲートウェイアドレス"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "%d分以内にWi-FiアクセスポイントのWPSボタンを押してください。"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "パスワードを入力"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA証明書"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "設定なし"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "ユーザー証明書"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "ID"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "匿名ID"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "不明"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "SSIDを入力"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "パスワード"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "プロビジョニング"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPSボタン接続"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "非表示ネットワークを検索"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "2分以内にWi-FiアクセスポイントのWPSボタンを押してください。"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "キャンセル"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "IDを入力"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "匿名IDを入力"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "あなたのIDを入力"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "パスワードを入力"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "매우 좋음"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "좋음"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "검색"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "연결되었습니다"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "연결 중..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "연결을 끊는 중..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "유동 IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "APs가 없습니다"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "보안 형식"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "고정 IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "허용되지 않은 네트워크"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Wi-Fi 실행 중..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Wi-Fi 연결을 끊는 중..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "검색 중..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "네트워크를 선택하세요"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "저장 안 함"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "비밀번호를 입력하세요"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "비밀번호 표시"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "프록시 주소"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "신호 세기"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP 주소"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "서브넷 마스크"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "게이트웨이"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "해제 중..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "보안기능 없음"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "네트워크 알림"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "네트워크 선택"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "약함"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "공개"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS 사용 가능"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "보안"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "IP 주소 불러오는 중..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "채널"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC 주소"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "프록시 포트"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fi 네트워크"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "공개 네트워크를 사용할 수 있을 때 알려줍니다"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Wi-Fi 네트워크 추가"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "네트워크 SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "이 네트워크로 자동 연결이 해제됩니다. 계속할까요?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP 방식"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "2단계 인증"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "연결"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "게이트웨이 주소"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Wi-Fi 액세스 포인트에서 %d분 안에 WPS 버튼을 누르세요"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "비밀번호를 입력하세요"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA 인증서"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "설정 안 함"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "사용자 인증서"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "ID"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "익명 ID"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "알 수 없음"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "SSID를 입력하세요"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "비밀번호"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "설정 준비"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPS 버튼 연결"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "숨겨진 네트워크 검색"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Wi-Fi 액세스 포인트에서 WPS 버튼을 2분 안에 누르세요"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "취소"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "ID를 입력하세요"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "익명 ID를 입력하세요"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "ID를 입력하세요"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "비밀번호를 입력하세요"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Uitstekend"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Goed"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Scannen"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Verbonden"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Verbinden..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Verbinding verbreken..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "Dynamische IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "Geen AP’s"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Beveiligingstype"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "Vast IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Verborgen netwerk"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Wi-Fi activeren..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Wi-Fi deactiveren..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Zoeken..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Netwerk kiezen"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Vergeten"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Wachtwoord ingeven"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Wachtwoord tonen"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Proxyadres"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Signaalsterkte"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP-adres"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Subnetmasker"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Gateway"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Uitschakelen..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Geen beveiliging"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Netwerkmelding"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Netwerk kiezen"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Zwak"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Open"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS beschikbaar"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Beveiligd"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "IP-adres ophalen..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Kanaal"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC-adres"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Poort proxy"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fi-netwerken"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Melden wanneer open netwerk beschikbaar is"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Wi-Fi-netwerk toevoegen"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "Netwerk-SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "Automatische verbinding met dit netwerk wordt uitgeschakeld. Doorgaan?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP-methode"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Verificatie fase 2"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Verbinden"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Gateway-adres"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Druk binnen %d minuten op WPS op uw Wi-Fi-toegangspunt"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Wachtwoord invoeren"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA-certificaat"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Niet-gespecificeerd"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Gebr.certificaat"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Identiteit"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Anonieme identiteit"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Onbekend"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Geef SSID in"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Wachtwoord"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Voorziening"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "Verbinding WPS-knop"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Verborgen netwerk zoeken"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Druk binnen 2 minuten op WPS op uw Wi-Fi-toegangspunt"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Annuleer"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Identiteit opgeven"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Anonieme identiteit opgeven"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Uw identiteit opgeven"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Wachtwoord invoeren"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Excelente"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Bom"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Procurar dispositivos"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Ligado"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "A ligar..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "A desligar..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "IP dinâmico"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "Nenhuns APs"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Tipo de segurança"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "IP estático"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Rede oculta"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "A activar Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "A desactivar Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "A procurar..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Seleccionar rede"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Esquecer"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Introduzir palavra-passe"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Mostrar palavra-passe"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Endereço proxy"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Potência do sinal"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "Endereço IP"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Máscara de sub-rede"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Gateway"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "A desactivar..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Sem segurança"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Notificação de rede"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Seleccionar rede"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Fraca"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Aberta"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS disponível"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Seguro"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "A obter endereço IP..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Canal"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "Endereço MAC"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Porta de proxy"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Redes Wi-Fi"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Notificar-me quando estiver disponível uma rede aberta"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Adicionar rede Wi-Fi"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "SSID de rede"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "A ligação automática a esta rede será desactivada. Continuar?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "Método EAP"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Autenticação de fase 2"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Ligar"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Endereço de gateway"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Prima WPS no seu ponto de acesso Wi-Fi dentro de %d minutos"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Introduzir palavra-passe"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "Certificado de CA"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Não especificado"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Certif. utilizad."
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Identidade"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Identidade anónima"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Desconhecido"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Introduzir SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Palavra-passe"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Aprovisionamento"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "Ligação de botão WPS"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Localizar rede oculta"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Prima WPS no seu ponto de acesso Wi-Fi dentro de 2 minutos"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Introduzir identidade"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Introduzir identidade anónima"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Introduza a sua identidade"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Introduzir palavra-passe"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Супер"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "Хороший"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Поиск"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Подключено"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Подключение..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Отключение..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "Динамический IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "Нет точек доступа"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Тип защиты"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "Статический IP-адрес"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Скрытая сеть"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Активация Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Выключение Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Поиск..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Выбор сети"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Забыть"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Введите пароль"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Показать пароль"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Адрес прокси"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Уровень сигнала"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP-адрес"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Маска подсети"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Шлюз"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Выключение..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Нет защиты"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Уведомление о сетях"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Выбор сети"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Слабый"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Открытый"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "Доступен протокол WPS"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Защищенная"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "Получение IP-адреса..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Канал"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC-адрес"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Порт прокси"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Сети Wi-Fi"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Уведомлять при наличии общедоступной сети"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Добавить сеть Wi-Fi"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "SSID сети"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "Автоматическое подключение к этой сети будет отключено. Продолжить?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "Метод EAP"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Проверка подлинности этапа 2"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Подключиться"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Адрес шлюза"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "Нажмите кнопку WPS на точке доступа Wi-Fi в течение %d мин."
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Введите пароль"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "Сертификат"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Не указано"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Сертиф. пользов."
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Удостоверение"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "Анонимный пользователь"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Неизвестно"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "Введите SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Пароль"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Подготовка"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "Подключение кнопки WPS"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Найти скрытую сеть"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "Нажмите кнопку WPS на точке доступа Wi-Fi в течение 2 мин"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "Отмена"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Введите удостоверение"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "Введите анонимное удостоверение"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Введите свое удостоверение"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Введите пароль"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "Harika..!!"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "İyi"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "Tara"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "Bağlantı kuruldu"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "Bağlanılıyor..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "Bağlantı kesiliyor..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "Dinamik IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "AP Yok"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "Güvenlik tipi"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "Statik IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "Gizli ağ"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "Wi-Fi etkinleştiriliyor..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "Wi-Fi devre dışı bırakılıyor..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "Aranıyor..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "Şebeke seçimi"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "Unut"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "Şifre giriniz"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "Parolayı göster"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "Proxy adresi"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "Sinyal kuvveti"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP adresi"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "Alt ağ maskesi"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "Ağ geçidi"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "Devreden çıkartılıyor..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "Güvenlik yok"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "Ağ bildirimi"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "Şebeke seçimi"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "Zayıf"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "Aç"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS uygun"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "Güvenli"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "IP adresi alınıyor..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "Kanal"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC adresi"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "Proxy portu"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fi ağları"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "Açık ağ mevcut olduğunda bana bildir"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "Wi-Fi ağı ekle"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "SSID Ağı"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "Bu ağa otomatik bağlantı devre dışı bırakılacak. Devam edilsin mi?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP yöntemi"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "Faz 2 yetkilendirmesi"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "Bağlan"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "Ağ geçidi adresi"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "%d dakika içinde Wi-Fi erişim noktanızdaki WPS düğmesine basın"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "Şifreyi girin"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA Sertifika"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "Belirsiz"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "Kullanıcı srtfksı"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "Kimlik"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "İsimsiz kimlik"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Bilinmeyen"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "SSID girin"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "Şifre"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "Hazırlanıyor"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPS düğmesi bağlantısı"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "Gizli ağ bul"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "2 dakika içinde Wi-Fi erişim noktanızdaki WPS düğmesine basın"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "İptal"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "Kimlik girin"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "İsimsiz kimlik girin"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "Kimliğinizi girin"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "Şifreyi girin"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "棒极了"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "好"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "扫描"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "已连接"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "连接中..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "正在断开..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "动态 IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "没有Ap"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "安全类型"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "静态IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "隐藏的网络"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "正在激活Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "正在取消Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "正在搜索"
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "选择网络"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "忘记"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "输入密码"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "显示密码"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "代理服务器地址"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "信号强度"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP 地址"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "子网时标"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "网关"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "正在取消..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "不安全"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "网络通知"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "选择网络"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "弱"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "开放"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS可用"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "安全"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "正在获取 IP 地址…"
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "频道"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC 地址"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "代理服务器端口"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fi网络"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "开放网络可用时通知我"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "添加 Wi-Fi 网络"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "网络 SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "自动连接到此网络将被禁用。继续吗?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP 方法"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "阶段2认证"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "连接"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "网关地址"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "%d分钟内在Wi-Fi接入点按下WPS钮。"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "输入密码"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA 证书"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "不明确的"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "用户证书"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "身份"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "匿名身份"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "输入 SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "密码"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "配置"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPS按钮连接"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "寻找隐藏的网络"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "在 2 分钟内按下您 Wi-Fi 接入点上的 WPS"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "输入 ID"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "输入匿名 ID"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "输入您的 ID"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "输入密码"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "極佳"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "良好"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "掃描"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "已連接"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "連接中..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "正在中斷連接..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "動態 IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "沒有接入點"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "安全類型"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "靜態 IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "隱藏網絡"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "正在啟動 Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "正在關閉 WiFi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "正在搜尋..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "選擇網絡"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "忘記"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "輸入密碼"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "顯示密碼"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "代理伺服器位址"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "訊號強度"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP 位址"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "子網絡範圍"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "網關"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "正在關閉..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "不安全"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "網絡通知"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "選擇網絡"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "弱"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "開啟"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "WPS 可用"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "安全"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "正在取得 IP 地址..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "頻道"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC 地址"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "代理伺服器端口"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fi 網絡"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "有開放網路時通知我"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "新增 WiFi 網絡"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "網絡 SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "自動連接此網絡將會關閉。繼續嗎?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP 方法"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "階段 2 認證"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "連接"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "網關地址"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "在%d分鐘內按下Wi-Fi接入點的WPS"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "輸入密碼"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA 證書"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "未指定"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "用戶證書"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "身份"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "匿名身份"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "輸入 SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "密碼"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "配置"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPS按鍵連接"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "尋找隱藏網絡"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "請在 2分鐘內按下 Wi-Fi 接入點的 WPS"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "輸入身分"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "輸入匿名身分"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "輸入您的身分"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "輸入密碼"
+
--- /dev/null
+msgid "IDS_ST_BODY_EXCELLENT"
+msgstr "棒極了"
+
+msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
+msgstr "良好"
+
+msgid "IDS_ST_BODY_SCAN"
+msgstr "掃描"
+
+msgid "IDS_WIFI_BODY_CONNECTED"
+msgstr "已連線"
+
+msgid "IDS_WIFI_BODY_CONNECTING_ING"
+msgstr "連線中..."
+
+msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
+msgstr "正在中斷連線..."
+
+msgid "IDS_WIFI_BODY_DYNAMIC_IP"
+msgstr "動態 IP"
+
+msgid "IDS_WIFI_BODY_NO_APS"
+msgstr "沒有接入點"
+
+msgid "IDS_WIFI_BODY_SECURITY_TYPE"
+msgstr "安全性類型"
+
+msgid "IDS_WIFI_BODY_STATIC_IP"
+msgstr "靜態 IP"
+
+msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
+msgstr "隱藏網路"
+
+msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
+msgstr "正在啟動 Wi-Fi..."
+
+msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
+msgstr "正在停用 Wi-Fi..."
+
+msgid "IDS_WIFI_POP_SEARCHING_ING"
+msgstr "正在搜尋..."
+
+msgid "IDS_WIFI_POP_SELECT_NETWORK"
+msgstr "選擇網路"
+
+msgid "IDS_WIFI_SK_FORGET"
+msgstr "清除"
+
+msgid "IDS_CST_BODY_INPUT_PASSWORD"
+msgstr "輸入密碼"
+
+msgid "IDS_ST_BODY_SHOW_PASSWORD"
+msgstr "顯示密碼"
+
+msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
+msgstr "代理伺服器位址"
+
+msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
+msgstr "訊號強度"
+
+msgid "IDS_WIFI_BODY_IP_ADDRESS"
+msgstr "IP 位址"
+
+msgid "IDS_WIFI_BODY_SUBNET_MASK"
+msgstr "子網路遮罩"
+
+msgid "IDS_WIFI_BODY_GATEWAY"
+msgstr "閘道"
+
+msgid "IDS_WIFI_BODY_DNS_1"
+msgstr "DNS 1"
+
+msgid "IDS_WIFI_BODY_DNS_2"
+msgstr "DNS 2"
+
+msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
+msgstr "WEP"
+
+msgid "IDS_ST_POP_DEACTIVATING_ING"
+msgstr "正在停用..."
+
+msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
+msgstr "不設置安全性"
+
+msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
+msgstr "網路通知"
+
+msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
+msgstr "選擇網路"
+
+msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
+msgstr "弱"
+
+msgid "IDS_WIFI_POP_OPEN"
+msgstr "開啟"
+
+msgid "IDS_ST_BODY_WPS_AVAILABLE"
+msgstr "取得 WPS"
+
+msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"
+msgstr "安全"
+
+msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"
+msgstr "正在取得 IP 位址..."
+
+msgid "IDS_WIFI_BODY_CHANNEL"
+msgstr "頻道"
+
+msgid "IDS_WIFI_BODY_MAC_ADDRESS"
+msgstr "MAC 位址"
+
+msgid "IDS_WIFI_BODY_PROXY_PORT"
+msgstr "代理伺服器連接埠"
+
+msgid "IDS_ST_BODY_WI_FI_NETWORKS"
+msgstr "Wi-Fi無線網路"
+
+msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"
+msgstr "有可用的開放網路時通知我"
+
+msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK"
+msgstr "新增 Wi-Fi 網路"
+
+msgid "IDS_ST_BODY_NETWORK_SSID"
+msgstr "網路 SSID"
+
+msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"
+msgstr "自動連接到這個網路將被關閉。繼續?"
+
+msgid "IDS_WIFI_BODY_EAP_METHOD"
+msgstr "EAP 方法"
+
+msgid "IDS_WIFI_BODY_EAP"
+msgstr "EAP"
+
+msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION"
+msgstr "第 2 階段認證"
+
+msgid "IDS_WIFI_BODY_CONNECT"
+msgstr "連線"
+
+msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS"
+msgstr "閘道位址"
+
+msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES"
+msgstr "在%d分鐘內按下你的Wi - Fi WPS存取點"
+
+msgid "IDS_WIFI_BODY_ENTER_PASSWORD"
+msgstr "輸入密碼"
+
+msgid "IDS_WIFI_BODY_CA_CERTIFICATE"
+msgstr "CA 憑證"
+
+msgid "IDS_WIFI_BODY_UNSPECIFIED"
+msgstr "未指定"
+
+msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"
+msgstr "使用者憑證"
+
+msgid "IDS_WIFI_BODY_IDENTITY"
+msgstr "使用者"
+
+msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"
+msgstr "匿名使用者"
+
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_WIFI_BODY_ENTER_SSID"
+msgstr "輸入 SSID"
+
+msgid "IDS_WIFI_HEADER_PASSWORD"
+msgstr "密碼"
+
+msgid "IDS_WIFI_BODY_PROVISIONING"
+msgstr "佈建"
+
+msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"
+msgstr "WPS 網路設定"
+
+msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"
+msgstr "尋找隱藏的網路"
+
+msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"
+msgstr "請在 2 分鐘內於 Wi-Fi 按下 WPS 存取點"
+
+msgid "IDS_WIFI_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_WIFI_BODY_SSID"
+msgstr "SSID"
+
+msgid "IDS_WIFI_BODY_ENTER_IDENTITY"
+msgstr "輸入身分"
+
+msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"
+msgstr "輸入匿名身分"
+
+msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY"
+msgstr "輸入身分"
+
+msgid "IDS_WIFI_HEADER_ENTER_PASSWORD"
+msgstr "輸入密碼"
+
--- /dev/null
+/*
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#include "common.h"
+#include "common_datamodel.h"
+
+#define DEFAULT_PROXY_ADDR "0.0.0.0:80"
+
+struct view_datamodel_basic_info {
+ char *profile_name; /* Profile name */
+ char *ap_name; /* AP name */
+ wlan_security_mode_type_t security_mode; /* Security mode */
+ unsigned int signal_strength; /* Signal strength */
+ unsigned int channel_freq; /* channel frequency */
+ boolean is_favourite; /* Favourite */
+ char wps_support;
+};
+
+struct view_datamodel_ip_info {
+ char *profile_name; /* Profile name */
+ net_ip_config_type_t ip_and_dns_type;
+ char* proxy_addr;
+ char* ip;
+ char* subnet;
+ char* gateway;
+ char* dns1;
+ char* dns2;
+
+ char* MAC_address; /* MAC address */
+};
+
+struct view_datamodel_eap_info {
+ char *profile_name; /* Profile name */
+ char *ap_name; /* AP name */
+ wlan_eap_type_t eap_method; /* EAP method */
+ int eap_provision; /* Provisioning */
+ wlan_eap_auth_type_t auth_type; /* EAP phase 2 Authentication */
+ char *user_id; /* User id */
+ char *anonymous_id; /* Anonymous id */
+ char *ca_cert; /* CA certificate */
+ char *user_cert; /* User certificate */
+ char *pswd;
+};
+
+static void view_detail_datamodel_init_default_profile(net_profile_info_t *profile_info)
+{
+ if (profile_info) {
+ wlan_eap_info_t *eap_sec_info = &(profile_info->ProfileInfo.Wlan.security_info.authentication.eap);
+ eap_sec_info->eap_type = WLAN_SEC_EAP_TYPE_PEAP;
+ eap_sec_info->eap_auth = WLAN_SEC_EAP_AUTH_NONE;
+ }
+ return;
+}
+
+view_datamodel_basic_info_t *view_basic_detail_datamodel_create(const char *profile_name)
+{
+ __COMMON_FUNC_ENTER__;
+ view_datamodel_basic_info_t *data_object = NULL;
+ net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t));
+ assertm_if(NULL == profile_name, "NULL!!");
+ view_detail_datamodel_init_default_profile(profile_info);
+ if (!connman_profile_manager_profile_info_get(profile_name, profile_info)) {
+ ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!");
+ g_free(profile_info);
+ return NULL;
+ }
+
+ data_object = g_malloc0(sizeof(view_datamodel_basic_info_t));
+ assertm_if(NULL == data_object, "NULL!!");
+
+ data_object->profile_name = g_strdup(profile_name);
+ data_object->channel_freq = profile_info->ProfileInfo.Wlan.frequency;
+ data_object->ap_name = g_strdup(profile_info->ProfileInfo.Wlan.essid);
+ data_object->signal_strength = profile_info->ProfileInfo.Wlan.Strength;
+ data_object->security_mode = profile_info->ProfileInfo.Wlan.security_info.sec_mode;
+ data_object->is_favourite = profile_info->Favourite;
+ data_object->wps_support = profile_info->ProfileInfo.Wlan.security_info.wps_support;
+
+ INFO_LOG(UG_NAME_NORMAL, "Profile name : %s", data_object->profile_name);
+ INFO_LOG(UG_NAME_NORMAL, "ap name : %s", data_object->ap_name);
+ INFO_LOG(UG_NAME_NORMAL, "Signal strength : %u", data_object->signal_strength);
+ INFO_LOG(UG_NAME_NORMAL, "Security mode : %u", data_object->security_mode);
+ INFO_LOG(UG_NAME_NORMAL, "Channel Freq : %u", data_object->channel_freq);
+ INFO_LOG(UG_NAME_NORMAL, "WPS Support : %d", data_object->wps_support);
+
+ g_free(profile_info);
+ profile_info = NULL;
+
+ __COMMON_FUNC_EXIT__;
+
+ return data_object;
+}
+
+view_datamodel_ip_info_t *view_detail_datamodel_ip_info_create(const char *profile_name)
+{
+ __COMMON_FUNC_ENTER__;
+ view_datamodel_ip_info_t *data_object = NULL;
+ net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t));
+ assertm_if(NULL == profile_name, "NULL!!");
+ view_detail_datamodel_init_default_profile(profile_info);
+ if (!connman_profile_manager_profile_info_get(profile_name, profile_info)) {
+ ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!");
+ /* Lets continue and create a default data object */
+ }
+
+ data_object = g_malloc0(sizeof(view_datamodel_ip_info_t));
+ assertm_if(NULL == data_object, "NULL!!");
+
+ data_object->profile_name = g_strdup(profile_name);
+ data_object->ip_and_dns_type = profile_info->ProfileInfo.Wlan.net_info.IpConfigType;
+ if (strlen(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr) <= 0) {
+ data_object->proxy_addr = g_strdup(DEFAULT_PROXY_ADDR);
+ } else {
+ data_object->proxy_addr = g_strdup(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr);
+ }
+
+ data_object->ip = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4));
+ data_object->subnet = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4));
+ data_object->gateway = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4));
+ data_object->dns1 = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4));
+ data_object->dns2 = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4));
+ data_object->MAC_address = g_strdup(profile_info->ProfileInfo.Wlan.bssid);
+
+ INFO_LOG(UG_NAME_NORMAL, "Profile name : %s", data_object->profile_name);
+ INFO_LOG(UG_NAME_NORMAL, "ip_and_dns_type : %d", data_object->ip_and_dns_type);
+ INFO_LOG(UG_NAME_NORMAL, "ip : %s", data_object->ip);
+ INFO_LOG(UG_NAME_NORMAL, "subnet : %s", data_object->subnet);
+ INFO_LOG(UG_NAME_NORMAL, "gateway : %s", data_object->gateway);
+ INFO_LOG(UG_NAME_NORMAL, "dns1 : %s", data_object->dns1);
+ INFO_LOG(UG_NAME_NORMAL, "dns2 : %s", data_object->dns2);
+ INFO_LOG(UG_NAME_NORMAL, "proxy addr : %s", data_object->proxy_addr);
+ INFO_LOG(UG_NAME_NORMAL, "MAC addr : %s", data_object->MAC_address);
+
+ g_free(profile_info);
+ profile_info = NULL;
+
+ __COMMON_FUNC_EXIT__;
+
+ return data_object;
+}
+
+view_datamodel_eap_info_t *view_detail_datamodel_eap_info_create(const char *profile_name)
+{
+ __COMMON_FUNC_ENTER__;
+ view_datamodel_eap_info_t *data_object = NULL;
+ net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t));
+ assertm_if(NULL == profile_name, "NULL!!");
+ view_detail_datamodel_init_default_profile(profile_info);
+ if (!connman_profile_manager_profile_info_get(profile_name, profile_info)) {
+ ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!");
+ /* Lets continue and create a default data object */
+ }
+
+ /* The EAP info data object would be created only if the device is remembered / connected */
+ data_object = g_malloc0(sizeof(view_datamodel_eap_info_t));
+ assertm_if(NULL == data_object, "NULL!!");
+
+ data_object->profile_name = g_strdup(profile_name);
+ data_object->ap_name = g_strdup(profile_info->ProfileInfo.Wlan.essid);
+
+ /* If the device is connected / remembered only then create and fill the eap_details structure */
+ wlan_eap_info_t *eap_sec_info = &(profile_info->ProfileInfo.Wlan.security_info.authentication.eap);
+ data_object->eap_method = eap_sec_info->eap_type;
+ data_object->eap_provision = 0; /* This is not yet supported by libnet. So setting it to 0. */
+ data_object->auth_type = eap_sec_info->eap_auth;
+
+ if (strlen(eap_sec_info->username))
+ data_object->user_id = g_strdup(eap_sec_info->username);
+
+ data_object->anonymous_id = NULL; /* This is not yet supported by libnet. So setting it to NULL. */
+
+ if (strlen(eap_sec_info->password))
+ data_object->pswd = g_strdup(eap_sec_info->password);
+
+ if (strlen(eap_sec_info->ca_cert_filename))
+ data_object->ca_cert = g_strdup(eap_sec_info->ca_cert_filename);
+
+ if (strlen(eap_sec_info->client_cert_filename))
+ data_object->user_cert = g_strdup(eap_sec_info->client_cert_filename);
+
+ INFO_LOG(UG_NAME_NORMAL, "Profile name : %s", data_object->profile_name);
+ INFO_LOG(UG_NAME_NORMAL, "EAP method : %u", data_object->eap_method);
+ INFO_LOG(UG_NAME_NORMAL, "Provisioning : %u", data_object->eap_provision);
+ INFO_LOG(UG_NAME_NORMAL, "Auth type : %u", data_object->auth_type);
+ INFO_LOG(UG_NAME_NORMAL, "Id : %s", data_object->user_id);
+ INFO_LOG(UG_NAME_NORMAL, "Anonymous id : %s", data_object->anonymous_id);
+ INFO_LOG(UG_NAME_NORMAL, "Password : %s", data_object->pswd );
+ INFO_LOG(UG_NAME_NORMAL, "CA certificate : %s", data_object->ca_cert);
+ INFO_LOG(UG_NAME_NORMAL, "User certificate : %s", data_object->user_cert);
+
+ g_free(profile_info);
+ profile_info = NULL;
+
+ __COMMON_FUNC_EXIT__;
+
+ return data_object;
+}
+
+void view_basic_detail_datamodel_destroy(view_datamodel_basic_info_t *data_object)
+{
+ __COMMON_FUNC_ENTER__;
+
+ assertm_if(NULL == data_object, "NULL!!");
+
+ g_free(data_object->profile_name);
+ g_free(data_object->ap_name);
+ g_free(data_object);
+ data_object = NULL;
+
+ __COMMON_FUNC_EXIT__;
+
+ return;
+}
+
+void view_detail_datamodel_ip_info_destroy(view_datamodel_ip_info_t *data_object)
+{
+ __COMMON_FUNC_ENTER__;
+
+ assertm_if(NULL == data_object, "NULL!!");
+
+ g_free(data_object->profile_name);
+ g_free(data_object->proxy_addr);
+ g_free(data_object->ip);
+ g_free(data_object->subnet);
+ g_free(data_object->gateway);
+ g_free(data_object->dns1);
+ g_free(data_object->dns2);
+ g_free(data_object->MAC_address);
+ g_free(data_object);
+ data_object = NULL;
+
+ __COMMON_FUNC_EXIT__;
+
+ return;
+}
+
+void view_detail_datamodel_eap_info_destroy(view_datamodel_eap_info_t *data_object)
+{
+ __COMMON_FUNC_ENTER__;
+
+ assertm_if(NULL == data_object, "NULL!!");
+
+ g_free(data_object->profile_name);
+ g_free(data_object->ap_name);
+ g_free(data_object->user_id);
+ g_free(data_object->anonymous_id);
+ g_free(data_object->pswd);
+ g_free(data_object->ca_cert);
+ g_free(data_object->user_cert);
+ g_free(data_object);
+ data_object = NULL;
+
+ __COMMON_FUNC_EXIT__;
+
+ return;
+}
+
+boolean view_detail_datamodel_save_ip_info_if_modified(const view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+
+ boolean changed = FALSE;
+ net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t));
+ assertm_if(NULL == profile_info, "NULL!!");
+ view_detail_datamodel_init_default_profile(profile_info);
+ if (!connman_profile_manager_profile_info_get(data_object->profile_name, profile_info)) {
+ ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!");
+ g_free(profile_info);
+ return FALSE;
+ }
+
+ if (data_object->ip_and_dns_type != profile_info->ProfileInfo.Wlan.net_info.IpConfigType) {
+ profile_info->ProfileInfo.Wlan.net_info.IpConfigType = data_object->ip_and_dns_type;
+ changed = TRUE;
+ }
+
+ if (!g_strcmp0(data_object->proxy_addr, DEFAULT_PROXY_ADDR)) { /* Has user entered default proxy "0.0.0.0:80"*/
+ if (g_strcmp0(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr, "")) { /* If user entered defaukt proxy, then check if the profile proxy is zero string ("") */
+ g_strlcpy(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr, "", WLAN_PROXY_LEN_MAX);
+ changed = TRUE;
+ }
+ } else if (g_strcmp0(data_object->proxy_addr, profile_info->ProfileInfo.Wlan.net_info.ProxyAddr)) {
+ g_strlcpy(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr, data_object->proxy_addr, WLAN_PROXY_LEN_MAX);
+ changed = TRUE;
+ }
+
+ if (data_object->ip_and_dns_type == NET_IP_CONFIG_TYPE_STATIC) {
+ char *temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4);
+ if (g_strcmp0(data_object->ip, temp_str)) {
+ inet_aton(data_object->ip, &(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4));
+ char *temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4);
+ INFO_LOG(UG_NAME_NORMAL, "IP : %s", temp_str);
+ changed = TRUE;
+ }
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4);
+ if (g_strcmp0(data_object->subnet, temp_str)) {
+ inet_aton(data_object->subnet, &(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4));
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4);
+ INFO_LOG(UG_NAME_NORMAL, "Subnet : %s", temp_str);
+ changed = TRUE;
+ }
+
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4);
+ if (g_strcmp0(data_object->gateway, temp_str)) {
+ inet_aton(data_object->gateway, &(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4));
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4);
+ INFO_LOG(UG_NAME_NORMAL, "Gateway : %s", temp_str);
+ changed = TRUE;
+ }
+
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4);
+ if (g_strcmp0(data_object->dns1, temp_str)) {
+ inet_aton(data_object->dns1, &(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4));
+ profile_info->ProfileInfo.Wlan.net_info.DnsCount = 1;
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4);
+ INFO_LOG(UG_NAME_NORMAL, "DNS1 : %s", temp_str);
+ changed = TRUE;
+ }
+
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4);
+ if (g_strcmp0(data_object->dns2, temp_str)) {
+ inet_aton(data_object->dns2, &(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4));
+ profile_info->ProfileInfo.Wlan.net_info.DnsCount = 2;
+ temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4);
+ INFO_LOG(UG_NAME_NORMAL, "DNS2 : %s", temp_str);
+ changed = TRUE;
+ }
+ INFO_LOG(UG_NAME_NORMAL, "DNS count : %d", profile_info->ProfileInfo.Wlan.net_info.DnsCount);
+ }
+ if (changed) {
+ wlan_manager_profile_modify_by_device_info(profile_info);
+ }
+
+ g_free(profile_info);
+
+ return changed;
+}
+
+boolean view_detail_datamodel_save_eap_info_if_modified(const view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+
+ boolean changed = FALSE;
+ net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t));
+ assertm_if(NULL == profile_info, "NULL!!");
+ view_detail_datamodel_init_default_profile(profile_info);
+ if (!connman_profile_manager_profile_info_get(data_object->profile_name, profile_info)) {
+ ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!");
+ g_free(profile_info);
+ return FALSE;
+ }
+
+ wlan_eap_info_t *eap_sec_info = &(profile_info->ProfileInfo.Wlan.security_info.authentication.eap);
+ if (data_object->eap_method != eap_sec_info->eap_type) {
+ eap_sec_info->eap_type = data_object->eap_method;
+ changed = TRUE;
+ }
+
+ if (data_object->auth_type != eap_sec_info->eap_auth) {
+ eap_sec_info->eap_auth = data_object->auth_type;
+ changed = TRUE;
+ }
+
+ if (g_strcmp0(data_object->user_id, eap_sec_info->username)) {
+ g_strlcpy(eap_sec_info->username, data_object->user_id, NETPM_WLAN_USERNAME_LEN);
+ changed = TRUE;
+ }
+
+ if (g_strcmp0(data_object->pswd, eap_sec_info->password)) {
+ g_strlcpy(eap_sec_info->password, data_object->pswd, NETPM_WLAN_PASSWORD_LEN);
+ changed = TRUE;
+ }
+
+ if (changed) {
+ INFO_LOG(UG_NAME_NORMAL, "EAP type : %d", eap_sec_info->eap_type);
+ INFO_LOG(UG_NAME_NORMAL, "EAP auth : %d", eap_sec_info->eap_auth);
+ INFO_LOG(UG_NAME_NORMAL, "User name : %s", eap_sec_info->username);
+ INFO_LOG(UG_NAME_NORMAL, "Password : %s", eap_sec_info->password);
+
+ wlan_manager_profile_modify_by_device_info(profile_info);
+ }
+
+ g_free(profile_info);
+
+ return changed;
+}
+
+int view_detail_datamodel_ip_and_dns_type_set(view_datamodel_ip_info_t *data_object, const IP_TYPES type)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ data_object->ip_and_dns_type = type;
+ return TRUE;
+}
+
+int view_detail_datamodel_proxy_address_set(view_datamodel_ip_info_t *data_object, const char* proxy)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ if(NULL != proxy) {
+ g_free(data_object->proxy_addr);
+ data_object->proxy_addr = g_strdup(proxy);
+ }
+ return TRUE;
+}
+
+int view_detail_datamodel_static_ip_address_set(view_datamodel_ip_info_t *data_object, const char* addr)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ if(NULL != addr) {
+ DEBUG_LOG(UG_NAME_NORMAL, "* set as [%s]", addr);
+ g_free(data_object->ip);
+ data_object->ip = g_strdup(addr);
+ }
+ return TRUE;
+}
+
+int view_detail_datamodel_static_gateway_address_set(view_datamodel_ip_info_t *data_object, const char* addr)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ if(NULL != addr) {
+ g_free(data_object->gateway);
+ data_object->gateway = g_strdup(addr);
+ }
+ return TRUE;
+}
+
+int view_detail_datamodel_static_subnet_mask_set(view_datamodel_ip_info_t *data_object, const char* addr)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ if(NULL != addr) {
+ g_free(data_object->subnet);
+ data_object->subnet = g_strdup(addr);
+ }
+ return TRUE;
+}
+
+int view_detail_datamodel_static_dns1_address_set(view_datamodel_ip_info_t *data_object, const char* addr)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ if(NULL != addr) {
+ g_free(data_object->dns1);
+ data_object->dns1 = g_strdup(addr);
+ }
+ return TRUE;
+}
+
+int view_detail_datamodel_static_dns2_address_set(view_datamodel_ip_info_t *data_object, const char* addr)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ if (NULL != addr) {
+ g_free(data_object->dns2);
+ data_object->dns2 = g_strdup(addr);
+ }
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_ap_name_set(view_datamodel_eap_info_t *data_object, const char *ssid)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ g_free(data_object->ap_name);
+ data_object->ap_name = g_strdup(ssid);
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_method_set(view_datamodel_eap_info_t *data_object, const wlan_eap_type_t eap_method)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ data_object->eap_method = eap_method;
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_provision_set(view_datamodel_eap_info_t *data_object, const int provision)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ data_object->eap_provision = provision;
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_auth_set(view_datamodel_eap_info_t *data_object, const wlan_eap_auth_type_t auth_type)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ data_object->auth_type = auth_type;
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_user_id_set(view_datamodel_eap_info_t *data_object, const char* user_id)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ g_free(data_object->user_id);
+ data_object->user_id = g_strdup(user_id);
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_anonymous_id_set(view_datamodel_eap_info_t *data_object, const char* anonymous_id)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ g_free(data_object->anonymous_id);
+ data_object->anonymous_id = g_strdup(anonymous_id);
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_pswd_set(view_datamodel_eap_info_t *data_object, const char* pswd)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ g_free(data_object->pswd);
+ data_object->pswd = g_strdup(pswd);
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_ca_cert_set(view_datamodel_eap_info_t *data_object, const char* ca_cert)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ g_free(data_object->ca_cert);
+ data_object->ca_cert = g_strdup(ca_cert);
+ return TRUE;
+}
+
+int view_detail_datamodel_eap_user_cert_set(view_datamodel_eap_info_t *data_object, const char* user_cert)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ g_free(data_object->user_cert);
+ data_object->user_cert = g_strdup(user_cert);
+ return TRUE;
+}
+
+IP_TYPES view_detail_datamodel_ip_and_dns_type_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->ip_and_dns_type;
+}
+
+char *view_detail_datamodel_static_ip_address_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->ip);
+}
+
+char *view_detail_datamodel_static_gateway_address_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->gateway);
+}
+
+char *view_detail_datamodel_static_subnet_mask_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->subnet);
+}
+
+char *view_detail_datamodel_static_dns1_address_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->dns1);
+}
+
+char *view_detail_datamodel_static_dns2_address_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->dns2);
+}
+
+char* view_detail_datamodel_proxy_address_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ char* ret = g_strdup(data_object->proxy_addr);
+ return ret;
+}
+
+char* view_detail_datamodel_MAC_addr_get(view_datamodel_ip_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ char* ret = g_strdup(data_object->MAC_address);
+ return ret;
+}
+#if 0
+int view_detail_datamodel_channel_freq_get(view_datamodel_ip_info_t *data_object)
+{
+ view_detail_datamodel_t *data_object = (view_detail_datamodel_t *)mvc_object;
+ assertm_if(NULL == data_object, "NULL!!");
+ switch (data_object->channel_freq) {
+ default:
+ case 2412:
+ return 1;
+ case 2417:
+ return 2;
+ case 2422:
+ return 3;
+ case 2427:
+ return 4;
+ case 2432:
+ return 5;
+ case 2437:
+ return 6;
+ case 2442:
+ return 7;
+ case 2447:
+ return 8;
+ case 2452:
+ return 9;
+ case 2457:
+ return 10;
+ case 2462:
+ return 11;
+ }
+ return 0;
+}
+#endif
+
+wlan_eap_type_t view_detail_datamodel_eap_method_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->eap_method;
+}
+
+int view_detail_datamodel_eap_provision_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->eap_provision;
+}
+
+wlan_eap_auth_type_t view_detail_datamodel_eap_auth_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->auth_type;
+}
+
+char *view_detail_datamodel_user_id_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->user_id);
+}
+
+char *view_detail_datamodel_anonymous_id_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->anonymous_id);
+}
+
+char *view_detail_datamodel_pswd_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->pswd);
+}
+
+char *view_detail_datamodel_ca_cert_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->ca_cert);
+}
+
+char *view_detail_datamodel_user_cert_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->user_cert);
+}
+
+char *view_detail_datamodel_eap_ap_name_get(view_datamodel_eap_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->ap_name);
+}
+
+char *view_detail_datamodel_basic_info_profile_name_get(view_datamodel_basic_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->profile_name);
+}
+
+char *view_detail_datamodel_ap_name_get(view_datamodel_basic_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return g_strdup(data_object->ap_name);
+}
+
+unsigned int view_detail_datamodel_sig_strength_get(view_datamodel_basic_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->signal_strength;
+}
+
+unsigned int view_detail_datamodel_sec_mode_get(view_datamodel_basic_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->security_mode;
+}
+
+char view_detail_datamodel_wps_support_get(view_datamodel_basic_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->wps_support;
+}
+
+boolean view_detail_datamodel_is_favourite_get(view_datamodel_basic_info_t *data_object)
+{
+ assertm_if(NULL == data_object, "NULL!!");
+ return data_object->is_favourite;
+}
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#include "common.h"
+#include "common_eap_connect.h"
+#include "i18nmanager.h"
+#include "common_utils.h"
+#include "common_ip_info.h"
+#include "common_datamodel.h"
+
+#define COMMON_EAP_CONNECT_POPUP_W 656
+#define COMMON_EAP_CONNECT_POPUP_H 918
+
+#define EAP_CONNECT_POPUP "popup_view"
+
+#define MAX_EAP_PROVISION_NUMBER 3
+
+#define EAP_METHOD_EXP_MENU_ID 0
+#define EAP_PROVISION_EXP_MENU_ID 1
+#define EAP_AUTH_TYPE_EXP_MENU_ID 2
+
+
+typedef enum {
+ EAP_SEC_TYPE_UNKNOWN = 0,
+ EAP_SEC_TYPE_PEAP,
+ EAP_SEC_TYPE_TLS,
+ EAP_SEC_TYPE_TTLS,
+ EAP_SEC_TYPE_SIM,
+ EAP_SEC_TYPE_AKA,
+ EAP_SEC_TYPE_FAST,
+ EAP_SEC_TYPE_NULL
+} eap_type_t;
+
+typedef enum {
+ EAP_SEC_AUTH_NONE = 0,
+ EAP_SEC_AUTH_PAP,
+ EAP_SEC_AUTH_MSCHAP,
+ EAP_SEC_AUTH_MSCHAPV2,
+ EAP_SEC_AUTH_GTC,
+ EAP_SEC_AUTH_MD5,
+ EAP_SEC_AUTH_NULL
+} eap_auth_t;
+
+
+typedef struct {
+ char depth;
+ char *name;
+ Elm_Genlist_Item_Type flags;
+} _Expand_List_t;
+
+struct eap_info_list {
+ view_datamodel_eap_info_t *data_object;
+ Elm_Object_Item *pswd_item;
+};
+
+static const _Expand_List_t list_eap_type[] = {
+ {1, "UNKNOWN", ELM_GENLIST_ITEM_NONE},
+ {1, "PEAP", ELM_GENLIST_ITEM_NONE},
+ {1, "TLS", ELM_GENLIST_ITEM_NONE},
+ {1, "TTLS", ELM_GENLIST_ITEM_NONE},
+ {1, "SIM", ELM_GENLIST_ITEM_NONE},
+ {1, "AKA", ELM_GENLIST_ITEM_NONE},
+ {1, "FAST", ELM_GENLIST_ITEM_NONE},
+ {1, NULL, ELM_GENLIST_ITEM_NONE}
+};
+
+static const _Expand_List_t list_eap_auth[] = {
+ {1, "NONE", ELM_GENLIST_ITEM_NONE},
+ {1, "PAP", ELM_GENLIST_ITEM_NONE},
+ {1, "MSCHAP", ELM_GENLIST_ITEM_NONE},
+ {1, "MSCHAPV2", ELM_GENLIST_ITEM_NONE},
+ {1, "GTC", ELM_GENLIST_ITEM_NONE},
+ {1, "MD5", ELM_GENLIST_ITEM_NONE},
+ {1, NULL, ELM_GENLIST_ITEM_NONE}
+};
+
+static Evas_Object *radio_main = NULL;
+
+struct common_eap_connect_data {
+ int expandable_list_index;
+
+ Elm_Genlist_Item_Class *eap_type_itc;
+ Elm_Genlist_Item_Class *eap_type_sub_itc;
+ Elm_Genlist_Item_Class *eap_provision_itc;
+ Elm_Genlist_Item_Class *eap_provision_sub_itc;
+ Elm_Genlist_Item_Class *eap_auth_itc;
+ Elm_Genlist_Item_Class *eap_ca_cert_itc;
+ Elm_Genlist_Item_Class *eap_user_cert_itc;
+ Elm_Genlist_Item_Class *eap_auth_sub_itc;
+
+ Elm_Object_Item *eap_type_item;
+ Elm_Object_Item *eap_provision_item;
+ Elm_Object_Item *eap_auth_item;
+ Elm_Object_Item *eap_ca_cert_item;
+ Elm_Object_Item *eap_user_cert_item;
+ Elm_Object_Item *eap_id_item;
+ Elm_Object_Item *eap_anonyid_item;
+ Elm_Object_Item *eap_pw_item;
+ Evas_Object *popup;
+
+ Evas_Object *genlist;
+ Eina_Bool eap_done_ok;
+ Evas_Object *win;
+ const char *str_pkg_name;
+ view_datamodel_eap_info_t *data_object;
+ ip_info_list_t *ip_info_list;
+ void (*eap_closed_cb)(void);
+ Elm_Object_Item* navi_it;
+};
+
+static void _gl_eap_provision_sel(void *data, Evas_Object *obj, void *event_info);
+static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info);
+static void _create_and_update_list_items_based_on_rules(eap_type_t new_type, common_eap_connect_data_t *eap_data);
+static void _delete_eap_entry_items(common_eap_connect_data_t *eap_data);
+static eap_type_t __common_eap_connect_popup_get_eap_type(view_datamodel_eap_info_t *data_object);
+static wlan_eap_type_t __common_eap_connect_popup_get_wlan_eap_type(eap_type_t eap_type);
+static eap_auth_t __common_eap_connect_popup_get_auth_type(view_datamodel_eap_info_t *data_object);
+static wlan_eap_auth_type_t __common_eap_connect_popup_get_wlan_auth_type(eap_auth_t auth_type);
+
+static void _gl_eap_type_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Eina_Bool expanded = EINA_FALSE;
+ if (item)
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ expanded = elm_genlist_item_expanded_get(item);
+ if (expanded == FALSE) {
+ eap_data->expandable_list_index = EAP_METHOD_EXP_MENU_ID;
+ }
+
+ /* Expand/Contract the sub items list */
+ elm_genlist_item_expanded_set(item, !expanded);
+}
+
+static void _gl_eap_type_sub_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
+
+ eap_type_t pre_index = __common_eap_connect_popup_get_eap_type(eap_data->data_object);
+ eap_type_t selected_item_index = elm_genlist_item_index_get(item) - elm_genlist_item_index_get(parent_item);
+
+ DEBUG_LOG( UG_NAME_NORMAL, "previous index = %d; selected index = %d;", pre_index, selected_item_index);
+
+ /* Contract the sub items list */
+ elm_genlist_item_expanded_set(parent_item, EINA_FALSE);
+
+ if (pre_index != selected_item_index) {
+// selected_item_index = __common_eap_connect_popup_get_eap_type(__common_eap_connect_popup_get_wlan_eap_type(selected_item_index));
+ _create_and_update_list_items_based_on_rules(selected_item_index, data);
+ view_detail_datamodel_eap_method_set(eap_data->data_object, __common_eap_connect_popup_get_wlan_eap_type(selected_item_index));
+ DEBUG_LOG( UG_NAME_NORMAL, "set to new index = %d", view_detail_datamodel_eap_method_get(eap_data->data_object));
+ elm_genlist_item_update(parent_item);
+ } else {
+ DEBUG_LOG( UG_NAME_NORMAL, "pre_index == selected_item_index[%d]", selected_item_index);
+ }
+}
+
+static void _gl_eap_provision_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Eina_Bool expanded = EINA_FALSE;
+ if (item)
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ expanded = elm_genlist_item_expanded_get(item);
+ if (expanded == FALSE) {
+ eap_data->expandable_list_index = EAP_PROVISION_EXP_MENU_ID;
+ }
+
+ /* Expand/Contract the sub items list */
+ elm_genlist_item_expanded_set(item, !expanded);
+}
+
+static void _gl_eap_provision_sub_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
+ int selected_item_index = elm_genlist_item_index_get(item) - elm_genlist_item_index_get(parent_item) - 1;
+
+ view_detail_datamodel_eap_provision_set(eap_data->data_object, selected_item_index);
+
+ /* Contract the sub items list */
+ elm_genlist_item_expanded_set(parent_item, EINA_FALSE);
+
+ elm_genlist_item_update(parent_item);
+}
+
+static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Eina_Bool expanded = EINA_FALSE;
+ if (item)
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ expanded = elm_genlist_item_expanded_get(item);
+ if (expanded == FALSE) {
+ eap_data->expandable_list_index = EAP_AUTH_TYPE_EXP_MENU_ID;
+ }
+ /* Expand/Contract the sub items list */
+ elm_genlist_item_expanded_set(item, !expanded);
+}
+
+static void _gl_eap_auth_sub_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
+ eap_auth_t selected_item_index = elm_genlist_item_index_get(item) - elm_genlist_item_index_get(parent_item) - 1;
+
+ view_detail_datamodel_eap_auth_set(eap_data->data_object, __common_eap_connect_popup_get_wlan_auth_type(selected_item_index));
+
+ /* Contract the sub items list */
+ elm_genlist_item_expanded_set(parent_item, EINA_FALSE);
+
+ elm_genlist_item_update(parent_item);
+}
+
+static char *_gl_eap_type_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+ eap_type_t sel_sub_item_id = __common_eap_connect_popup_get_eap_type(eap_data->data_object);
+ DEBUG_LOG(UG_NAME_NORMAL, "current selected subitem = %d", sel_sub_item_id);
+
+ if (!strcmp(part, "elm.text.1")) {
+ return g_strdup(list_eap_type[sel_sub_item_id].name);
+ } else if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_EAP_method));
+ }
+
+ return NULL;
+}
+
+static char *_gl_eap_subtext_get(void *data, Evas_Object *obj, const char *part)
+{
+ wlan_eap_type_t eap_type = (wlan_eap_type_t)elm_radio_state_value_get(data);
+ if (!strcmp(part, "elm.text")) {
+ return g_strdup(list_eap_type[eap_type].name);
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_gl_eap_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+ return data;
+ }
+
+ return NULL;
+}
+
+static void _gl_eap_type_sub_menu_item_del(void *data, Evas_Object *obj)
+{
+ evas_object_unref(data);
+ return;
+}
+
+static char *_gl_eap_provision_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+ int sel_sub_item_id = view_detail_datamodel_eap_provision_get(eap_data->data_object);
+ DEBUG_LOG(UG_NAME_NORMAL, "current selected subitem = %d", sel_sub_item_id);
+
+ if (!strcmp(part, "elm.text.1")) {
+ return g_strdup_printf("%d", sel_sub_item_id);
+ } else if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Provisioning));
+ }
+
+ return NULL;
+}
+
+static char *_gl_eap_provision_subtext_get(void *data, Evas_Object *obj, const char *part)
+{
+ if (!strcmp(part, "elm.text")) {
+ return g_strdup_printf("%d", (int)elm_radio_state_value_get(data));
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_gl_eap_provision_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+ return data;
+ }
+
+ return NULL;
+}
+
+static void _gl_eap_provision_sub_menu_item_del(void *data, Evas_Object *obj)
+{
+ evas_object_unref(data);
+ return;
+}
+
+static char *_gl_eap_auth_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+ eap_auth_t sel_sub_item_id = __common_eap_connect_popup_get_auth_type(eap_data->data_object);
+ if (!strcmp(part, "elm.text.1")) {
+ return g_strdup(list_eap_auth[sel_sub_item_id].name);
+ } else if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Phase_2_authentication));
+ }
+
+ return NULL;
+}
+
+static char *_gl_eap_auth_subtext_get(void *data, Evas_Object *obj, const char *part)
+{
+ wlan_eap_auth_type_t eap_auth = (wlan_eap_auth_type_t)elm_radio_state_value_get(data);
+ if (!strcmp(part, "elm.text")) {
+ return g_strdup(list_eap_auth[eap_auth].name);
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_gl_eap_auth_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+ return data;
+ }
+
+ return NULL;
+}
+
+static void _gl_eap_auth_sub_menu_item_del(void *data, Evas_Object *obj)
+{
+ evas_object_unref(data);
+ return;
+}
+
+static char *_gl_eap_ca_cert_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+ if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Ca_Certificate));
+ } else if (!strcmp(part, "elm.text.1")) {
+ return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Unspecified));
+ }
+
+ return NULL;
+}
+
+static char *_gl_eap_user_cert_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+ if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_User_Certificate));
+ } else if (!strcmp(part, "elm.text.1")) {
+ return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Unspecified));
+ }
+
+ return NULL;
+}
+
+static void _gl_exp(void *data, Evas_Object *obj, void *event_info)
+{
+ Evas_Object *radio;
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Elm_Object_Item *sub_item = NULL;
+ Evas_Object *gl = elm_object_item_widget_get(item);
+ if (gl == NULL) {
+ ERROR_LOG(UG_NAME_NORMAL, "gl is NULL");
+ return;
+ }
+
+ evas_object_focus_set(gl, EINA_TRUE);
+
+ int i = 0;
+ INFO_LOG(UG_NAME_RESP, "depth = %d", eap_data->expandable_list_index);
+ switch (eap_data->expandable_list_index) {
+ case EAP_METHOD_EXP_MENU_ID:
+ i = EAP_SEC_TYPE_PEAP;
+ while(list_eap_type[i].name != NULL) {
+ radio = common_utils_create_radio_button(obj, i);
+ elm_radio_group_add(radio, radio_main);
+ evas_object_ref(radio);
+ if (i == __common_eap_connect_popup_get_eap_type(eap_data->data_object))
+ elm_radio_value_set(radio, i);
+ sub_item = elm_genlist_item_append(gl, eap_data->eap_type_sub_itc, (void*)radio, item, list_eap_type[i].flags, _gl_eap_type_sub_sel, eap_data);
+#ifdef DISABLE_FAST_EAP_METHOD
+ if (!g_strcmp0(list_eap_type[i].name, "FAST")) {
+ elm_object_item_disabled_set(sub_item, TRUE);
+ }
+#endif
+ i++;
+ }
+ break;
+ case EAP_PROVISION_EXP_MENU_ID:
+ while(i <= MAX_EAP_PROVISION_NUMBER) {
+ radio = common_utils_create_radio_button(obj, i);
+ elm_radio_group_add(radio, radio_main);
+ evas_object_ref(radio);
+ if (i == view_detail_datamodel_eap_provision_get(eap_data->data_object))
+ elm_radio_value_set(radio, i);
+ elm_genlist_item_append(gl, eap_data->eap_provision_sub_itc, (void*)radio, item, ELM_GENLIST_ITEM_NONE, _gl_eap_provision_sub_sel, eap_data);
+ i++;
+ }
+ break;
+ case EAP_AUTH_TYPE_EXP_MENU_ID:
+ while(list_eap_auth[i].name != NULL) {
+ radio = common_utils_create_radio_button(obj, i);
+ elm_radio_group_add(radio, radio_main);
+ evas_object_ref(radio);
+ if (i == __common_eap_connect_popup_get_auth_type(eap_data->data_object))
+ elm_radio_value_set(radio, i);
+ elm_genlist_item_append(gl, eap_data->eap_auth_sub_itc, (void*)radio, item, list_eap_auth[i].flags, _gl_eap_auth_sub_sel, eap_data);
+ i++;
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+static void _gl_con(void *data, Evas_Object *obj, void *event_info)
+{
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+
+ elm_genlist_item_subitems_clear(item);
+}
+
+static void __common_eap_connect_popup_init_item_class(void *data)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+ eap_data->eap_type_itc = elm_genlist_item_class_new();
+ eap_data->eap_type_sub_itc = elm_genlist_item_class_new();
+ eap_data->eap_provision_itc = elm_genlist_item_class_new();
+ eap_data->eap_provision_sub_itc = elm_genlist_item_class_new();
+ eap_data->eap_auth_itc = elm_genlist_item_class_new();
+ eap_data->eap_auth_sub_itc = elm_genlist_item_class_new();
+ eap_data->eap_ca_cert_itc = elm_genlist_item_class_new();
+ eap_data->eap_user_cert_itc = elm_genlist_item_class_new();
+
+ eap_data->eap_type_itc->item_style = "dialogue/2text.2/expandable";
+ eap_data->eap_type_itc->func.text_get = _gl_eap_type_text_get;
+ eap_data->eap_type_itc->func.content_get = NULL;
+ eap_data->eap_type_itc->func.state_get = NULL;
+ eap_data->eap_type_itc->func.del = NULL;
+
+ eap_data->eap_type_sub_itc->item_style = "dialogue/1text.1icon.2/expandable2";
+ eap_data->eap_type_sub_itc->func.text_get = _gl_eap_subtext_get;
+ eap_data->eap_type_sub_itc->func.content_get = _gl_eap_content_get;
+ eap_data->eap_type_sub_itc->func.state_get = NULL;
+ eap_data->eap_type_sub_itc->func.del = _gl_eap_type_sub_menu_item_del;
+
+ eap_data->eap_provision_itc->item_style = "dialogue/2text.2/expandable";
+ eap_data->eap_provision_itc->func.text_get = _gl_eap_provision_text_get;
+ eap_data->eap_provision_itc->func.content_get = NULL;
+ eap_data->eap_provision_itc->func.state_get = NULL;
+ eap_data->eap_provision_itc->func.del = NULL;
+
+ eap_data->eap_provision_sub_itc->item_style = "dialogue/1text.1icon.2/expandable2";
+ eap_data->eap_provision_sub_itc->func.text_get = _gl_eap_provision_subtext_get;
+ eap_data->eap_provision_sub_itc->func.content_get = _gl_eap_provision_content_get;
+ eap_data->eap_provision_sub_itc->func.state_get = NULL;
+ eap_data->eap_provision_sub_itc->func.del = _gl_eap_provision_sub_menu_item_del;
+
+ eap_data->eap_auth_itc->item_style = "dialogue/2text.2/expandable";
+ eap_data->eap_auth_itc->func.text_get = _gl_eap_auth_text_get;
+ eap_data->eap_auth_itc->func.content_get = NULL;
+ eap_data->eap_auth_itc->func.state_get = NULL;
+ eap_data->eap_auth_itc->func.del = NULL;
+
+ eap_data->eap_auth_sub_itc->item_style = "dialogue/1text.1icon.2/expandable2";
+ eap_data->eap_auth_sub_itc->func.text_get = _gl_eap_auth_subtext_get;
+ eap_data->eap_auth_sub_itc->func.content_get = _gl_eap_auth_content_get;
+ eap_data->eap_auth_sub_itc->func.state_get = NULL;
+ eap_data->eap_auth_sub_itc->func.del = _gl_eap_auth_sub_menu_item_del;
+
+ eap_data->eap_ca_cert_itc->item_style = "dialogue/2text.2";
+ eap_data->eap_ca_cert_itc->func.text_get = _gl_eap_ca_cert_text_get;
+ eap_data->eap_ca_cert_itc->func.content_get = NULL;
+ eap_data->eap_ca_cert_itc->func.state_get = NULL;
+ eap_data->eap_ca_cert_itc->func.del = NULL;
+
+ eap_data->eap_user_cert_itc->item_style = "dialogue/2text.2";
+ eap_data->eap_user_cert_itc->func.text_get = _gl_eap_user_cert_text_get;
+ eap_data->eap_user_cert_itc->func.content_get = NULL;
+ eap_data->eap_user_cert_itc->func.state_get = NULL;
+ eap_data->eap_user_cert_itc->func.del = NULL;
+
+ return;
+}
+
+static void __common_eap_connect_popup_deinit_item_class(void *data)
+{
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+
+ elm_genlist_item_class_free(eap_data->eap_type_itc);
+ elm_genlist_item_class_free(eap_data->eap_type_sub_itc);
+ elm_genlist_item_class_free(eap_data->eap_provision_itc);
+ elm_genlist_item_class_free(eap_data->eap_provision_sub_itc);
+ elm_genlist_item_class_free(eap_data->eap_auth_itc);
+ elm_genlist_item_class_free(eap_data->eap_auth_sub_itc);
+ elm_genlist_item_class_free(eap_data->eap_ca_cert_itc);
+ elm_genlist_item_class_free(eap_data->eap_user_cert_itc);
+
+ eap_data->eap_type_itc = NULL;
+ eap_data->eap_type_sub_itc = NULL;
+ eap_data->eap_provision_itc = NULL;
+ eap_data->eap_provision_sub_itc = NULL;
+ eap_data->eap_auth_itc = NULL;
+ eap_data->eap_auth_sub_itc = NULL;
+ eap_data->eap_ca_cert_itc = NULL;
+ eap_data->eap_user_cert_itc = NULL;
+}
+
+/*
+ * This creates EAP type, Auth type, CA certificate, User certificate, User Id, Anonymous Id and Password items.
+ */
+static void _create_and_update_list_items_based_on_rules(eap_type_t new_type, common_eap_connect_data_t *eap_data)
+{
+ __COMMON_FUNC_ENTER__;
+ Evas_Object* view_list = eap_data->genlist;
+ Elm_Object_Item *insert_after_item = NULL;
+ eap_type_t pre_type;
+
+ if (NULL == eap_data->eap_type_item) {
+ /* Create EAP method/type */
+ pre_type = EAP_SEC_TYPE_SIM;
+ eap_data->eap_type_item = elm_genlist_item_append(view_list, eap_data->eap_type_itc, eap_data, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_type_sel, eap_data);
+ } else {
+ pre_type = __common_eap_connect_popup_get_eap_type(eap_data->data_object);
+ }
+
+ switch (new_type) {
+ case EAP_SEC_TYPE_PEAP:
+ case EAP_SEC_TYPE_TLS:
+ case EAP_SEC_TYPE_TTLS:
+ if (EAP_SEC_TYPE_UNKNOWN == pre_type || EAP_SEC_TYPE_SIM == pre_type || EAP_SEC_TYPE_AKA == pre_type) {
+ insert_after_item = eap_data->eap_type_item;
+ } else if (EAP_SEC_TYPE_FAST == pre_type) {
+ elm_object_item_del(eap_data->eap_provision_item);
+ eap_data->eap_provision_item = NULL;
+ }
+ break;
+ case EAP_SEC_TYPE_SIM:
+ case EAP_SEC_TYPE_AKA:
+ if (EAP_SEC_TYPE_PEAP == pre_type || EAP_SEC_TYPE_TLS == pre_type || EAP_SEC_TYPE_TTLS == pre_type) {
+ _delete_eap_entry_items(eap_data);
+ } else if (EAP_SEC_TYPE_FAST == pre_type) {
+ elm_object_item_del(eap_data->eap_provision_item);
+ eap_data->eap_provision_item = NULL;
+ _delete_eap_entry_items(eap_data);
+ }
+ break;
+ case EAP_SEC_TYPE_FAST:
+ /* Add EAP provision */
+ eap_data->eap_provision_item = elm_genlist_item_insert_after(view_list, eap_data->eap_provision_itc, eap_data, NULL, eap_data->eap_type_item, ELM_GENLIST_ITEM_TREE, _gl_eap_provision_sel, eap_data);
+ DEBUG_LOG(UG_NAME_NORMAL, "current selected provision = %d", view_detail_datamodel_eap_provision_get(eap_data->data_object));
+ if (EAP_SEC_TYPE_UNKNOWN == pre_type || EAP_SEC_TYPE_SIM == pre_type || EAP_SEC_TYPE_AKA == pre_type) {
+ insert_after_item = eap_data->eap_provision_item;
+ }
+ break;
+ default:
+ break;
+ }
+
+ if (insert_after_item) {
+ /* Add EAP phase2 authentication */
+ eap_data->eap_auth_item = elm_genlist_item_insert_after(view_list, eap_data->eap_auth_itc, eap_data, NULL, insert_after_item, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, eap_data);
+
+ /* Add CA certificate */
+ eap_data->eap_ca_cert_item = elm_genlist_item_insert_after(view_list, eap_data->eap_ca_cert_itc, eap_data, NULL, eap_data->eap_auth_item, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(eap_data->eap_ca_cert_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /* Add User certificate */
+ eap_data->eap_user_cert_item = elm_genlist_item_insert_after(view_list, eap_data->eap_user_cert_itc, eap_data, NULL, eap_data->eap_ca_cert_item, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(eap_data->eap_user_cert_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /* Add EAP ID */
+ eap_data->eap_id_item = common_utils_add_edit_box_to_list(view_list, eap_data->eap_user_cert_item, sc(eap_data->str_pkg_name, I18N_TYPE_Identity), "", sc(eap_data->str_pkg_name, I18N_TYPE_Enter_Identity), ELM_INPUT_PANEL_LAYOUT_URL);
+
+ /* Add EAP Anonymous Identity */
+ eap_data->eap_anonyid_item = common_utils_add_edit_box_to_list(view_list, eap_data->eap_id_item, sc(eap_data->str_pkg_name, I18N_TYPE_Anonymous_Identity), "", sc(eap_data->str_pkg_name, I18N_TYPE_Enter_Anonymous_Identity), ELM_INPUT_PANEL_LAYOUT_URL);
+
+ /* Add EAP Password */
+ eap_data->eap_pw_item = common_utils_add_edit_box_to_list(view_list, eap_data->eap_anonyid_item, sc(eap_data->str_pkg_name, I18N_TYPE_Password), "", sc(eap_data->str_pkg_name, I18N_TYPE_Enter_password), ELM_INPUT_PANEL_LAYOUT_URL);
+ common_utils_entry_password_set(elm_object_item_data_get(eap_data->eap_pw_item), TRUE);
+ }
+ __COMMON_FUNC_EXIT__;
+ return;
+}
+
+void _delete_eap_entry_items(common_eap_connect_data_t *eap_data)
+{
+ __COMMON_FUNC_ENTER__;
+ elm_object_item_del(eap_data->eap_auth_item);
+ eap_data->eap_auth_item = NULL;
+ elm_object_item_del(eap_data->eap_ca_cert_item);
+ eap_data->eap_ca_cert_item = NULL;
+ elm_object_item_del(eap_data->eap_user_cert_item);
+ eap_data->eap_user_cert_item = NULL;
+ elm_object_item_del(eap_data->eap_id_item);
+ eap_data->eap_id_item = NULL;
+ elm_object_item_del(eap_data->eap_anonyid_item);
+ eap_data->eap_anonyid_item = NULL;
+ elm_object_item_del(eap_data->eap_pw_item);
+ eap_data->eap_pw_item = NULL;
+ __COMMON_FUNC_EXIT__;
+ return;
+}
+
+static Evas_Object* _create_list(Evas_Object* parent, void *data)
+{
+ __COMMON_FUNC_ENTER__;
+ assertm_if(NULL == parent, "NULL!!");
+
+ const char* parent_view_name = evas_object_name_get(parent);
+
+ Evas_Object* view_list = elm_genlist_add(parent);
+
+ if (g_strcmp0(EAP_CONNECT_POPUP, parent_view_name) != 0)
+ elm_object_style_set(view_list, "dialogue");
+
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+
+ assertm_if(NULL == view_list, "NULL!!");
+ evas_object_size_hint_weight_set(view_list, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(view_list, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ eap_data->eap_done_ok = FALSE;
+
+ __common_eap_connect_popup_init_item_class(eap_data);
+
+ eap_data->genlist = view_list;
+
+ if (!radio_main) {
+ radio_main = elm_radio_add(view_list);
+ elm_radio_state_value_set(radio_main, 0);
+ elm_radio_value_set(radio_main, 0);
+ }
+
+ if (g_strcmp0(EAP_CONNECT_POPUP, parent_view_name) != 0)
+ common_utils_add_dialogue_separator(view_list, "dialogue/separator");
+
+ /* Create the entry items */
+ _create_and_update_list_items_based_on_rules(view_detail_datamodel_eap_method_get(eap_data->data_object), eap_data);
+
+ evas_object_smart_callback_add(view_list, "expanded", _gl_exp, eap_data);
+ evas_object_smart_callback_add(view_list, "contracted", _gl_con, view_list);
+
+ __COMMON_FUNC_EXIT__;
+ return view_list;
+}
+
+static void __common_eap_connect_destroy(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data;
+
+ if (eap_data != NULL) {
+ evas_object_del(eap_data->genlist);
+ __common_eap_connect_popup_deinit_item_class(eap_data);
+ evas_object_del(eap_data->popup);
+ ip_info_remove(eap_data->ip_info_list);
+ eap_data->ip_info_list = NULL;
+ view_detail_datamodel_eap_info_destroy(eap_data->data_object);
+ eap_data->data_object = NULL;
+ evas_object_del(radio_main);
+ radio_main = NULL;
+ if (eap_data->eap_closed_cb)
+ eap_data->eap_closed_cb();
+ g_free(eap_data);
+
+ /* Lets enable the scan updates */
+ wlan_manager_enable_scan_result_update();
+ }
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static wlan_eap_type_t __common_eap_connect_popup_get_wlan_eap_type(eap_type_t eap_type)
+{
+ wlan_eap_type_t wlan_eap_type = WLAN_SEC_EAP_TYPE_PEAP;
+ switch (eap_type) {
+ case EAP_SEC_TYPE_PEAP:
+ wlan_eap_type = WLAN_SEC_EAP_TYPE_PEAP;
+ break;
+ case EAP_SEC_TYPE_TLS:
+ wlan_eap_type = WLAN_SEC_EAP_TYPE_TLS;
+ break;
+ case EAP_SEC_TYPE_TTLS:
+ wlan_eap_type = WLAN_SEC_EAP_TYPE_TTLS;
+ break;
+ case EAP_SEC_TYPE_SIM:
+ wlan_eap_type = WLAN_SEC_EAP_TYPE_SIM;
+ break;
+ case EAP_SEC_TYPE_AKA:
+ wlan_eap_type = WLAN_SEC_EAP_TYPE_AKA;
+ break;
+#ifndef DISABLE_FAST_EAP_METHOD
+ /* Replace 6 with WLAN_SEC_EAP_TYPE_FAST, when libnet supports WLAN_SEC_EAP_TYPE_FAST enum */
+ case EAP_SEC_TYPE_FAST:
+ wlan_eap_type = 6;
+#endif
+ default:
+ /* This case should never occur */
+ ERROR_LOG(UG_NAME_NORMAL, "Err!");
+ break;
+ }
+ return wlan_eap_type;
+}
+
+static wlan_eap_auth_type_t __common_eap_connect_popup_get_wlan_auth_type(eap_auth_t auth_type)
+{
+ wlan_eap_auth_type_t wlan_auth_type = WLAN_SEC_EAP_AUTH_NONE;
+ switch (auth_type) {
+ case EAP_SEC_AUTH_NONE:
+ wlan_auth_type = WLAN_SEC_EAP_AUTH_NONE;
+ break;
+ case EAP_SEC_AUTH_PAP:
+ wlan_auth_type = WLAN_SEC_EAP_AUTH_PAP;
+ break;
+ case EAP_SEC_AUTH_MSCHAP:
+ wlan_auth_type = WLAN_SEC_EAP_AUTH_MSCHAP;
+ break;
+ case EAP_SEC_AUTH_MSCHAPV2:
+ wlan_auth_type = WLAN_SEC_EAP_AUTH_MSCHAPV2;
+ break;
+ case EAP_SEC_AUTH_GTC:
+ wlan_auth_type = WLAN_SEC_EAP_AUTH_GTC;
+ break;
+ case EAP_SEC_AUTH_MD5:
+ wlan_auth_type = WLAN_SEC_EAP_AUTH_MD5;
+ break;
+ default:
+ /* This case should never occur */
+ ERROR_LOG(UG_NAME_NORMAL, "Err!");
+ break;
+ }
+ return wlan_auth_type;
+}
+
+static void __common_eap_connect_done_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data;
+
+ if(eap_data->eap_done_ok == TRUE) {
+ return;
+ }
+ eap_data->eap_done_ok = TRUE;
+
+ char* str_id = NULL;
+ char* str_pw = NULL;
+
+ wlan_eap_type_t eap_type;
+ wlan_eap_auth_type_t auth_type;
+ net_wifi_connection_info_t *p_conn_info = NULL;
+ p_conn_info = g_malloc0(sizeof(net_wifi_connection_info_t));
+ p_conn_info->wlan_mode = NETPM_WLAN_CONNMODE_INFRA;
+ p_conn_info->security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
+
+ eap_type = view_detail_datamodel_eap_method_get(eap_data->data_object);
+ switch (eap_type) {
+ case WLAN_SEC_EAP_TYPE_PEAP:
+ case WLAN_SEC_EAP_TYPE_TTLS:
+ str_id = common_utils_get_list_item_entry_txt(eap_data->eap_id_item);
+ if (strlen(str_id) <= 0) {
+ common_utils_show_info_ok_popup(eap_data->win, eap_data->str_pkg_name, EAP_CHECK_YOUR_ID_STR);
+ eap_data->eap_done_ok = FALSE;
+ goto eap_done_cleanup;
+ }
+
+ str_pw = common_utils_get_list_item_entry_txt(eap_data->eap_pw_item);
+ if (strlen(str_pw) <= 0) {
+ common_utils_show_info_ok_popup(eap_data->win, eap_data->str_pkg_name, EAP_CHECK_YOUR_PASWD_STR);
+ eap_data->eap_done_ok = FALSE;
+ goto eap_done_cleanup;
+ }
+
+ char *temp_str = common_utils_get_list_item_entry_txt(eap_data->eap_anonyid_item);
+ view_detail_datamodel_eap_anonymous_id_set(eap_data->data_object, temp_str);
+ g_free(temp_str);
+
+ p_conn_info->security_info.authentication.eap.eap_type = eap_type;
+
+ auth_type = view_detail_datamodel_eap_auth_get(eap_data->data_object);
+ p_conn_info->security_info.authentication.eap.eap_auth = auth_type;//__common_eap_connect_popup_get_authentication_type(auth_type);
+ g_strlcpy(p_conn_info->security_info.authentication.eap.username, str_id, NETPM_WLAN_USERNAME_LEN);
+ g_strlcpy(p_conn_info->security_info.authentication.eap.password, str_pw, NETPM_WLAN_PASSWORD_LEN);
+ view_detail_datamodel_eap_user_id_set(eap_data->data_object, str_id);
+ view_detail_datamodel_eap_pswd_set(eap_data->data_object, str_pw);
+ break;
+
+ case WLAN_SEC_EAP_TYPE_TLS:
+ p_conn_info->security_info.authentication.eap.eap_type = eap_type;
+ auth_type = view_detail_datamodel_eap_auth_get(eap_data->data_object);
+ p_conn_info->security_info.authentication.eap.eap_auth = auth_type;//__common_eap_connect_popup_get_authentication_type(auth_type);
+
+// g_strlcpy(p_conn_info->security_info.authentication.eap.username, str_id, NETPM_WLAN_USERNAME_LEN);
+// g_strlcpy(p_conn_info->security_info.authentication.eap.password, str_pw, NETPM_WLAN_USERNAME_LEN);
+ g_strlcpy(p_conn_info->security_info.authentication.eap.ca_cert_filename, "/mnt/ums/Certification/ca2.pem", NETPM_WLAN_CA_CERT_FILENAME_LEN);
+ g_strlcpy(p_conn_info->security_info.authentication.eap.client_cert_filename, "/mnt/ums/Certification/user2.pem", NETPM_WLAN_CLIENT_CERT_FILENAME_LEN);
+ g_strlcpy(p_conn_info->security_info.authentication.eap.private_key_filename, "/mnt/ums/Certification/user2.prv", NETPM_WLAN_PRIVATE_KEY_FILENAME_LEN);
+ g_strlcpy(p_conn_info->security_info.authentication.eap.private_key_passwd, "wifi", NETPM_WLAN_PRIVATE_KEY_PASSWD_LEN);
+ break;
+
+ case WLAN_SEC_EAP_TYPE_SIM:
+ p_conn_info->security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
+ p_conn_info->security_info.authentication.eap.eap_type = eap_type;
+ break;
+
+ case WLAN_SEC_EAP_TYPE_AKA:
+ p_conn_info->security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
+ p_conn_info->security_info.authentication.eap.eap_type = eap_type;
+ break;
+
+ default:
+ /* This case should never occur */
+ ERROR_LOG(UG_NAME_NORMAL, "Err!");
+ break;
+ }
+
+ /* Before we proceed to make a connection, lets save the entered IP data */
+ ip_info_save_data(eap_data->ip_info_list, TRUE);
+ view_detail_datamodel_save_eap_info_if_modified(eap_data->data_object);
+
+ char *temp_str = view_detail_datamodel_eap_ap_name_get(eap_data->data_object);
+ g_strlcpy(p_conn_info->essid, temp_str, NET_WLAN_ESSID_LEN);
+ g_free(temp_str);
+
+ if (WLAN_MANAGER_ERR_NONE != connman_request_connection_open_hidden_ap(p_conn_info)) {
+ ERROR_LOG(UG_NAME_NORMAL, "EAP connect request failed!!!");
+ }
+
+ if (eap_data->navi_it) {
+ eap_view_close(eap_data);
+ } else {
+ Evas_Object *cancel_btn = elm_object_part_content_get(eap_data->popup, "button2");
+ evas_object_smart_callback_call(cancel_btn, "clicked", NULL);
+ }
+
+eap_done_cleanup:
+ g_free(p_conn_info);
+ g_free(str_id);
+ g_free(str_pw);
+
+ __COMMON_FUNC_EXIT__;
+}
+
+common_eap_connect_data_t *create_eap_connect(Evas_Object *win_main, Evas_Object *navi_frame, const char *pkg_name, wifi_device_info_t *device_info, eap_view_close_cb_t cb)
+{
+ __COMMON_FUNC_ENTER__;
+
+ Evas_Object *list = NULL;
+ if (!win_main || !device_info || !pkg_name)
+ return NULL;
+
+ common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)g_malloc0(sizeof(common_eap_connect_data_t));
+ eap_data->str_pkg_name = pkg_name;
+ eap_data->win = win_main;
+
+ /* Create the MVC object */
+ eap_data->data_object = view_detail_datamodel_eap_info_create(device_info->profile_name);
+
+ if (!device_info->profile_name) {
+ /* This means a dummy eap data object has been created. */
+ /* This situation can occur during hidden ap case. */
+ /* Lets set the ssid */
+ view_detail_datamodel_eap_ap_name_set(eap_data->data_object, device_info->ssid);
+ }
+
+ if (navi_frame) { /* Create eap connect view */
+ Evas_Object *layout;
+ Evas_Object *conform;
+ Elm_Object_Item* navi_it;
+ Evas_Object* toolbar;
+ Evas_Object* button_back;
+
+ layout = common_utils_create_conformant_layout(navi_frame);
+ conform = elm_object_part_content_get(layout, "elm.swallow.content");
+
+ /* Create an EAP connect view list */
+ list = _create_list(conform, eap_data);
+
+ /* Append ip info items */
+ eap_data->ip_info_list = ip_info_append_items(device_info->profile_name, pkg_name, list);
+
+ /* Add a separator */
+ common_utils_add_dialogue_separator(list, "dialogue/separator/end");
+
+ elm_object_content_set(conform, list);
+
+ eap_data->navi_it = navi_it = elm_naviframe_item_push(navi_frame, device_info->ssid, NULL, NULL, layout, NULL);
+ evas_object_data_set(navi_frame, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_EAP);
+ eap_data->eap_closed_cb = cb;
+ toolbar = elm_toolbar_add(navi_frame);
+ elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+
+ elm_toolbar_item_append(toolbar,
+ NULL,
+ sc(pkg_name, I18N_TYPE_Connect),
+ __common_eap_connect_done_cb,
+ eap_data);
+ /* Add a dummy item */
+ elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL), EINA_TRUE);
+
+ /* Add the control bar to the naviframe */
+ elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
+
+ button_back = elm_object_item_part_content_get(navi_it, "prev_btn");
+ elm_object_focus_allow_set(button_back, EINA_TRUE);
+ evas_object_smart_callback_add(button_back, "clicked", __common_eap_connect_destroy, eap_data);
+
+ } else { /* Create eap connect popup */
+ Evas_Object *popup;
+ Evas_Object *box;
+ Evas_Object *layout;
+ Evas_Object *btn;
+ Evas_Object *conformant;
+
+ /* Lets disable the scan updates so that the UI is not refreshed un necessarily */
+ wlan_manager_disable_scan_result_update();
+
+ conformant = elm_conformant_add(win_main);
+ assertm_if(NULL == conformant, "conformant is NULL!!");
+ elm_win_conformant_set(win_main, EINA_TRUE);
+ elm_win_resize_object_add(win_main, conformant);
+ evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ layout = elm_layout_add(conformant);
+
+ eap_data->popup = popup = elm_popup_add(layout);
+ elm_object_style_set(popup, "content_expand");
+ elm_object_part_text_set(popup, "title,text", device_info->ssid);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(popup, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ btn = elm_button_add(popup);
+ elm_object_text_set(btn, sc(pkg_name, I18N_TYPE_Connect));
+ elm_object_part_content_set(popup, "button1", btn);
+ evas_object_smart_callback_add(btn, "clicked", __common_eap_connect_done_cb, eap_data);
+
+ btn = elm_button_add(popup);
+ elm_object_text_set(btn, sc(pkg_name, I18N_TYPE_Cancel));
+ elm_object_part_content_set(popup, "button2", btn);
+ evas_object_smart_callback_add(btn, "clicked", __common_eap_connect_destroy, eap_data);
+
+ /* Create and add a box into the layout. */
+ box = elm_box_add(popup);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_min_set(box, COMMON_EAP_CONNECT_POPUP_W * elm_config_scale_get(), COMMON_EAP_CONNECT_POPUP_H * elm_config_scale_get());
+
+ evas_object_name_set(box, EAP_CONNECT_POPUP);
+
+ /* Create an EAP connect view list */
+ list = _create_list(box, eap_data);
+
+ /* Append ip info items */
+ eap_data->ip_info_list = ip_info_append_items(device_info->profile_name, pkg_name, list);
+
+ /* Add a separator */
+ common_utils_add_dialogue_separator(list, "dialogue/separator/end");
+
+ /* Pack the list into the box */
+ elm_box_pack_end(box, list);
+ elm_object_content_set(popup, box);
+ elm_object_content_set(layout, popup);
+ elm_object_content_set(conformant, layout);
+ evas_object_show(list);
+ evas_object_show(box);
+ evas_object_show(popup);
+ evas_object_show(layout);
+ evas_object_show(conformant);
+ }
+
+ __COMMON_FUNC_EXIT__;
+
+ return eap_data;
+}
+
+static eap_type_t __common_eap_connect_popup_get_eap_type(view_datamodel_eap_info_t *data_object)
+{
+ wlan_eap_type_t wlan_eap_type;
+ wlan_eap_type = view_detail_datamodel_eap_method_get(data_object);
+ switch (wlan_eap_type) {
+ case WLAN_SEC_EAP_TYPE_PEAP:
+ return EAP_SEC_TYPE_PEAP;
+
+ case WLAN_SEC_EAP_TYPE_TLS:
+ return EAP_SEC_TYPE_TLS;
+
+ case WLAN_SEC_EAP_TYPE_TTLS:
+ return EAP_SEC_TYPE_TTLS;
+
+ case WLAN_SEC_EAP_TYPE_SIM:
+ return EAP_SEC_TYPE_SIM;
+
+ case WLAN_SEC_EAP_TYPE_AKA:
+ return EAP_SEC_TYPE_AKA;
+
+#ifndef DISABLE_FAST_EAP_METHOD
+ /* Replace 6 with WLAN_SEC_EAP_TYPE_FAST, when libnet supports WLAN_SEC_EAP_TYPE_FAST enum */
+ case 6:
+ return EAP_SEC_TYPE_FAST;
+#endif
+
+ default:
+ return EAP_SEC_TYPE_UNKNOWN;
+ }
+ return EAP_SEC_TYPE_UNKNOWN;
+}
+
+static eap_auth_t __common_eap_connect_popup_get_auth_type(view_datamodel_eap_info_t *data_object)
+{
+ wlan_eap_auth_type_t wlan_auth_type;
+ wlan_auth_type = view_detail_datamodel_eap_auth_get(data_object);
+ switch (wlan_auth_type) {
+ case WLAN_SEC_EAP_AUTH_NONE:
+ return EAP_SEC_AUTH_NONE;
+
+ case WLAN_SEC_EAP_AUTH_PAP:
+ return EAP_SEC_AUTH_PAP;
+
+ case WLAN_SEC_EAP_AUTH_MSCHAP:
+ return EAP_SEC_AUTH_MSCHAP;
+
+ case WLAN_SEC_EAP_AUTH_MSCHAPV2:
+ return EAP_SEC_AUTH_MSCHAPV2;
+
+ case WLAN_SEC_EAP_AUTH_GTC:
+ return EAP_SEC_AUTH_GTC;
+
+ case WLAN_SEC_EAP_AUTH_MD5:
+ return EAP_SEC_AUTH_MD5;
+
+ default:
+ return EAP_SEC_AUTH_NONE;
+ }
+ return EAP_SEC_AUTH_NONE;
+}
+
+/* This creates Auth type, ID, Anonymous Id and Password items
+ * This function should be called after creating the EAP type item
+ */
+eap_info_list_t *eap_info_append_items(const char *profile_name, Evas_Object* view_list, const char *str_pkg_name)
+{
+ __COMMON_FUNC_ENTER__;
+ eap_type_t eap_type;
+ eap_auth_t auth_type;
+ char *temp_str = NULL;
+ Eina_Bool append_continue = TRUE;
+ Elm_Object_Item *password_entry_item = NULL;
+ eap_info_list_t *eap_info_list_data = NULL;
+ view_datamodel_eap_info_t *data_object = NULL;
+ if (!view_list || !str_pkg_name || !profile_name) {
+ ERROR_LOG(UG_NAME_ERR, "Invalid params passed!");
+ return NULL;
+ }
+
+ eap_info_list_data = (eap_info_list_t *)g_malloc0(sizeof(eap_info_list_t));
+
+ eap_info_list_data->data_object = data_object = view_detail_datamodel_eap_info_create(profile_name);
+ eap_type = __common_eap_connect_popup_get_eap_type(data_object);
+ auth_type = __common_eap_connect_popup_get_auth_type(data_object);
+
+ common_utils_add_dialogue_separator(view_list, "dialogue/separator");
+
+ common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_EAP_method), list_eap_type[eap_type].name);
+
+ switch (eap_type) {
+ case EAP_SEC_TYPE_UNKNOWN:
+ case EAP_SEC_TYPE_PEAP:
+ case EAP_SEC_TYPE_TLS:
+ case EAP_SEC_TYPE_TTLS:
+ break;
+ case EAP_SEC_TYPE_FAST:
+ /* Add EAP provision */
+ temp_str = g_strdup_printf("%d", view_detail_datamodel_eap_provision_get(data_object));
+ common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Provisioning), temp_str);
+
+ g_free(temp_str);
+ temp_str = NULL;
+ break;
+ case EAP_SEC_TYPE_SIM:
+ case EAP_SEC_TYPE_AKA:
+ default:
+ append_continue = FALSE;
+ break;
+ }
+
+ if (append_continue) {
+ /* Add EAP phase2 authentication */
+ common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Phase_2_authentication), list_eap_auth[auth_type].name);
+
+ /* Add CA certificate */
+ temp_str = view_detail_datamodel_ca_cert_get(data_object);
+ temp_str = temp_str? temp_str : g_strdup(sc(str_pkg_name, I18N_TYPE_Unspecified));
+ common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Ca_Certificate), temp_str);
+ g_free(temp_str);
+
+ /* Add User certificate */
+ temp_str = view_detail_datamodel_user_cert_get(data_object);
+ temp_str = temp_str? temp_str : g_strdup(sc(str_pkg_name, I18N_TYPE_Unspecified));
+ common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_User_Certificate),temp_str);
+ g_free(temp_str);
+
+ /* Add EAP ID */
+ temp_str = view_detail_datamodel_user_id_get(data_object);
+ common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Identity), temp_str);
+ g_free(temp_str);
+
+ /* Add EAP Anonymous Identity */
+ temp_str = view_detail_datamodel_anonymous_id_get(data_object);
+ common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Anonymous_Identity), temp_str);
+ g_free(temp_str);
+
+ /* Add EAP Password */
+ temp_str = view_detail_datamodel_pswd_get(data_object);
+ password_entry_item = common_utils_add_edit_box_to_list(view_list, NULL, sc(str_pkg_name, I18N_TYPE_Password), temp_str, sc(str_pkg_name, I18N_TYPE_Enter_password), ELM_INPUT_PANEL_LAYOUT_URL);
+ g_free(temp_str);
+ common_utils_entry_password_set(elm_object_item_data_get(password_entry_item), TRUE);
+ eap_info_list_data->pswd_item = password_entry_item;
+ }
+
+ __COMMON_FUNC_EXIT__;
+ return eap_info_list_data;
+}
+
+void eap_info_save_data(eap_info_list_t *eap_info_list_data)
+{
+ if (!eap_info_list_data) {
+ ERROR_LOG(UG_NAME_ERR, "Invalid params passed!");
+ return;
+ }
+ char *txt = common_utils_get_list_item_entry_txt(eap_info_list_data->pswd_item);
+ DEBUG_LOG(UG_NAME_NORMAL, "Password [%s]", txt);
+ view_detail_datamodel_eap_pswd_set(eap_info_list_data->data_object, txt);
+ g_free(txt);
+
+ view_detail_datamodel_save_eap_info_if_modified(eap_info_list_data->data_object);
+ return;
+}
+
+void eap_info_remove(eap_info_list_t *eap_info_list_data)
+{
+ if (!eap_info_list_data) {
+ ERROR_LOG(UG_NAME_ERR, "Invalid params passed!");
+ return;
+ }
+
+ view_detail_datamodel_eap_info_destroy(eap_info_list_data->data_object);
+ g_free(eap_info_list_data);
+
+ return;
+}
+
+void eap_view_close(common_eap_connect_data_t *eap_data)
+{
+ if (NULL == eap_data) {
+ return;
+ }
+ Evas_Object *button_back = elm_object_item_part_content_get(eap_data->navi_it, "prev_btn");
+ evas_object_smart_callback_call(button_back, "clicked", NULL);
+ return;
+}
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#include "common.h"
+#include "common_ip_info.h"
+#include "common_utils.h"
+#include "i18nmanager.h"
+#include "common_datamodel.h"
+
+typedef struct {
+ char* title;
+ char* description;
+} _view_detail_description_data_t;
+
+struct ip_info_list {
+ const char *str_pkg_name;
+ Evas_Object *genlist;
+
+ Elm_Object_Item* ip_toggle_item;
+ Elm_Object_Item* ip_addr_item;
+ Elm_Object_Item* subnet_mask_item;
+ Elm_Object_Item* gateway_addr_item;
+ Elm_Object_Item* dns_1_item;
+ Elm_Object_Item* dns_2_item;
+ Elm_Object_Item* proxy_addr_item;
+ Elm_Object_Item* proxy_port_item;
+
+ view_datamodel_ip_info_t *data_object;
+};
+
+static Elm_Object_Item* _add_description(Evas_Object* genlist, char* title, char* description, Elm_Object_Item* insert_after);
+
+static Elm_Genlist_Item_Class ip_toggle_itc ;
+static Elm_Genlist_Item_Class description_itc ;
+
+static void _ip_info_detail_description_del(void *data, Evas_Object *obj)
+{
+ __COMMON_FUNC_ENTER__;
+ _view_detail_description_data_t* det = (_view_detail_description_data_t*) data;
+ assertm_if(NULL == det, "NULL!!");
+ assertm_if(NULL == det->title, "NULL!!");
+ assertm_if(NULL == det->description, "NULL!!");
+ g_free(det->description);
+ g_free(det->title);
+ g_free(det);
+ det = NULL;
+ __COMMON_FUNC_EXIT__;
+}
+
+static char *_ip_info_detail_description_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ _view_detail_description_data_t* det = (_view_detail_description_data_t*) data;
+ assertm_if(NULL == det, "NULL!!");
+ assertm_if(NULL == det->title, "NULL!!");
+ assertm_if(NULL == det->description, "NULL!!");
+ assertm_if(NULL == part, "NULL!!");
+
+ if(0 == strncmp("elm.text.1", part, strlen(part))) {
+ return g_strdup(det->title);
+ } else if(0 == strncmp("elm.text.2", part, strlen(part))) {
+ return g_strdup(det->description);
+ }
+
+ return NULL;
+}
+
+static void _create_static_ip_table(ip_info_list_t *ip_info_list_data)
+{
+ char *txt = NULL;
+
+ /* IP Address */
+ txt = view_detail_datamodel_static_ip_address_get(ip_info_list_data->data_object);
+ ip_info_list_data->ip_addr_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->ip_toggle_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_IP_address), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP);
+ g_free(txt);
+
+ /* Subnet Mask */
+ txt = view_detail_datamodel_static_subnet_mask_get(ip_info_list_data->data_object);
+ ip_info_list_data->subnet_mask_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->ip_addr_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Subnet_mask), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP);
+ g_free(txt);
+
+ /* Gateway Address */
+ txt = view_detail_datamodel_static_gateway_address_get(ip_info_list_data->data_object);
+ ip_info_list_data->gateway_addr_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->subnet_mask_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Gateway_address), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP);
+ g_free(txt);
+
+ /* DNS 1 */
+ txt = view_detail_datamodel_static_dns1_address_get(ip_info_list_data->data_object);
+ ip_info_list_data->dns_1_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->gateway_addr_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_DNS_1), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP);
+ g_free(txt);
+
+ /* DNS 2 */
+ txt = view_detail_datamodel_static_dns2_address_get(ip_info_list_data->data_object);
+ ip_info_list_data->dns_2_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->dns_1_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_DNS_2), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP);
+ g_free(txt);
+
+ return;
+}
+
+static void _delete_static_ip_table(ip_info_list_t *ip_info_list_data)
+{
+ elm_object_item_del(ip_info_list_data->ip_addr_item);
+ ip_info_list_data->ip_addr_item = NULL;
+ elm_object_item_del(ip_info_list_data->subnet_mask_item);
+ ip_info_list_data->subnet_mask_item = NULL;
+ elm_object_item_del(ip_info_list_data->gateway_addr_item);
+ ip_info_list_data->gateway_addr_item = NULL;
+ elm_object_item_del(ip_info_list_data->dns_1_item);
+ ip_info_list_data->dns_1_item = NULL;
+ elm_object_item_del(ip_info_list_data->dns_2_item);
+ ip_info_list_data->dns_2_item = NULL;
+
+ return;
+}
+
+static int _genlist_item_disable_later(void* data)
+{
+ elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE);
+ return FALSE;
+}
+
+static void _gl_deselect_callback(void* data, Evas_Object* obj, void* event_info)
+{
+ ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info);
+}
+
+static void _ip_info_toggle_item_sel_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ if (!data)
+ return;
+
+ ip_info_list_t *ip_info_list_data = (ip_info_list_t *)data;
+ elm_object_item_disabled_set(ip_info_list_data->ip_toggle_item, TRUE);
+ if (IP_TYPE_STATIC_IP == view_detail_datamodel_ip_and_dns_type_get(ip_info_list_data->data_object)) { /* Static IP */
+ char *ip_addr = NULL;
+
+ ip_info_save_data(ip_info_list_data, FALSE);
+ _delete_static_ip_table(ip_info_list_data);
+
+ ip_addr = view_detail_datamodel_static_ip_address_get(ip_info_list_data->data_object);
+ /* Dynamic IP Address */
+ ip_info_list_data->ip_addr_item = _add_description(ip_info_list_data->genlist, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_IP_address), ip_addr, ip_info_list_data->ip_toggle_item);
+ elm_object_item_disabled_set(ip_info_list_data->ip_addr_item, TRUE);
+ g_free(ip_addr);
+
+ view_detail_datamodel_ip_and_dns_type_set(ip_info_list_data->data_object, IP_TYPE_DHCP_IP);
+ } else { /* Dynamic IP */
+
+ elm_object_item_del(ip_info_list_data->ip_addr_item);
+ ip_info_list_data->ip_addr_item = NULL;
+
+ /* Create the entry layouts */
+ _create_static_ip_table(ip_info_list_data);
+ view_detail_datamodel_ip_and_dns_type_set(ip_info_list_data->data_object, IP_TYPE_STATIC_IP);
+ }
+ elm_genlist_item_update(ip_info_list_data->ip_toggle_item);
+ elm_object_item_disabled_set(ip_info_list_data->ip_toggle_item, FALSE);
+ ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info);
+}
+
+static char* _ip_info_iptoggle_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ __COMMON_FUNC_ENTER__;
+
+ assertm_if(NULL == data, "NULL!!");
+ assertm_if(NULL == obj, "NULL!!");
+ assertm_if(NULL == part, "NULL!!");
+ if (part != NULL) {
+ if (!strncmp(part, "elm.text", strlen(part))) {
+ __COMMON_FUNC_EXIT__;
+ ip_info_list_t *ip_info_list_data = (ip_info_list_t *)data;
+ return (char*)g_strdup(sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Static_IP));
+ }
+ }
+
+ __COMMON_FUNC_EXIT__;
+ return NULL;
+}
+
+static Evas_Object *_ip_info_iptoggle_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ if (NULL == data || obj == NULL || part == NULL) {
+ return NULL;
+ }
+
+ ip_info_list_t *ip_info_list_data = (ip_info_list_t *)data;
+
+ Evas_Object *toggle_btn = elm_check_add(obj);
+ assertm_if(NULL == toggle_btn, "NULL!!");
+ elm_object_style_set(toggle_btn, "on&off");
+ evas_object_propagate_events_set(toggle_btn, EINA_TRUE);
+ if (IP_TYPE_STATIC_IP == view_detail_datamodel_ip_and_dns_type_get(ip_info_list_data->data_object)) { /* Static IP */
+ elm_check_state_set(toggle_btn, EINA_TRUE);
+ } else {
+ elm_check_state_set(toggle_btn, EINA_FALSE);
+ }
+ return toggle_btn;
+}
+
+static Elm_Object_Item* _add_description(Evas_Object* genlist, char* title, char* description, Elm_Object_Item* insert_after)
+{
+ assertm_if(NULL == genlist, "NULL!!");
+ assertm_if(NULL == title, "NULL!!");
+ assertm_if(NULL == description, "NULL!!");
+
+ _view_detail_description_data_t* description_data = (_view_detail_description_data_t*)g_malloc0 (sizeof( _view_detail_description_data_t));
+ assertm_if(NULL == description_data, "NULL!!");
+
+ description_data->title = g_strdup(title);
+ description_data->description = g_strdup(description);
+
+ Elm_Object_Item* det = NULL;
+ if (insert_after) {
+ det = elm_genlist_item_insert_after(
+ genlist, /*obj*/
+ &description_itc,/*itc*/
+ description_data,/*data*/
+ NULL,/*parent*/
+ insert_after, /*after than*/
+ ELM_GENLIST_ITEM_NONE, /*flags*/
+ _gl_deselect_callback,/*func*/
+ NULL);/*func_data*/
+ } else {
+ det = elm_genlist_item_append(
+ genlist,
+ &description_itc,
+ description_data,
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _gl_deselect_callback,
+ NULL);
+ }
+ assertm_if(NULL == det, "NULL!!");
+
+ elm_genlist_item_select_mode_set(det, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ return det;
+}
+
+ip_info_list_t *ip_info_append_items(const char *profile_name, const char *pkg_name, Evas_Object *genlist)
+{
+ __COMMON_FUNC_ENTER__;
+ char *proxy_data = NULL;
+ char *proxy_addr = NULL;
+ char *proxy_port = NULL;
+ Elm_Object_Item* item = NULL;
+ view_datamodel_ip_info_t *data_object = NULL;
+
+ assertm_if(NULL == pkg_name, "NULL!!");
+ assertm_if(NULL == genlist, "NULL!!");
+
+ ip_info_list_t *ip_info_list_data = (ip_info_list_t *)g_malloc0(sizeof(ip_info_list_t));
+ ip_info_list_data->data_object = data_object = view_detail_datamodel_ip_info_create(profile_name);
+ ip_info_list_data->str_pkg_name = pkg_name;
+ ip_info_list_data->genlist = genlist;
+
+ ip_toggle_itc.item_style = "dialogue/1text.1icon";
+ ip_toggle_itc.func.text_get = _ip_info_iptoggle_text_get;
+ ip_toggle_itc.func.content_get = _ip_info_iptoggle_content_get;
+ ip_toggle_itc.func.state_get = NULL;
+ ip_toggle_itc.func.del = NULL;
+
+ description_itc.item_style = "dialogue/2text.3";
+ description_itc.func.text_get = _ip_info_detail_description_text_get;
+ description_itc.func.content_get = NULL;
+ description_itc.func.state_get = NULL;
+ description_itc.func.del = _ip_info_detail_description_del;
+
+ common_utils_add_dialogue_separator(genlist, "dialogue/separator");
+
+ /* Static/Dynamic switch button */
+ ip_info_list_data->ip_toggle_item = elm_genlist_item_append(genlist, &ip_toggle_itc, ip_info_list_data, NULL, ELM_GENLIST_ITEM_NONE, _ip_info_toggle_item_sel_cb, ip_info_list_data);
+
+ /* IP address */
+ if (IP_TYPE_STATIC_IP == view_detail_datamodel_ip_and_dns_type_get(data_object)) { /* Static IP */
+ /* Create the entry layouts */
+ _create_static_ip_table(ip_info_list_data);
+ } else { /* Dynamic IP */
+ char *ip_addr = NULL;
+ ip_addr = view_detail_datamodel_static_ip_address_get(data_object);
+ /* Dynamic IP Address */
+ ip_info_list_data->ip_addr_item = _add_description(genlist, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_IP_address), ip_addr, NULL);
+ elm_object_item_disabled_set(ip_info_list_data->ip_addr_item, TRUE);
+ free(ip_addr);
+ }
+
+ common_utils_add_dialogue_separator(genlist, "dialogue/separator");
+
+#if 0
+ /* Channel Number */
+ int channel_number = view_detail_datamodel_channel_freq_get(data_object);
+ char *channel_num_str = g_strdup_printf("%u", channel_number);
+ _add_description(genlist, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Channel), channel_num_str, NULL);
+ g_free(channel_num_str);
+#endif
+ /* Mac address */
+ char *mac_addr = (char *)view_detail_datamodel_MAC_addr_get(data_object);
+ item = _add_description(genlist, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_MAC_addr), mac_addr, NULL);
+ elm_object_item_disabled_set(item, TRUE);
+ g_free(mac_addr);
+
+ proxy_data = (char *)view_detail_datamodel_proxy_address_get(data_object);
+ assertm_if(NULL == proxy_data, "NULL!!");
+
+ /* Proxy Address */
+ proxy_addr = strtok(proxy_data, ":");
+ DEBUG_LOG(UG_NAME_NORMAL, "* PROXY ADDR [%s]", proxy_addr);
+ ip_info_list_data->proxy_addr_item = common_utils_add_edit_box_to_list(genlist, NULL, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Proxy_address), proxy_addr, NULL, ELM_INPUT_PANEL_LAYOUT_IP);
+
+ /* Proxy port */
+ proxy_port = strtok(NULL, ":");
+ DEBUG_LOG(UG_NAME_NORMAL, "* PROXY PORT [%s]", proxy_port);
+ ip_info_list_data->proxy_port_item = common_utils_add_edit_box_to_list(genlist, NULL, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Proxy_port), proxy_port, NULL, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
+
+ g_free(proxy_data);
+
+ __COMMON_FUNC_EXIT__;
+ return (void *)ip_info_list_data;
+}
+
+void ip_info_save_data(ip_info_list_t *ip_info_list_data, boolean b_save_to_profile)
+{
+ __COMMON_FUNC_ENTER__;
+ assertm_if(NULL == ip_info_list_data, "NULL!!");
+ char* txt = NULL;
+ char* proxy_addr = NULL;
+ char* proxy_port = NULL;
+ view_datamodel_ip_info_t *data_object = ip_info_list_data->data_object;
+
+ txt = common_utils_get_list_item_entry_txt(ip_info_list_data->ip_addr_item);
+ DEBUG_LOG(UG_NAME_NORMAL, "IP [%s]", txt);
+ view_detail_datamodel_static_ip_address_set(data_object, txt);
+ g_free(txt);
+
+ txt = common_utils_get_list_item_entry_txt(ip_info_list_data->subnet_mask_item);
+ DEBUG_LOG(UG_NAME_NORMAL, "Subnet [%s]", txt);
+ view_detail_datamodel_static_subnet_mask_set(data_object, txt);
+ g_free(txt);
+
+ txt = common_utils_get_list_item_entry_txt(ip_info_list_data->gateway_addr_item);
+ DEBUG_LOG(UG_NAME_NORMAL, "Gateway [%s]", txt);
+ view_detail_datamodel_static_gateway_address_set(data_object, txt);
+ g_free(txt);
+
+ txt = common_utils_get_list_item_entry_txt(ip_info_list_data->dns_1_item);
+ DEBUG_LOG(UG_NAME_NORMAL, "DNS1 [%s]", txt);
+ view_detail_datamodel_static_dns1_address_set(data_object, txt);
+ g_free(txt);
+
+ txt = common_utils_get_list_item_entry_txt(ip_info_list_data->dns_2_item);
+ DEBUG_LOG(UG_NAME_NORMAL, "DNS2 [%s]", txt);
+ view_detail_datamodel_static_dns2_address_set(data_object, txt);
+ g_free(txt);
+
+ proxy_addr = common_utils_get_list_item_entry_txt(ip_info_list_data->proxy_addr_item);
+ proxy_port = common_utils_get_list_item_entry_txt(ip_info_list_data->proxy_port_item);
+ txt = g_strdup_printf("%s:%s", proxy_addr, proxy_port);
+ DEBUG_LOG( UG_NAME_NORMAL, "Proxy addr:port [%s]", txt);
+ view_detail_datamodel_proxy_address_set(data_object, txt);
+ g_free((gpointer)proxy_addr);
+ g_free((gpointer)proxy_port);
+ g_free((gpointer)txt);
+
+ if (b_save_to_profile) {
+ view_detail_datamodel_save_ip_info_if_modified(data_object);
+ }
+
+ __COMMON_FUNC_EXIT__;
+ return;
+}
+
+void ip_info_remove(ip_info_list_t *ip_info_list)
+{
+ __COMMON_FUNC_ENTER__;
+ assertm_if(NULL == ip_info_list, "NULL!!");
+ view_detail_datamodel_ip_info_destroy(ip_info_list->data_object);
+ g_free(ip_info_list);
+ __COMMON_FUNC_EXIT__;
+}
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#include "common.h"
+#include "common_pswd_popup.h"
+#include "i18nmanager.h"
+#include "common_utils.h"
+#include "wifi.h"
+
+#define PBC_TIMEOUT_MSG_STR "one click connection failed"
+#define MAX_PBC_TIMEOUT_SECS 120 // Time in seconds
+
+typedef struct {
+ /* PBC popup related attributes */
+ Evas_Object* popup;
+ Evas_Object* progressbar;
+ Evas_Object* timer_label;
+ Ecore_Timer *timer;
+ int checker;
+ double value;
+} pbc_popup_t;
+
+struct pswd_popup {
+ /* Password popup related attributes */
+ const char *str_pkg_name;
+ Evas_Object *win;
+ Evas_Object *popup_conformant;
+ Evas_Object *popup_entry_lyt;
+ pbc_popup_t *pbc_popup_data;
+};
+
+static void _check_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ if (obj == NULL)
+ return;
+
+ Eina_Bool state = elm_check_state_get(obj);
+ common_utils_entry_password_set(data, !state);
+}
+
+static void __common_pbc_popup_destroy(pbc_popup_t *pbc_popup_data)
+{
+ __COMMON_FUNC_ENTER__;
+ if (!pbc_popup_data)
+ return;
+
+ if (pbc_popup_data->checker == 0) {
+ pbc_popup_data->checker = 1;
+
+ if (pbc_popup_data->timer != NULL) {
+ ecore_timer_del(pbc_popup_data->timer);
+ pbc_popup_data->timer = NULL;
+ }
+ if (pbc_popup_data->popup != NULL) {
+ evas_object_hide(pbc_popup_data->popup);
+ evas_object_del(pbc_popup_data->popup);
+ pbc_popup_data->popup = NULL;
+ }
+ g_free(pbc_popup_data);
+ }
+ __COMMON_FUNC_EXIT__;
+ return;
+}
+
+static Eina_Bool _fn_pb_timer_bar(void *data)
+{
+ pswd_popup_t *pswd_popup_data = (pswd_popup_t *)data;
+ pbc_popup_t *pbc_popup_data = pswd_popup_data->pbc_popup_data;
+ if (!pbc_popup_data || pbc_popup_data->timer == NULL || pbc_popup_data->progressbar == NULL) {
+ return ECORE_CALLBACK_CANCEL;
+ }
+ const double diff = (double)1/(double)MAX_PBC_TIMEOUT_SECS;
+ pbc_popup_data->value = elm_progressbar_value_get(pbc_popup_data->progressbar);
+ pbc_popup_data->value += diff;
+ if (pbc_popup_data->value >= 1) {
+ if (pbc_popup_data->checker == 0) {
+ __COMMON_FUNC_ENTER__;
+ common_utils_show_info_timeout_popup(pswd_popup_data->win, PBC_TIMEOUT_MSG_STR, 3.0f);
+ Evas_Object *cancel_btn = elm_object_part_content_get(pbc_popup_data->popup, "button1");
+ evas_object_smart_callback_call(cancel_btn, "clicked", NULL);
+ __COMMON_FUNC_EXIT__;
+ }
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ int remain_mins = (int)(MAX_PBC_TIMEOUT_SECS * (1 - pbc_popup_data->value));
+ int remain_secs = 0;
+ remain_secs = remain_mins % 60;
+ remain_mins /= 60;
+
+ char *remaining_time_str = g_strdup_printf("<font_size=40><align=center>%02d:%02d</align></font_size>", remain_mins, remain_secs);
+ elm_object_text_set(pbc_popup_data->timer_label, remaining_time_str);
+ //INFO_LOG(UG_NAME_NORMAL, "pbc_popup_data->value = %lf; remain_mins = %d; remain_secs = %d; remaining_time_str = %s", pbc_popup_data->value, remain_mins, remain_secs, remaining_time_str);
+ g_free(remaining_time_str);
+
+ elm_progressbar_value_set(pbc_popup_data->progressbar, pbc_popup_data->value);
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static Eina_Bool _enable_scan_updates_cb(void *data)
+{
+ /* Lets enable the scan updates */
+ wlan_manager_enable_scan_result_update();
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void common_pswd_popup_pbc_popup_create(pswd_popup_t *pswd_popup_data, Evas_Smart_Cb cancel_cb, void *cancel_cb_data)
+{
+ if (!pswd_popup_data) {
+ return;
+ }
+ Evas_Object *popup = NULL,*progressbar = NULL;
+ Evas_Object *label = NULL, *timer_label = NULL;
+
+ pbc_popup_t *pbc_popup_data = NULL;
+ pbc_popup_data = g_malloc0(sizeof(pbc_popup_t));
+
+ popup_btn_info_t popup_btn_data;
+ memset(&popup_btn_data, 0, sizeof(popup_btn_data));
+ popup_btn_data.btn1_txt = sc(pswd_popup_data->str_pkg_name, I18N_TYPE_Cancel);
+ popup_btn_data.btn1_cb = cancel_cb;
+ popup_btn_data.btn1_data = cancel_cb_data;
+ popup = common_utils_show_info_popup(pswd_popup_data->win, &popup_btn_data);
+
+ label = elm_label_add(popup);
+ elm_object_style_set(label, "popup/default");
+ elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+ elm_object_text_set(label, sc(pswd_popup_data->str_pkg_name,I18N_TYPE_Press_WPS_On_Your_Wi_Fi_Access_Point));
+ evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(label);
+
+ progressbar = elm_progressbar_add(popup);
+ elm_object_style_set(progressbar, "list_progress");
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_value_set(progressbar, 0.0);
+
+ timer_label = elm_label_add(popup);
+ elm_object_style_set(timer_label, "label3");
+ elm_label_line_wrap_set(timer_label, ELM_WRAP_MIXED);
+ elm_object_text_set(timer_label, _("<font_size=40><align=center>02:00</align></font_size>"));
+ evas_object_size_hint_weight_set(timer_label, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(timer_label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(timer_label);
+
+ pbc_popup_data->checker = 0;
+ pbc_popup_data->value = 0.0;
+ pbc_popup_data->progressbar = progressbar;
+ pbc_popup_data->timer_label = timer_label;
+ pbc_popup_data->popup = popup;
+ pbc_popup_data->timer = ecore_timer_add(1.0, _fn_pb_timer_bar, pswd_popup_data);
+ evas_object_show(progressbar);
+
+ Evas_Object *box = elm_box_add(popup);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(box);
+ elm_box_pack_end(box, label);
+ elm_box_pack_end(box, progressbar);
+ elm_box_pack_end(box, timer_label);
+
+ evas_object_show(box);
+ elm_object_content_set(popup, box);
+ pswd_popup_data->pbc_popup_data = pbc_popup_data;
+
+ /* Delete the password popup */
+ evas_object_hide(pswd_popup_data->popup_conformant);
+ evas_object_del(pswd_popup_data->popup_conformant);
+
+ return;
+}
+
+pswd_popup_t *common_pswd_popup_create(Evas_Object *win_main, const char *pkg_name, pswd_popup_create_req_data_t *popup_info)
+{
+ __COMMON_FUNC_ENTER__;
+
+ if (!win_main || !popup_info || !pkg_name)
+ return NULL;
+
+ /* Lets disable the scan updates so that the UI is not refreshed un necessarily */
+ wlan_manager_disable_scan_result_update();
+
+ pswd_popup_t *pswd_popup_data = (pswd_popup_t *)g_malloc0(sizeof(pswd_popup_t));
+ popup_btn_info_t popup_btn_data;
+ common_utils_entry_info_t entry_info;
+ Evas_Object *conformant = NULL;
+
+ conformant = elm_conformant_add(win_main);
+ assertm_if(NULL == conformant, "conformant is NULL!!");
+ elm_win_conformant_set(win_main, EINA_TRUE);
+ elm_win_resize_object_add(win_main, conformant);
+ evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(conformant);
+
+ Evas_Object *content = elm_layout_add(conformant);
+ elm_object_content_set(conformant, content);
+
+ memset(&popup_btn_data, 0, sizeof(popup_btn_data));
+ popup_btn_data.title_txt = popup_info->title;
+ popup_btn_data.btn1_cb = popup_info->ok_cb;
+ popup_btn_data.btn1_data = popup_info->cb_data;
+ popup_btn_data.btn2_cb = popup_info->cancel_cb;
+ popup_btn_data.btn2_data = popup_info->cb_data;
+ popup_btn_data.btn1_txt = sc(pkg_name, I18N_TYPE_Ok);
+ popup_btn_data.btn2_txt = sc(pkg_name, I18N_TYPE_Cancel);
+ Evas_Object *passpopup = common_utils_show_info_popup(content, &popup_btn_data);
+
+ elm_object_content_set(content, passpopup);
+
+ Evas_Object *box = elm_box_add(passpopup);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(box);
+
+ common_utils_set_entry_info(&entry_info, sc(pkg_name, I18N_TYPE_Enter_password), "", sc(pkg_name, I18N_TYPE_Enter_password), ELM_INPUT_PANEL_LAYOUT_URL);
+ Evas_Object *ly_editfield = common_utils_add_edit_box(box, &entry_info);
+ common_utils_entry_password_set(ly_editfield, TRUE);
+ evas_object_show(ly_editfield);
+
+ elm_box_pack_end(box, ly_editfield);
+
+ Evas_Object *check = elm_check_add(box);
+ elm_object_text_set(check, sc(pkg_name, I18N_TYPE_Show_password));
+ elm_object_focus_allow_set(check, EINA_FALSE);
+ evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_smart_callback_add(check, "changed", _check_changed_cb, ly_editfield);
+ evas_object_show(check);
+ elm_box_pack_end(box, check);
+
+ if (popup_info->show_wps_btn) {
+ Evas_Object *btn = elm_button_add(box);
+ elm_object_text_set(btn, sc(pkg_name, I18N_TYPE_WPS_Button_Connection));
+ evas_object_size_hint_weight_set(btn,
+ EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(btn,
+ EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_smart_callback_add(btn, "clicked", popup_info->wps_btn_cb, popup_info->cb_data);
+ elm_box_pack_end(box, btn);
+ evas_object_show(btn);
+ }
+ elm_object_content_set(passpopup, box);
+ evas_object_show(passpopup);
+ pswd_popup_data->win = win_main;
+ pswd_popup_data->str_pkg_name = pkg_name;
+ pswd_popup_data->popup_conformant = conformant;
+ pswd_popup_data->popup_entry_lyt = ly_editfield;
+ Evas_Object *popup_entry = common_utils_entry_layout_get_entry(ly_editfield);
+ elm_object_focus_set(popup_entry, EINA_TRUE);
+ __COMMON_FUNC_EXIT__;
+
+ return pswd_popup_data;
+}
+
+char *common_pswd_popup_get_txt(pswd_popup_t *pswd_popup_data)
+{
+ if (pswd_popup_data)
+ return common_utils_entry_layout_get_text(pswd_popup_data->popup_entry_lyt);
+
+ return NULL;
+}
+
+void common_pswd_popup_destroy(pswd_popup_t *pswd_popup_data)
+{
+ if (pswd_popup_data) {
+ if (pswd_popup_data->pbc_popup_data) {
+ __common_pbc_popup_destroy(pswd_popup_data->pbc_popup_data);
+ pswd_popup_data->pbc_popup_data = NULL;
+ }
+ evas_object_hide(pswd_popup_data->popup_conformant);
+ evas_object_del(pswd_popup_data->popup_conformant);
+ pswd_popup_data->popup_conformant = NULL;
+ pswd_popup_data->popup_entry_lyt = NULL;
+ g_free(pswd_popup_data);
+
+ /* A delay is needed to get the smooth Input panel closing animation effect */
+ ecore_timer_add(0.1, _enable_scan_updates_cb, NULL);
+ }
+ return;
+}
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#include "common.h"
+#include "common_utils.h"
+#include "i18nmanager.h"
+
+typedef struct {
+ char *title_str;
+ char *info_str;
+} two_line_disp_data_t;
+
+
+static void __common_utils_entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ if (obj == NULL)
+ return;
+
+ if (elm_object_focus_get(data)) {
+ if (elm_entry_is_empty(obj))
+ elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
+ else
+ elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
+ }
+}
+
+static void __common_utils_entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ if (!elm_entry_is_empty(obj))
+ elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
+ elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
+}
+
+static void __common_utils_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ INFO_LOG(UG_NAME_NORMAL, "__common_utils_entry_unfocused_cb entered");
+
+ if (elm_entry_is_empty(obj)) {
+ const char *guide_txt = elm_object_part_text_get(data, "elm.guidetext");
+ INFO_LOG(UG_NAME_NORMAL, "entry is empty");
+ if (guide_txt && strlen(guide_txt)) { /* If guide text exists then show it */
+ elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
+ } else { /* If default entry text exists then show it */
+ char *default_entry_txt = NULL;
+ default_entry_txt = evas_object_data_get(data, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY);
+ if (default_entry_txt && strlen(default_entry_txt)) {
+ elm_entry_entry_set(obj, default_entry_txt);
+ }
+ }
+ }
+ elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
+}
+
+static void __common_utils_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ elm_entry_entry_set(data, "");
+}
+
+static char *__common_utils_2line_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ two_line_disp_data_t *item_data = (two_line_disp_data_t *)data;
+ if (!strcmp(part, "elm.text.1")) {
+ return g_strdup(item_data->info_str);
+ } else if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(item_data->title_str);
+ }
+ return NULL;
+}
+
+static void __common_utils_2line_text_del(void *data, Evas_Object *obj)
+{
+ two_line_disp_data_t *item_data = (two_line_disp_data_t *)data;
+ if (item_data) {
+ g_free(item_data->info_str);
+ g_free(item_data->title_str);
+ g_free(item_data);
+ }
+}
+
+static Evas_Object *__common_utils_entry_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ Evas_Object *layout = (Evas_Object *)data;
+ return layout;
+}
+
+static void __common_utils_entry_del(void *data, Evas_Object *obj)
+{
+ Evas_Object *layout = (Evas_Object *)data;
+ char *dfalt_entry_txt = evas_object_data_get(layout, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY);
+ g_free(dfalt_entry_txt);
+ evas_object_unref(layout);
+}
+
+static Evas_Object* __common_utils_create_conformant(Evas_Object* parent)
+{
+ assertm_if(NULL == parent, "NULL!!");
+
+ Evas_Object* conform = NULL;
+ elm_win_conformant_set(parent, TRUE);
+ conform = elm_conformant_add(parent);
+ assertm_if(NULL == conform, "NULL!!");
+
+ elm_object_style_set(conform, "internal_layout");
+
+ evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ evas_object_show(conform);
+
+ return conform;
+}
+
+static void __common_utils_separator_del(void *data, Evas_Object *obj)
+{
+ elm_genlist_item_class_free(data);
+ return;
+}
+
+Elm_Object_Item* common_utils_add_dialogue_separator(Evas_Object* genlist, const char *separator_style)
+{
+ assertm_if(NULL == genlist, "NULL!!");
+
+ static Elm_Genlist_Item_Class *separator_itc;
+ separator_itc = elm_genlist_item_class_new();
+ separator_itc->item_style = separator_style;
+ separator_itc->func.text_get = NULL;
+ separator_itc->func.content_get = NULL;
+ separator_itc->func.state_get = NULL;
+ separator_itc->func.del = __common_utils_separator_del;
+
+ Elm_Object_Item* sep = elm_genlist_item_append(
+ genlist,
+ separator_itc,
+ separator_itc,
+ NULL,
+ ELM_GENLIST_ITEM_GROUP,
+ NULL,
+ NULL);
+
+ assertm_if(NULL == sep, "NULL!!");
+
+ elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ return sep;
+}
+
+char *common_utils_get_ap_security_type_info_txt(const char *pkg_name, wifi_device_info_t *device_info)
+{
+ char *status_txt = NULL;
+ switch (device_info->security_mode)
+ {
+ case WLAN_SEC_MODE_NONE: /** Security disabled */
+ status_txt = g_strdup(sc(pkg_name, I18N_TYPE_Open));
+ break;
+ case WLAN_SEC_MODE_IEEE8021X: /** EAP */
+ status_txt = g_strdup_printf("%s (%s)", sc(pkg_name, I18N_TYPE_Secured), sc(pkg_name, I18N_TYPE_EAP));
+ break;
+ case WLAN_SEC_MODE_WEP: /** WEP */
+ case WLAN_SEC_MODE_WPA_PSK: /** WPA-PSK */
+ case WLAN_SEC_MODE_WPA2_PSK: /** WPA2-PSK */
+ if (TRUE == device_info->wps_mode) {
+ status_txt = g_strdup_printf("%s (%s)", sc(pkg_name, I18N_TYPE_Secured), sc(pkg_name, I18N_TYPE_WPS_Available));
+ } else {
+ status_txt = g_strdup(sc(pkg_name, I18N_TYPE_Secured));
+ }
+ break;
+ default: /** Unknown */
+ status_txt = g_strdup(WIFI_UNKNOWN_DEVICE_STATUS_STR);
+ break;
+ }
+ return status_txt;
+}
+
+char *common_utils_get_device_icon(const char *image_path_dir, wifi_device_info_t *device_info)
+{
+ char tmp_str[MAX_DEVICE_ICON_PATH_STR_LEN] = {'\0', };
+ char *ret;
+
+ g_strlcpy(tmp_str, image_path_dir, sizeof(tmp_str));
+ g_strlcat(tmp_str, "/37_wifi_icon", sizeof(tmp_str));
+
+ if (device_info->security_mode != WLAN_SEC_MODE_NONE) {
+ g_strlcat(tmp_str, "_lock", sizeof(tmp_str));
+ }
+
+ switch (wlan_manager_get_signal_strength(device_info->rssi)) {
+ case SIGNAL_STRENGTH_TYPE_EXCELLENT:
+ g_strlcat(tmp_str, "_03", sizeof(tmp_str));
+ break;
+ case SIGNAL_STRENGTH_TYPE_GOOD:
+ g_strlcat(tmp_str, "_02", sizeof(tmp_str));
+ break;
+ case SIGNAL_STRENGTH_TYPE_WEAK:
+ g_strlcat(tmp_str, "_01", sizeof(tmp_str));
+ break;
+ case SIGNAL_STRENGTH_TYPE_VERY_WEAK:
+ case SIGNAL_STRENGTH_TYPE_NULL:
+ default:
+ g_strlcat(tmp_str, "_00", sizeof(tmp_str));
+ break;
+ }
+
+ /* Adding .png to the end of file */
+ g_strlcat(tmp_str, ".png", sizeof(tmp_str));
+
+ ret = g_strdup(tmp_str);
+ return ret;
+}
+
+Evas_Object *common_utils_entry_layout_get_entry(Evas_Object *layout)
+{
+ return elm_object_part_content_get(layout, "elm.swallow.content");
+}
+
+char *common_utils_entry_layout_get_text(Evas_Object *layout)
+{
+ Evas_Object *entry = elm_object_part_content_get(layout, "elm.swallow.content");
+ return elm_entry_markup_to_utf8(elm_entry_entry_get(entry));
+}
+
+void common_utils_set_entry_info(common_utils_entry_info_t *entry_info, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type)
+{
+ if (NULL == entry_info) {
+ return;
+ }
+ memset(entry_info, 0, sizeof(common_utils_entry_info_t));
+ entry_info->title = title;
+ entry_info->entry_txt = entry_txt;
+ entry_info->guide_txt = guide_txt;
+ entry_info->panel_type = panel_type;
+ return;
+}
+
+void common_utils_entry_password_set(Evas_Object *layout, Eina_Bool pswd_set)
+{
+ Evas_Object *entry = elm_object_part_content_get(layout, "elm.swallow.content");
+ elm_entry_password_set(entry, pswd_set);
+}
+
+Evas_Object *common_utils_add_edit_box(Evas_Object *parent, const common_utils_entry_info_t *entry_info)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ Evas_Object *entry = NULL;
+ elm_layout_theme_set(layout, "layout", "editfield", "title");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_object_part_text_set(layout, "elm.text", entry_info->title);
+ elm_object_part_text_set(layout, "elm.guidetext", entry_info->guide_txt); // Set guidetext.
+
+ entry = elm_entry_add(layout);
+ elm_object_part_content_set(layout, "elm.swallow.content", entry);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_entry_set(entry, entry_info->entry_txt);
+ elm_entry_input_panel_layout_set(entry, entry_info->panel_type);
+ if (!elm_entry_is_empty(entry)) {
+ INFO_LOG(UG_NAME_NORMAL, "entry is not empty");
+ elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm");
+ if (!entry_info->guide_txt || strlen(entry_info->guide_txt) <= 0)
+ evas_object_data_set(layout, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY, g_strdup(entry_info->entry_txt));
+ }
+
+ evas_object_smart_callback_add(entry, "changed", __common_utils_entry_changed_cb, layout);
+ evas_object_smart_callback_add(entry, "focused", __common_utils_entry_focused_cb, layout);
+ evas_object_smart_callback_add(entry, "unfocused", __common_utils_entry_unfocused_cb, layout);
+ elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", __common_utils_eraser_clicked_cb, entry);
+ evas_object_show(entry);
+
+ return layout;
+}
+
+Elm_Object_Item *common_utils_add_2_line_txt_disabled_item(Evas_Object* view_list, const char *style_name, const char *line1_txt, const char *line2_txt)
+{
+ static Elm_Genlist_Item_Class two_line_display_itc;
+ two_line_disp_data_t *two_line_data = NULL;
+ Elm_Object_Item *item = NULL;
+
+ two_line_display_itc.item_style = style_name;
+ two_line_display_itc.func.text_get = __common_utils_2line_text_get;
+ two_line_display_itc.func.content_get = NULL;
+ two_line_display_itc.func.state_get = NULL;
+ two_line_display_itc.func.del = __common_utils_2line_text_del;
+
+ two_line_data = g_malloc0(sizeof(two_line_disp_data_t));
+ two_line_data->title_str = g_strdup(line1_txt);
+ two_line_data->info_str = g_strdup(line2_txt);
+ INFO_LOG(UG_NAME_NORMAL, "title_str = %s info_str = %s", two_line_data->title_str, two_line_data->info_str);
+
+ item = elm_genlist_item_append(view_list, &two_line_display_itc, two_line_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_object_item_disabled_set(item, TRUE);
+
+ return item;
+}
+
+Elm_Object_Item *common_utils_add_edit_box_to_list(Evas_Object *list, Elm_Object_Item *insert_after, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type)
+{
+ static common_utils_entry_info_t entry_info;
+ static Elm_Genlist_Item_Class entry_itc;
+ Evas_Object *layout = NULL;
+ common_utils_set_entry_info(&entry_info, title, entry_txt, guide_txt, panel_type);
+ layout = common_utils_add_edit_box(list, &entry_info);
+ evas_object_ref(layout); /* We need to ref the layout object inorder to inform EFL not to delete it */
+
+ entry_itc.item_style = "dialogue/1icon";
+ entry_itc.func.text_get = NULL;
+ entry_itc.func.content_get = __common_utils_entry_content_get;
+ entry_itc.func.state_get = NULL;
+ entry_itc.func.del = __common_utils_entry_del;
+
+ if (insert_after)
+ return elm_genlist_item_insert_after(list, &entry_itc, layout, NULL, insert_after, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ else
+ return elm_genlist_item_append(list, &entry_itc, layout, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+}
+
+char *common_utils_get_list_item_entry_txt(Elm_Object_Item *entry_item)
+{
+ Evas_Object *ly = elm_object_item_data_get(entry_item);
+ return common_utils_entry_layout_get_text(ly);
+}
+
+Evas_Object *common_utils_create_radio_button(Evas_Object *parent, const int value)
+{
+ Evas_Object *radio = elm_radio_add(parent);
+ elm_radio_state_value_set(radio, value);
+// elm_radio_group_add(radio, radio_main);
+ evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return radio;
+}
+
+Evas_Object *common_utils_create_conformant_layout(Evas_Object *navi_frame)
+{
+ Evas_Object *layout;
+ layout = elm_layout_add(navi_frame);
+ elm_layout_theme_set(layout, "layout", "application", "noindicator");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ Evas_Object* bg = elm_bg_add(layout);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_style_set(bg, "group_list");
+ elm_object_part_content_set(layout, "elm.swallow.bg", bg);
+
+ Evas_Object* conform = __common_utils_create_conformant(layout);
+ assertm_if(NULL == conform, "NULL!!");
+ elm_object_part_content_set(layout, "elm.swallow.content", conform);
+ evas_object_show(layout);
+
+ return layout;
+}
+
+Evas_Object *common_utils_show_info_popup(Evas_Object *parent, popup_btn_info_t *popup_data)
+{
+ __COMMON_FUNC_ENTER__;
+ Evas_Object *popup = elm_popup_add(parent);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ if (popup_data->title_txt)
+ elm_object_part_text_set(popup, "title,text", popup_data->title_txt);
+ if (popup_data->info_txt)
+ elm_object_text_set(popup, popup_data->info_txt);
+ if (popup_data->btn1_txt) {
+ Evas_Object *btn_1 = elm_button_add(popup);
+ elm_object_text_set(btn_1, popup_data->btn1_txt);
+ elm_object_part_content_set(popup, "button1", btn_1);
+ if (popup_data->btn1_cb) {
+ evas_object_smart_callback_add(btn_1, "clicked", popup_data->btn1_cb, popup_data->btn1_data);
+ } else { // set the default callback
+ evas_object_smart_callback_add(btn_1, "clicked", (Evas_Smart_Cb)evas_object_del, popup);
+ }
+ }
+ if (popup_data->btn2_txt) {
+ Evas_Object *btn_2 = elm_button_add(popup);
+ elm_object_text_set(btn_2, popup_data->btn2_txt);
+ elm_object_part_content_set(popup, "button2", btn_2);
+ evas_object_smart_callback_add(btn_2, "clicked", popup_data->btn2_cb, NULL);
+ evas_object_show(popup);
+ if (popup_data->btn2_cb) {
+ evas_object_smart_callback_add(btn_2, "clicked", popup_data->btn2_cb, popup_data->btn2_data);
+ } else { // set the default callback
+ evas_object_smart_callback_add(btn_2, "clicked", (Evas_Smart_Cb)evas_object_del, popup);
+ }
+ }
+ evas_object_show(popup);
+
+ return popup;
+}
+
+Evas_Object *common_utils_show_info_ok_popup(Evas_Object *win, const char *str_pkg_name, const char *info_txt)
+{
+ __COMMON_FUNC_ENTER__;
+ popup_btn_info_t popup_data;
+ memset(&popup_data, 0, sizeof(popup_data));
+ popup_data.info_txt = (char *)info_txt;
+ popup_data.btn1_txt = sc(str_pkg_name, I18N_TYPE_Ok);
+ return common_utils_show_info_popup(win, &popup_data);
+}
+
+Evas_Object *common_utils_show_info_timeout_popup(Evas_Object *win, const char* info_text, const double timeout)
+{
+ Evas_Object *popup = elm_popup_add(win);
+ elm_object_text_set(popup, info_text);
+ elm_popup_timeout_set(popup, timeout);
+ evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb)evas_object_del, popup);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+ evas_object_show(popup);
+ return popup;
+}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <appcore-efl.h>
#include <dlog.h>
-
#define COMMON_NAME_FUNC "wifi/func"
#define COMMON_NAME_LIB "wifi/lib"
#define COMMON_NAME_ERR "wifi/err"
#define UG_NAME_NORMAL "wifi_ug"
-#define UG_NAME_RESP "wifi_ug/resp"
-#define UG_NAME_REQ "wifi_ug/req"
-#define UG_NAME_SCAN "wifi_ug/scan"
-#define UG_NAME_ERR "wifi_ug/err"
+#define UG_NAME_RESP "wifi_ug/resp"
+#define UG_NAME_REQ "wifi_ug/req"
+#define UG_NAME_SCAN "wifi_ug/scan"
+#define UG_NAME_ERR "wifi_ug/err"
#define SP_NAME_NORMAL "wifi_sp"
-#define SP_NAME_ERR "wifi_sp/err"
+#define SP_NAME_ERR "wifi_sp/err"
/* Log Level */
#define COMMON_LOG_DEBUG LOG_DEBUG
#define COMMON_LOG_INFO LOG_INFO
-#define COMMON_LOG_WARN LOG_WARN
+#define COMMON_LOG_WARN LOG_WARN
#define COMMON_LOG_ERROR LOG_ERROR
+#define MAX_DEVICE_ICON_PATH_STR_LEN 256
+#define WIFI_UNKNOWN_DEVICE_STATUS_STR "Unknown"
+#define ENTER_SSID_STR "Enter SSID"
+#define EAP_CHECK_YOUR_ID_STR "Check your identity"
+#define EAP_CHECK_YOUR_PASWD_STR "Check your password"
+#define WEP_WRONG_PASSWORD_LEN_ERR_MSG_STR "WEP requires 5, 10, 13, 26 letters for a password.<br>Please, check your input."
+#define WPA_WRONG_PASSWORD_LEN_ERR_MSG_STR "WPA2 requires 8 - 63 letters for a password.<br>Please, check your input."
+#define FIND_HIDDEN_NETWORK_STR "Find hidden network"
+
+#define SCREEN_TYPE_ID_KEY "screen_type_id_key"
+
+typedef enum {
+ VIEW_MANAGER_VIEW_TYPE_MAIN,
+ VIEW_MANAGER_VIEW_TYPE_DETAIL,
+ VIEW_MANAGER_VIEW_TYPE_EAP,
+} view_manager_view_type_t;
+
#define __COMMON_FUNC_ENTER__ FUNC_LOG(COMMON_NAME_FUNC, "[<Entering]: %s() [%d]", __func__, __LINE__)
#define __COMMON_FUNC_EXIT__ FUNC_LOG(COMMON_NAME_FUNC, "[Quit/>]: %s() [%d]", __func__, __LINE__)
--- /dev/null
+/*
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#ifndef __VIEW_DETAIL_DATAMODEL_H_
+#define __VIEW_DETAIL_DATAMODEL_H_
+
+#include "wlan_manager.h"
+
+typedef struct view_datamodel_ip_info view_datamodel_ip_info_t;
+typedef struct view_datamodel_eap_info view_datamodel_eap_info_t;
+typedef struct view_datamodel_basic_info view_datamodel_basic_info_t;
+
+///////////////////////////////////////////////////////////////
+// managing function
+///////////////////////////////////////////////////////////////
+view_datamodel_basic_info_t *view_basic_detail_datamodel_create(const char *profile_name);
+view_datamodel_ip_info_t *view_detail_datamodel_ip_info_create(const char *profile_name);
+view_datamodel_eap_info_t *view_detail_datamodel_eap_info_create(const char *profile_name);
+void view_basic_detail_datamodel_destroy(view_datamodel_basic_info_t *data_object);
+void view_detail_datamodel_ip_info_destroy(view_datamodel_ip_info_t *data_object);
+void view_detail_datamodel_eap_info_destroy(view_datamodel_eap_info_t *data_object);
+///////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////
+// determine it`s changeness
+///////////////////////////////////////////////////////////////
+boolean view_detail_datamodel_save_ip_info_if_modified(const view_datamodel_ip_info_t *data_object);
+boolean view_detail_datamodel_save_eap_info_if_modified(const view_datamodel_eap_info_t *data_object);
+///////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////
+// getter and setter
+///////////////////////////////////////////////////////////////
+int view_detail_datamodel_ip_and_dns_type_set(view_datamodel_ip_info_t *data_object, const IP_TYPES type);
+int view_detail_datamodel_proxy_address_set(view_datamodel_ip_info_t *data_object, const char* proxy);
+int view_detail_datamodel_static_ip_address_set(view_datamodel_ip_info_t *data_object, const char* addr);
+int view_detail_datamodel_static_gateway_address_set(view_datamodel_ip_info_t *data_object, const char* addr);
+int view_detail_datamodel_static_subnet_mask_set(view_datamodel_ip_info_t *data_object, const char* addr);
+int view_detail_datamodel_static_dns1_address_set(view_datamodel_ip_info_t *data_object, const char* addr);
+int view_detail_datamodel_static_dns2_address_set(view_datamodel_ip_info_t *data_object, const char* addr);
+int view_detail_datamodel_eap_ap_name_set(view_datamodel_eap_info_t *data_object, const char *ssid);
+int view_detail_datamodel_eap_method_set(view_datamodel_eap_info_t *data_object, const wlan_eap_type_t eap_method);
+int view_detail_datamodel_eap_provision_set(view_datamodel_eap_info_t *data_object, const int provision);
+int view_detail_datamodel_eap_auth_set(view_datamodel_eap_info_t *data_object, const wlan_eap_auth_type_t auth_type);
+int view_detail_datamodel_eap_user_id_set(view_datamodel_eap_info_t *data_object, const char* user_id);
+int view_detail_datamodel_eap_anonymous_id_set(view_datamodel_eap_info_t *data_object, const char* anonymous_id);
+int view_detail_datamodel_eap_pswd_set(view_datamodel_eap_info_t *data_object, const char* pswd);
+int view_detail_datamodel_eap_ca_cert_set(view_datamodel_eap_info_t *data_object, const char* ca_cert);
+int view_detail_datamodel_eap_user_cert_set(view_datamodel_eap_info_t *data_object, const char* user_cert);
+IP_TYPES view_detail_datamodel_ip_and_dns_type_get(view_datamodel_ip_info_t *data_object);
+char *view_detail_datamodel_static_ip_address_get(view_datamodel_ip_info_t *data_object);
+char *view_detail_datamodel_static_gateway_address_get(view_datamodel_ip_info_t *data_object);
+char *view_detail_datamodel_static_subnet_mask_get(view_datamodel_ip_info_t *data_object);
+char *view_detail_datamodel_static_dns1_address_get(view_datamodel_ip_info_t *data_object);
+char *view_detail_datamodel_static_dns2_address_get(view_datamodel_ip_info_t *data_object);
+char* view_detail_datamodel_proxy_address_get(view_datamodel_ip_info_t *data_object);
+char* view_detail_datamodel_MAC_addr_get(view_datamodel_ip_info_t *data_object);
+
+wlan_eap_type_t view_detail_datamodel_eap_method_get(view_datamodel_eap_info_t *data_object);
+int view_detail_datamodel_eap_provision_get(view_datamodel_eap_info_t *data_object);
+wlan_eap_auth_type_t view_detail_datamodel_eap_auth_get(view_datamodel_eap_info_t *data_object);
+char *view_detail_datamodel_user_id_get(view_datamodel_eap_info_t *data_object);
+char *view_detail_datamodel_anonymous_id_get(view_datamodel_eap_info_t *data_object);
+char *view_detail_datamodel_pswd_get(view_datamodel_eap_info_t *data_object);
+char *view_detail_datamodel_ca_cert_get(view_datamodel_eap_info_t *data_object);
+char *view_detail_datamodel_user_cert_get(view_datamodel_eap_info_t *data_object);
+char *view_detail_datamodel_eap_ap_name_get(view_datamodel_eap_info_t *data_object);
+
+char *view_detail_datamodel_basic_info_profile_name_get(view_datamodel_basic_info_t *data_object);
+char *view_detail_datamodel_ap_name_get(view_datamodel_basic_info_t *data_object);
+unsigned int view_detail_datamodel_sig_strength_get(view_datamodel_basic_info_t *data_object);
+unsigned int view_detail_datamodel_sec_mode_get(view_datamodel_basic_info_t *data_object);
+boolean view_detail_datamodel_is_favourite_get(view_datamodel_basic_info_t *data_object);
+char view_detail_datamodel_wps_support_get(view_datamodel_basic_info_t *data_object);
+///////////////////////////////////////////////////////////////
+
+#endif
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#ifndef __COMMON_EAP_CONNECT_POPUP_H_
+#define __COMMON_EAP_CONNECT_POPUP_H_
+#include "wlan_manager.h"
+
+#define DISABLE_FAST_EAP_METHOD
+
+typedef struct eap_info_list eap_info_list_t;
+typedef struct common_eap_connect_data common_eap_connect_data_t;
+typedef void (*eap_view_close_cb_t)(void);
+
+common_eap_connect_data_t *create_eap_connect(Evas_Object *win_main, Evas_Object *navi_frame, const char *pkg_name, wifi_device_info_t *device_info, eap_view_close_cb_t cb);
+eap_info_list_t *eap_info_append_items(const char *profile_name, Evas_Object* view_list, const char *str_pkg_name);
+void eap_info_save_data(eap_info_list_t *eap_info_list_data);
+void eap_info_remove(eap_info_list_t *eap_info_list_data);
+void eap_view_close(common_eap_connect_data_t *eap_data);
+
+#endif
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#ifndef __COMMON_IP_INFO_H_
+#define __COMMON_IP_INFO_H_
+
+typedef struct ip_info_list ip_info_list_t;
+
+ip_info_list_t *ip_info_append_items(const char *profile_name, const char *pkg_name, Evas_Object *genlist);
+void ip_info_save_data(ip_info_list_t *ip_info_list, boolean b_save_to_profile);
+void ip_info_remove(ip_info_list_t *ip_info_list);
+
+#endif
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#ifndef __COMMON_PSWD_POPUP_H_
+#define __COMMON_PSWD_POPUP_H_
+
+typedef struct {
+ char *title;
+ Eina_Bool show_wps_btn;
+ Evas_Smart_Cb ok_cb;
+ Evas_Smart_Cb cancel_cb;
+ Evas_Smart_Cb wps_btn_cb;
+ void *cb_data;
+} pswd_popup_create_req_data_t;
+
+typedef struct pswd_popup pswd_popup_t;
+
+pswd_popup_t *common_pswd_popup_create(Evas_Object *win_main, const char *pkg_name, pswd_popup_create_req_data_t *popup_info);
+void common_pswd_popup_pbc_popup_create(pswd_popup_t *pswd_popup_data, Evas_Smart_Cb cancel_cb, void *cancel_cb_data);
+char *common_pswd_popup_get_txt(pswd_popup_t *pswd_popup_data);
+void common_pswd_popup_destroy(pswd_popup_t *pswd_popup_data);
+
+#endif
--- /dev/null
+/*
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#ifndef __COMMON_UTILS_H_
+#define __COMMON_UTILS_H_
+#include "wlan_manager.h"
+
+#define COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY "common_utils_default_entry_text_key"
+
+typedef struct {
+ char *title;
+ char *entry_txt;
+ char *guide_txt;
+ Elm_Input_Panel_Layout panel_type;
+} common_utils_entry_info_t;
+
+typedef struct {
+ char *title_txt;
+ char *info_txt;
+ char *btn1_txt;
+ char *btn2_txt;
+ Evas_Smart_Cb btn1_cb;
+ Evas_Smart_Cb btn2_cb;
+ const void *btn1_data;
+ const void *btn2_data;
+} popup_btn_info_t;
+
+Elm_Object_Item* common_utils_add_dialogue_separator(Evas_Object* genlist, const char *separator_style);
+char *common_utils_get_ap_security_type_info_txt(const char *pkg_name, wifi_device_info_t *device_info);
+char *common_utils_get_device_icon(const char *image_path_dir, wifi_device_info_t *device_info);
+Evas_Object *common_utils_entry_layout_get_entry(Evas_Object *layout);
+char *common_utils_entry_layout_get_text(Evas_Object *layout);
+void common_utils_set_entry_info(common_utils_entry_info_t *entry_info, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type);
+Evas_Object *common_utils_add_edit_box(Evas_Object *parent, const common_utils_entry_info_t *entry_info);
+void common_utils_entry_password_set(Evas_Object *layout, Eina_Bool pswd_set);
+Elm_Object_Item *common_utils_add_2_line_txt_disabled_item(Evas_Object* view_list, const char *style_name, const char *line1_txt, const char *line2_txt);
+Elm_Object_Item *common_utils_add_edit_box_to_list(Evas_Object *list, Elm_Object_Item *insert_after, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type);
+char *common_utils_get_list_item_entry_txt(Elm_Object_Item *entry_item);
+Evas_Object *common_utils_create_radio_button(Evas_Object *parent, const int value);
+Evas_Object *common_utils_create_conformant_layout(Evas_Object *navi_frame);
+Evas_Object *common_utils_show_info_popup(Evas_Object *win, popup_btn_info_t *popup_data);
+Evas_Object *common_utils_show_info_ok_popup(Evas_Object *win, const char *str_pkg_name, const char *info_txt);
+Evas_Object *common_utils_show_info_timeout_popup(Evas_Object *win, const char* info_text, const double timeout);
+
+#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
int connman_profile_manager_profile_cache(int count)
{
- int num_of_profiles = 0;
- net_profile_info_t *profiles = NULL;
+ int *p_num_of_profiles = 0;
+ net_profile_info_t** p_profile_table;
+ net_profile_info_t* old_profile_table;
connman_profile_manager *profile_manager = NULL;
INFO_LOG(COMMON_NAME_LIB, "connman_profile_manager_profile_cache");
- net_get_profile_list(NET_DEVICE_WIFI, &profiles, &num_of_profiles);
- if (num_of_profiles == 0) {
- INFO_LOG(COMMON_NAME_LIB, "count = 0");
- return FALSE;
- }
-
- if (count < num_of_profiles && count > 0)
- num_of_profiles = count;
+ profile_manager = connman_profile_manager_get_singleton();
+ old_profile_table = profile_manager->profile_table;
+ profile_manager->profile_table = NULL;
- INFO_LOG(COMMON_NAME_LIB, "count = %d", num_of_profiles);
+ p_num_of_profiles = &(profile_manager->profile_num);
+ p_profile_table = &(profile_manager->profile_table);
- profile_manager = connman_profile_manager_get_singleton();
- if (profile_manager->profile_table) {
- g_free(profile_manager->profile_table);
- profile_manager->profile_table = NULL;
+ net_get_profile_list(NET_DEVICE_WIFI, p_profile_table, p_num_of_profiles);
+ g_free(old_profile_table);
+ if (*p_num_of_profiles == 0) {
+ INFO_LOG(COMMON_NAME_LIB, "count = 0");
+ } else if (count < *p_num_of_profiles && count > 0) {
+ *p_num_of_profiles = count;
}
- profile_manager->profile_table = (net_profile_info_t*)malloc(num_of_profiles*sizeof(net_profile_info_t));
- memcpy(profile_manager->profile_table, profiles, num_of_profiles*sizeof(net_profile_info_t));
- profile_manager->profile_num = num_of_profiles;
-
- if (profiles)
- g_free(profiles);
+ INFO_LOG(COMMON_NAME_LIB, "count = %d", *p_num_of_profiles);
- return num_of_profiles;
+ return *p_num_of_profiles;
}
int connman_profile_manager_scanned_profile_table_size_get(void)
return TRUE;
}
-int connman_profile_manager_profile_modify(net_profile_info_t new_profile)
+int connman_profile_manager_profile_modify(net_profile_info_t *new_profile)
{
- net_profile_info_t profile;
- if (net_get_profile_info(new_profile.ProfileName, &profile) != NET_ERR_NONE) {
- return 0;
- }
-
- profile.ProfileInfo.Wlan.net_info.IpConfigType = new_profile.ProfileInfo.Wlan.net_info.IpConfigType;
- if (profile.ProfileInfo.Wlan.net_info.IpConfigType == NET_IP_CONFIG_TYPE_STATIC) {
- profile.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4;
- profile.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4;
- profile.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4;
- profile.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4;
- profile.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4;
- }
-
- profile.ProfileInfo.Wlan.net_info.ProxyMethod = NET_PROXY_TYPE_MANUAL;
- strncpy(profile.ProfileInfo.Wlan.net_info.ProxyAddr, new_profile.ProfileInfo.Wlan.net_info.ProxyAddr, WLAN_PROXY_LEN_MAX);
+ new_profile->ProfileInfo.Wlan.net_info.ProxyMethod = NET_PROXY_TYPE_MANUAL;
- int ret = net_modify_profile(new_profile.ProfileName, &profile);
+ int ret = net_modify_profile(new_profile->ProfileName, new_profile);
if (ret != NET_ERR_NONE) {
INFO_LOG(COMMON_NAME_ERR, "Failed to modify profile - %d\n", ret);
return 0;
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
int connman_request_power_on(void)
{
- int ret = NET_ERR_NONE;
-
- ret = net_wifi_power_on();
+ int ret = net_wifi_power_on();
INFO_LOG(COMMON_NAME_LIB,"network_wifi_power_on ret: %d", ret);
switch (ret){
case NET_ERR_NONE:
return WLAN_MANAGER_ERR_NONE;
+ case NET_ERR_IN_PROGRESS:
+ return WLAN_MANAGER_ERR_IN_PROGRESS;
default:
return WLAN_MANAGER_ERR_UNKNOWN;
}
int connman_request_power_off(void)
{
- int ret = NET_ERR_NONE;
-
- ret = net_wifi_power_off();
+ int ret = net_wifi_power_off();
INFO_LOG(COMMON_NAME_LIB, "network_wifi_power_off ret: %d", ret);
switch (ret){
int connman_request_connection_open(const char* profile_name)
{
- int ret = NET_ERR_NONE;
- ret = net_open_connection_with_profile(profile_name);
+ int ret = net_open_connection_with_profile(profile_name);
INFO_LOG(COMMON_NAME_LIB, "connman_request_connection_open ret: %d", ret);
switch (ret){
case NET_ERR_NONE:
+ case NET_ERR_IN_PROGRESS:
+ return WLAN_MANAGER_ERR_NONE;
+ default:
+ return WLAN_MANAGER_ERR_UNKNOWN;
+ }
+}
+
+int connman_request_specific_scan(const char *ssid)
+{
+ int ret = net_specific_scan_wifi(ssid);
+ INFO_LOG(COMMON_NAME_LIB,"net_specific_scan_wifi ret: %d", ret);
+
+ switch (ret) {
+ case NET_ERR_NONE:
+ case NET_ERR_IN_PROGRESS:
return WLAN_MANAGER_ERR_NONE;
default:
return WLAN_MANAGER_ERR_UNKNOWN;
}
int connman_request_connection_open_hidden_ap(net_wifi_connection_info_t* conninfo)
- {
- int ret = NET_ERR_NONE;
- ret = net_open_connection_with_wifi_info(conninfo);
+{
+ int ret = net_open_connection_with_wifi_info(conninfo);
switch (ret){
case NET_ERR_NONE:
return WLAN_MANAGER_ERR_NONE;
int connman_request_connection_close(const char* profile_name)
{
- int ret = NET_ERR_NONE;
- ret = net_close_connection(profile_name);
+ int ret = net_close_connection(profile_name);
switch (ret) {
case NET_ERR_NONE:
int connman_request_delete_profile(const char* profile_name)
{
- int ret = NET_ERR_NONE;
- ret = net_delete_profile(profile_name);
+ int ret = net_delete_profile(profile_name);
switch (ret){
case NET_ERR_NONE:
return WLAN_MANAGER_ERR_NONE;
int connman_request_scan()
{
- int ret = NET_ERR_NONE;
- ret = net_scan_wifi();
+ int ret = net_scan_wifi();
switch (ret){
case NET_ERR_NONE:
+ case NET_ERR_IN_PROGRESS:
return WLAN_MANAGER_ERR_NONE;
default:
return WLAN_MANAGER_ERR_UNKNOWN;
int connman_request_scan_mode_set(net_wifi_background_scan_mode_t scan_mode)
{
- int ret = NET_ERR_NONE;
-
- ret = net_wifi_set_background_scan_mode(scan_mode);
+ int ret = net_wifi_set_background_scan_mode(scan_mode);
INFO_LOG(COMMON_NAME_LIB, "net_wifi_set_background_scan_mode ret: %d", ret);
switch (ret) {
{
__COMMON_FUNC_ENTER__;
- int ret = NET_ERR_NONE;
net_wifi_state_t state;
+ int ret = net_get_wifi_state(&state, (net_profile_name_t *)profile_name);
- ret = net_get_wifi_state(&state, (net_profile_name_t *)profile_name);
switch (ret) {
case NET_ERR_NONE:
if (WIFI_OFF == state) {
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
wlan_manager_object* manager_object = wlan_manager_get_singleton();
- callback_data *ret = (callback_data *) malloc(sizeof(callback_data));
- ret->profile_name = strdup(net_event->ProfileName);
+ callback_data *ret = (callback_data *) g_malloc0(sizeof(callback_data));
+ ret->profile_name = g_strdup(net_event->ProfileName);
ret->type = WLAN_MANAGER_RESPONSE_TYPE_NONE;
switch (net_event->Event) {
if (net_event->Error == NET_ERR_NONE && net_event->Datalength == sizeof(net_wifi_state_t)) {
if (*wifi_state == WIFI_ON) {
ret->type = WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK;
- wlan_manager_request_scan();
}
else if (*wifi_state == WIFI_OFF) {
ret->type = WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK;
} else if (net_event->Error == NET_ERR_SECURITY_RESTRICTED) {
ret->type = WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED;
} else {
- return;
+ goto cleanup;
}
break;
/** Open Connection Response Event */
if (net_event->Error == NET_ERR_NONE) {
if (strstr(ret->profile_name, "wifi_") == NULL) {
INFO_LOG(COMMON_NAME_LIB, "RESULT: NOT WIFI");
- return;
+ goto cleanup;
}
INFO_LOG(COMMON_NAME_LIB, "RESULT: CONNECTION OK");
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK;
connman_profile_manager_connected_ssid_set((const char *)ret->profile_name);
- } else if (net_event->Error == NET_ERR_TIME_OUT) {
+ } else if (net_event->Error == NET_ERR_TIME_OUT) { /* The connection timeout occured. */
ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_TIME_OUT");
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT;
wlan_manager_reset_connected_AP();
connman_request_connection_close(ret->profile_name);
- } else if (net_event->Error == NET_ERR_IN_PROGRESS) {
+ } else if (net_event->Error == NET_ERR_IN_PROGRESS) { /* Already a conncetion is in progress */
ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_IN_PROGRESS");
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS;
- } else if (net_event->Error == NET_ERR_ACTIVE_CONNECTION_EXISTS) {
+ } else if (net_event->Error == NET_ERR_ACTIVE_CONNECTION_EXISTS) { /* If the AP is already conected. WEIRD. Check when this can occur */
ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_ACTIVE_CONNECTION_EXISTS");
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ALREADY_EXIST;
- } else if (net_event->Error == NET_ERR_UNKNOWN_METHOD) {
+ } else if (net_event->Error == NET_ERR_UNKNOWN_METHOD) { /* Unable to send connection request due to dbus failure. */
ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_UNKNOWN_METHOD");
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD;
wlan_manager_reset_connected_AP();
- } else if (net_event->Error == NET_ERR_OPERATION_ABORTED) {
+ } else if (net_event->Error == NET_ERR_OPERATION_ABORTED) { /* The connection was aborted due to connman internal problem OR some other issue */
ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_OPERATION_ABORTED");
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED;
wlan_manager_reset_connected_AP();
- } else {
+ } else if (net_event->Error == NET_ERR_CONNECTION_CONNECT_FAILED) { /* The connection failed to connect */
+ ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_CONNECTION_CONNECT_FAILED");
+ ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED;
+ wlan_manager_reset_connected_AP();
+ } else if (net_event->Error == NET_ERR_CONNECTION_INVALID_KEY) { /* Wrong password entered */
+ ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_CONNECTION_CONNECT_FAILED");
+ ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY;
+ wlan_manager_reset_connected_AP();
+ } else { /* WEIRD. What can be these other cases? */
ERROR_LOG(COMMON_NAME_LIB, "Open response: %d", net_event->Error);
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN;
wlan_manager_reset_connected_AP();
case NET_EVENT_OPEN_IND:
INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_OPEN_IND : %s", ret->profile_name);
if (strstr(ret->profile_name, "wifi_") == NULL) {
- return;
+ goto cleanup;
}
ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND;
case NET_EVENT_CLOSE_RSP:
INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_CLOSE_RSP : %s", ret->profile_name);
if (strstr(ret->profile_name, "wifi_") == NULL) {
- return;
+ goto cleanup;
}
ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK;
case NET_EVENT_CLOSE_IND:
INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_CLOSE_IND : %s", ret->profile_name);
if (strstr(ret->profile_name, "wifi_") == NULL) {
- return;
+ goto cleanup;
}
ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND;
case NET_EVENT_NET_STATE_IND:
INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_NET_STATE_IND");
- if (net_event->Error == NET_ERR_NONE) {
- if (strstr(ret->profile_name, "wifi_") == NULL) {
- return;
+ if (net_event->Error != NET_ERR_NONE || !strstr(ret->profile_name, "wifi_")) {
+ goto cleanup;
+ } else {
+ net_state_type_t state_type = *(net_state_type_t *)(net_event->Data);
+ if (state_type == NET_STATE_TYPE_ASSOCIATION) {
+ INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ASSOCIATION");
+ ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTING;
+ } else if (state_type == NET_STATE_TYPE_FAILURE) {
+ INFO_LOG(COMMON_NAME_LIB, "STATE_IND : FAILURE");
+ ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK;
} else {
- net_state_type_t* state_type = (net_state_type_t*)net_event->Data;
- if (*state_type == NET_STATE_TYPE_ASSOCIATION) {
- INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ASSOCIATION");
- ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTING;
- } else if (*state_type == NET_STATE_TYPE_DISCONNECT) {
+ if (state_type == NET_STATE_TYPE_DISCONNECT) {
INFO_LOG(COMMON_NAME_LIB, "STATE_IND : DISCONNECT");
- return;
- } else if (*state_type == NET_STATE_TYPE_FAILURE) {
- INFO_LOG(COMMON_NAME_LIB, "STATE_IND : FAILURE");
- ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK;
- } else if (*state_type == NET_STATE_TYPE_IDLE) {
+ } else if (state_type == NET_STATE_TYPE_IDLE) {
INFO_LOG(COMMON_NAME_LIB, "STATE_IND : IDLE");
- return;
- } else if (*state_type == NET_STATE_TYPE_CONFIGURATION) {
+ } else if (state_type == NET_STATE_TYPE_CONFIGURATION) {
INFO_LOG(COMMON_NAME_LIB, "STATE_IND : CONFIGURATION");
- return;
- } else if (*state_type == NET_STATE_TYPE_READY) {
+ } else if (state_type == NET_STATE_TYPE_READY) {
INFO_LOG(COMMON_NAME_LIB, "STATE_IND : READY");
- return;
- } else if (*state_type == NET_STATE_TYPE_ONLINE) {
+ } else if (state_type == NET_STATE_TYPE_ONLINE) {
INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ONLINE");
- return;
} else {
INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ?????????");
- return;
}
+ goto cleanup;
}
- } else {
- return;
}
break;
/** Profile modify indication Event */
if (net_event->Error == NET_ERR_NONE) {
if (strstr(ret->profile_name, "wifi_") == NULL) {
INFO_LOG(COMMON_NAME_LIB, "RESULT : NOT WIFI");
- return;
+ goto cleanup;
}
INFO_LOG(COMMON_NAME_LIB, "RESULT : CONNECTION OK");
ret->type = WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK;
ret->type = WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL;
}
break;
+ case NET_EVENT_SPECIFIC_SCAN_RSP:
+ INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_SPECIFIC_SCAN_RSP");
+ if (net_event->Error == NET_ERR_NONE) {
+ ret->type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK;
+ } else {
+ ret->type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL;
+ }
+ break;
+ case NET_EVENT_SPECIFIC_SCAN_IND:
+ INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_SPECIFIC_SCAN_IND");
+ ret->type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_IND;
+ break;
default:
INFO_LOG(COMMON_NAME_LIB, "Callback - %d", net_event->Event);
break;
if (manager_object->message_func)
manager_object->message_func((void*)net_event->Data, (void*)ret);
+
+cleanup:
+ g_free(ret->profile_name);
+ g_free(ret);
+ __COMMON_FUNC_EXIT__;
}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
int connman_profile_manager_check_favourite(const char *profile_name, int *favourite);
int connman_profile_manager_connected_ssid_set(const char *profile_name);
int connman_profile_manager_disconnected_ssid_set(const char *profile_name);
-int connman_profile_manager_profile_modify(net_profile_info_t new_profile);
+int connman_profile_manager_profile_modify(net_profile_info_t *new_profile);
int connman_profile_manager_profile_modify_auth(const char *profile_name, void *authdata, int secMode);
void *connman_profile_manager_profile_table_get(void);
int connman_profile_manager_profile_info_get(const char *profile_name, net_profile_info_t *profile);
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
int connman_request_power_on(void);
int connman_request_power_off(void);
int connman_request_connection_open(const char* profile_name);
+int connman_request_specific_scan(const char *ssid);
int connman_request_connection_open_hidden_ap(net_wifi_connection_info_t* conninfo);
int connman_request_connection_close(const char* profile_name);
int connman_request_delete_profile(const char* profile_name);
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED,
WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE,
WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED,
- WLAN_MANAGER_ERR_NOSERVICE
+ WLAN_MANAGER_ERR_NOSERVICE,
+ WLAN_MANAGER_ERR_IN_PROGRESS,
} WLAN_MANAGER_ERR_TYPE;
typedef enum {
WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT,
WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN,
WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD,
+ WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED,
+ WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY,
WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK,
WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK,
WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED,
WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND,
WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND,
WLAN_MANAGER_RESPONSE_TYPE_MAC_ID_IND,
+ WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK,
+ WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL,
+ WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_IND,
WLAN_MANAGER_RESPONSE_TYPE_MAX
} WLAN_MANAGER_RESPONSE_TYPES;
-#define WLAN_RSSI_LEVEL_EXCELLENT 64
+#define WLAN_RSSI_LEVEL_EXCELLENT 64
#define WLAN_RSSI_LEVEL_GOOD 59
#define WLAN_RSSI_LEVEL_WEAK 34
typedef struct _wifi_device_info_t {
char* profile_name;
char* ssid;
+ char* ap_status_txt;
+ char* ap_image_path;
int ipconfigtype;
int rssi;
- int security_mode;
+ wlan_security_mode_type_t security_mode;
boolean wps_mode;
} wifi_device_info_t;
} callback_data;
typedef struct {
- char* password;
+ const char* password;
char* category;
char* subcategory;
char* username;
char* ssid;
};
+typedef void (*wlan_manager_ui_refresh_func_t)(void);
+
/** It should be hide to others */
typedef struct wlan_manager_object {
void (*message_func)(void *user_data, void *data);
- void (*refresh_func)(int is_scan);
-
+ wlan_manager_ui_refresh_func_t refresh_func;
+ boolean b_scan_blocked;
+ boolean b_ui_refresh;
/* AP SSID & saved profile */
/** should be changed to DEVICE_OBJECT **/
struct access_point_info connected_AP;
int wlan_manager_state_get(char* profile_name);
void wlan_manager_set_message_callback(void *func);
-void wlan_manager_set_refresh_callback(void *func);
+void wlan_manager_set_refresh_callback(wlan_manager_ui_refresh_func_t func);
void wlan_manager_set_connected_AP(const net_profile_info_t *profile);
void wlan_manager_reset_connected_AP(void);
+void wlan_manager_enable_scan_result_update(void);
+void wlan_manager_disable_scan_result_update(void);
const char *wlan_manager_get_connected_profile(void);
const char *wlan_manager_get_connected_ssid(void);
// * profile add/modify/delete
int wlan_manager_request_profile_add(const char *profile_name, int security_mode, void* authdata);
-int wlan_manager_profile_modify_by_device_info(net_profile_info_t profiles);
+int wlan_manager_profile_modify_by_device_info(net_profile_info_t *profiles);
STRENGTH_TYPES wlan_manager_get_signal_strength(int rssi);
//// profile refresh /////////////////////////////////////////////
-void wlan_manager_scanned_profile_refresh(boolean view_update);
+void wlan_manager_scanned_profile_refresh(void);
int wlan_manager_scanned_profile_refresh_with_count(int count);
int wlan_manager_profile_scanned_length_get();
void *wlan_manager_profile_device_info_blank_create(void);
-int wlan_manager_network_syspopup_message(const char *title, const char *content);
+int wlan_manager_network_syspopup_message(const char *title, const char *content, const char *type);
#ifdef __cplusplus
}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
return 1;
}
-void wlan_manager_set_refresh_callback(void *func)
+void wlan_manager_set_refresh_callback(wlan_manager_ui_refresh_func_t func)
{
wlan_manager_object* manager_object = wlan_manager_get_singleton();
manager_object->refresh_func = func;
if (ret == WLAN_MANAGER_ERR_NONE) {
connman_profile_manager_destroy();
}
-
+ if (manager_object) {
+ g_free(manager_object);
+ manager_object = NULL;
+ }
return ret;
}
int wlan_manager_request_scan(void)
{
- return connman_request_scan();
+ if (WLAN_MANAGER_ERR_NONE == connman_request_scan()) {
+ /* Since the scan request was success, lets reset the ui refresh and scan update blocked flags. */
+ manager_object->b_scan_blocked = FALSE;
+ manager_object->b_ui_refresh = FALSE;
+ return WLAN_MANAGER_ERR_NONE;
+ } else {
+ return WLAN_MANAGER_ERR_UNKNOWN;
+ }
}
int wlan_manager_request_profile_add(const char *profile_name, int security_mode, void *authdata)
return connman_profile_manager_profile_table_get();
}
-int wlan_manager_profile_modify_by_device_info(net_profile_info_t profile)
+int wlan_manager_profile_modify_by_device_info(net_profile_info_t *profile)
{
if (connman_profile_manager_profile_modify(profile)) {
DEBUG_LOG(COMMON_NAME_LIB, "Success - profile modify");
int ret = connman_profile_manager_profile_cache(count);
if (ret > 0) {
DEBUG_LOG(COMMON_NAME_LIB, "success %d profiles update", count);
- manager_object->refresh_func(FALSE);
+ manager_object->refresh_func();
}
__COMMON_FUNC_EXIT__;
return FALSE;
}
-void wlan_manager_scanned_profile_refresh(boolean view_update)
+void wlan_manager_scanned_profile_refresh(void)
{
__COMMON_FUNC_ENTER__;
- int ret = connman_profile_manager_profile_cache(0);
- if (ret > 0) {
+ if (FALSE == manager_object->b_scan_blocked) {
+ connman_profile_manager_profile_cache(0);
+ manager_object->refresh_func();
DEBUG_LOG(COMMON_NAME_LIB, "success profiles update");
- if (view_update)
- manager_object->refresh_func(TRUE);
+ } else {
+ manager_object->b_ui_refresh = TRUE;
+ DEBUG_LOG(COMMON_NAME_LIB, "Scan update is blocked");
}
-
__COMMON_FUNC_EXIT__;
}
STRENGTH_TYPES wlan_manager_get_signal_strength(int rssi)
{
- if (rssi > WLAN_RSSI_LEVEL_EXCELLENT) {
+ /* Wi-Fi Signal Strength Display (dB / ConnMan normalized value)
+ *
+ * Excellent : -63 ~ / 57 ~
+ * Good: -74 ~ -64 / 46 ~ 56
+ * Weak: -82 ~ -75 / 38 ~ 45
+ * Very weak: ~ -83 / ~ 37
+ */
+ if (rssi >= 57)
return SIGNAL_STRENGTH_TYPE_EXCELLENT;
- } else if (rssi > WLAN_RSSI_LEVEL_GOOD) {
+ else if (rssi >= 46)
return SIGNAL_STRENGTH_TYPE_GOOD;
- } else if (rssi > WLAN_RSSI_LEVEL_WEAK) {
+ else if (rssi >= 38)
return SIGNAL_STRENGTH_TYPE_WEAK;
- } else {
+ else
return SIGNAL_STRENGTH_TYPE_VERY_WEAK;
- }
}
void* wlan_manager_profile_device_info_blank_create()
{
+ __COMMON_FUNC_ENTER__;
wifi_device_info_t *di_s0 = NULL;
- di_s0 = malloc(sizeof(wifi_device_info_t));
+ di_s0 = g_malloc0(sizeof(wifi_device_info_t));
if (di_s0 == NULL) {
ERROR_LOG(UG_NAME_NORMAL, "Error!!! Failed to allocate memory\n");
char No_AP_found[] = "No AP found";
- memset(di_s0, 0x0, sizeof(wifi_device_info_t));
- di_s0->ssid = malloc(sizeof(No_AP_found));
-
- if (di_s0->ssid == NULL) {
+ di_s0->ssid = g_strdup(No_AP_found);
+ if (NULL == di_s0->ssid) {
g_free(di_s0);
di_s0 = NULL;
ERROR_LOG(UG_NAME_NORMAL, "Error!!! Failed to allocate memory\n");
- __COMMON_FUNC_EXIT__;
- return NULL;
}
- strncpy(di_s0->ssid, No_AP_found, sizeof(No_AP_found));
-
+ __COMMON_FUNC_EXIT__;
return (void*) di_s0;
}
INFO_LOG(UG_NAME_REQ, "clear connected AP information\n");
}
+static Eina_Bool _refresh_ui(void *data)
+{
+ connman_profile_manager_profile_cache(0);
+ manager_object->refresh_func();
+ manager_object->b_scan_blocked = FALSE;
+ manager_object->b_ui_refresh = FALSE;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void wlan_manager_enable_scan_result_update(void)
+{
+ if (TRUE == manager_object->b_scan_blocked) {
+ if (TRUE == manager_object->b_ui_refresh) {
+ DEBUG_LOG(COMMON_NAME_LIB, "Refresh the UI with last scan update");
+
+ /* We delay the rendering inorder to get smooth effect of popup close */
+ ecore_idler_add(_refresh_ui, NULL);
+ } else {
+ manager_object->b_scan_blocked = FALSE;
+ }
+ }
+}
+
+void wlan_manager_disable_scan_result_update(void)
+{
+ manager_object->b_scan_blocked = TRUE;
+}
+
const char *wlan_manager_get_connected_profile(void)
{
wlan_manager_object* obj = wlan_manager_get_singleton();
return (const char *)obj->connected_AP.ssid;
}
-int wlan_manager_network_syspopup_message(const char *title, const char *content)
+int wlan_manager_network_syspopup_message(const char *title, const char *content, const char *type)
{
int ret = 0;
bundle *b = bundle_create();
bundle_add(b, "_SYSPOPUP_TITLE_", title);
bundle_add(b, "_SYSPOPUP_CONTENT_", content);
+ bundle_add(b, "_SYSPOPUP_TYPE_", type);
ret = syspopup_launch("net-popup", b);
bundle_free(b);
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
return (char*)dgettext("sys_string", "IDS_COM_BODY_DETAILS_NAME");
case I18N_TYPE_Password:
return (char*)dgettext("sys_string", "IDS_COM_BODY_PASSWORD");
+ case I18N_TYPE_Details:
+ return (char*)dgettext("sys_string", "IDS_COM_BODY_DETAILS");
default:
return "(debug)system_text_failed";
}
case I18N_TYPE_Connecting:
case I18N_TYPE_Connected:
case I18N_TYPE_Searching:
+ case I18N_TYPE_Details:
return i18n_get_text_by_system(type);
-
+ case I18N_TYPE_Provisioning:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_PROVISIONING");
+ case I18N_TYPE_Ca_Certificate:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CA_CERTIFICATE");
+ case I18N_TYPE_User_Certificate:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_USER_CERTIFICATE_ABB");
+ case I18N_TYPE_Unspecified:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_UNSPECIFIED");
+ case I18N_TYPE_Unknown:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_UNKNOWN");
+ case I18N_TYPE_Enter_Ssid:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_SSID");
+ case I18N_TYPE_Identity:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_IDENTITY");
+ case I18N_TYPE_Anonymous_Identity:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ANONYMOUS_IDENTITY");
+ case I18N_TYPE_Wifi_Opt_Find_Hidden_Network:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK");
+ case I18N_TYPE_WPS_Button_Connection:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION");
+ case I18N_TYPE_Press_WPS_On_Your_Wi_Fi_Access_Point:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES");
+ case I18N_TYPE_Button_Cancel:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BUTTON_CANCEL");
+ case I18N_TYPE_Ssid:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_SSID");
+ case I18N_TYPE_Find_Hidden_Network:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK");
+
+
+ case I18N_TYPE_Connect:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CONNECT");
case I18N_TYPE_Scan:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_SCAN");
case I18N_TYPE_Forget:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_DISCONNECTING_ING");
case I18N_TYPE_Hidden_AP:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_HEADER_HIDDEN_NETWORK");
+ case I18N_TYPE_Add_WiFi_network:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_ADD_WI_FI_NETWORK");
case I18N_TYPE_No_AP:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_NO_APS");
case I18N_TYPE_Signal_strength:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_SECURITYTYPE_WEP");
case I18N_TYPE_Gateway:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_GATEWAY");
+ case I18N_TYPE_Gateway_address:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_GATEWAY_ADDRESS");
case I18N_TYPE_Deactivating:
- return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_POP_DEACTIVATING_ING");
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING");
case I18N_TYPE_No_security:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY");
+ case I18N_TYPE_Network_SSID:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_NETWORK_SSID");
case I18N_TYPE_Network_notification:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_NETWORK_NOTIFICATION");
+ case I18N_TYPE_Network_notify_me_later:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE");
case I18N_TYPE_Select_network:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_HEADER_SELECT_NETWORK");
+ case I18N_TYPE_WiFi_network:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_WI_FI_NETWORKS");
+ case I18N_TYPE_Enter_password:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_PASSWORD");
+ case I18N_TYPE_Enter_Identity:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_IDENTITY");
+ case I18N_TYPE_Enter_Anonymous_Identity:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY");
case I18N_TYPE_Input_password:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_CST_BODY_INPUT_PASSWORD");
case I18N_TYPE_Show_password:
return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_SHOW_PASSWORD");
case I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue:
- return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q");
-
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG");
+ case I18N_TYPE_Open:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_OPEN");
+ case I18N_TYPE_WPS_Available:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_WPS_AVAILABLE");
+ case I18N_TYPE_Secured:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY");
+ case I18N_TYPE_Obtaining_IP_addr:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING");
+ case I18N_TYPE_Channel:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CHANNEL");
+ case I18N_TYPE_MAC_addr:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_MAC_ADDRESS");
+ case I18N_TYPE_Proxy_port:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_PROXY_PORT");
+ case I18N_TYPE_EAP:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_EAP");
+ case I18N_TYPE_EAP_method:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_EAP_METHOD");
+ case I18N_TYPE_Phase_2_authentication:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_COM_BODY_PHASE_2_AUTHENTICATION");
+ case I18N_TYPE_Activating_WiFi:
+ return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_ACTIVATING_WI_FI_ING");
case I18N_TYPE_WPA_PSK:
- return gettext("WPA-PSK");
+ return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA-PSK");
case I18N_TYPE_WPA2_PSK:
- return gettext("WPA2-PSK");
+ return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA2-PSK");
case I18N_TYPE_WPA_EAP:
- return gettext("WPA-EAP");
+ return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA-EAP");
case I18N_TYPE_WPA2_EAP:
- return gettext("WPA2-EAP");
+ return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA2-EAP");
+
+
+
+
default:
- return "(debugapplying_i18n_failed";
+ return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "(debugapplying_i18n_failed");
}
}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
I18N_TYPE_No_security,
I18N_TYPE_Subnet_mask,
I18N_TYPE_Gateway,
+ I18N_TYPE_Gateway_address,
I18N_TYPE_Wi_Fi,
I18N_TYPE_Password,
I18N_TYPE_Activating,
I18N_TYPE_Deactivating,
I18N_TYPE_Searching,
+ I18N_TYPE_Connect,
I18N_TYPE_Connecting,
I18N_TYPE_Connected,
I18N_TYPE_Disconnecting,
I18N_TYPE_Connection_Lost,
+ I18N_TYPE_Network_SSID,
I18N_TYPE_Network_notification,
+ I18N_TYPE_Network_notify_me_later,
I18N_TYPE_Select_network,
+ I18N_TYPE_WiFi_network,
+ I18N_TYPE_Enter_password,
+ I18N_TYPE_Enter_Identity,
+ I18N_TYPE_Enter_Anonymous_Identity,
I18N_TYPE_Input_password,
I18N_TYPE_Show_password,
+ I18N_TYPE_Add_WiFi_network,
+ I18N_TYPE_EAP,
+ I18N_TYPE_EAP_method,
+ I18N_TYPE_Phase_2_authentication,
+ I18N_TYPE_Activating_WiFi,
+
+ I18N_TYPE_Provisioning,
+ I18N_TYPE_Ca_Certificate,
+ I18N_TYPE_User_Certificate,
+ I18N_TYPE_Unspecified,
+ I18N_TYPE_Unknown,
+ I18N_TYPE_Enter_Ssid,
+ I18N_TYPE_Identity,
+ I18N_TYPE_Anonymous_Identity,
+ I18N_TYPE_Wifi_Opt_Find_Hidden_Network,
+ I18N_TYPE_WPS_Button_Connection,
+ I18N_TYPE_Press_WPS_On_Your_Wi_Fi_Access_Point,
+ I18N_TYPE_Button_Cancel,
+ I18N_TYPE_Ssid,
+ I18N_TYPE_Find_Hidden_Network,
+
/* etc */
I18N_TYPE_DNS_1,
I18N_TYPE_DNS_2,
I18N_TYPE_No_AP,
I18N_TYPE_Security_type,
I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue,
+ I18N_TYPE_Open,
+ I18N_TYPE_WPS_Available,
+ I18N_TYPE_Secured,
+ I18N_TYPE_Obtaining_IP_addr,
+ I18N_TYPE_Channel,
+ I18N_TYPE_MAC_addr,
+ I18N_TYPE_Proxy_port,
I18N_TYPE_MAX
} I18N_TYPES;
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
../libraries/i18nManager/i18nmanager.c
../libraries/appcoreWrapper/appcoreWrapper.c
../libraries/WlanManager/wlan-manager/wlan_manager.c
+ ../libraries/Common/common_pswd_popup.c
+ ../libraries/Common/common_utils.c
+ ../libraries/Common/common_ip_info.c
+ ../libraries/Common/common_eap_connect.c
+ ../libraries/Common/common_datamodel.c
${ENGINE_SOURCES}
wifi-efl-UG.c
- viewers-layout/popup.c
viewers-layout/viewer_manager.c
viewers-layout/wifi_viewer_list.c
viewers-layout/view_detail.c
- viewers-layout/view_detail_datamodel.c
- viewers-layout/view_dhcpip.c
- viewers-layout/view_staticip.c
- viewers-layout/view_ime_password.c
viewers-layout/view_ime_hidden.c
- viewers-layout/view_eap.c
wifi-wlan-callbacks.c
- wifi-ui-list-callbacks.c)
+ wifi-ui-list-callbacks.c
+ motion_control.c
+ winset_popup.c)
FOREACH(flag ${pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/ DESTINATION /opt/ug/res/images/wifi-efl-UG FILES_MATCHING PATTERN "*.png")
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/wifi_ug_edj_etc.edj DESTINATION /opt/ug/res/edje/wifi-efl-UG)
-ADD_SUBDIRECTORY(po)
-
--- /dev/null
+/*
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <Evas.h>
+
+typedef enum {
+ MOTION_TARGET_VIEW_FOCUS_ON = 0,
+ MOTION_TARGET_VIEW_FOCUS_OFF
+}TARGET_VIEW_FOCUS;
+
+void motion_create(Evas_Object *base);
+void motion_destroy(void);
+void motion_start(void);
+void motion_stop(void);
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "viewer_manager.h"
//////// genlist struct data ////////////////////////////////////////////////////////////////////
-typedef struct genlist_data {
- char* ssid;
- char* ap_image_path;
+typedef struct {
wifi_device_info_t *device_info;
VIEWER_ITEM_RADIO_MODES radio_mode;
- void* callback_data;
-} genlist_data;
+} ug_genlist_data_t;
/////////////////////////////////////////////////////////////////////////////////////////////
Evas_Object* viewer_list_create(Evas_Object *win);
int viewer_list_destroy(void);
void viewer_list_title_item_del();
+void viewer_list_title_item_update();
+
////////////////////////////////////////////////////////////////////////////////////////////////
//////// list item add / remove ///////////////////////////////////////////////////////////////
int viewer_list_title_item_set(Elm_Object_Item *target);
-Elm_Object_Item* viewer_list_item_set(Evas_Object* list,
+Elm_Object_Item* viewer_list_item_insert_after(Evas_Object* list,
void* list_data,
- const char* ssid,
- const char* ap_image_path,
- VIEWER_ITEM_RADIO_MODES mode,
- void (*callback_func)(void*data,Evas_Object*obj,void*event_info),
- void*callback_data);
+ Elm_Object_Item *after,
+ Evas_Smart_Cb callback_func,
+ void *callback_data);
int viewer_list_item_clear();
////////////////////////////////////////////////////////////////////////////////////////////////
//////// item iteration /////////////////////////////////////////////////////////////////////////
int viewer_list_item_size_get(void);
+void viewer_list_item_del(Elm_Object_Item *item);
Elm_Object_Item* viewer_list_item_first_get(Evas_Object* list);
Elm_Object_Item* viewer_list_item_next_get(const Elm_Object_Item* current);
Elm_Object_Item* viewer_list_item_at_index(int index);
/////////////////////////////////////////////////////////////////////////////////////////////////
-//////// data get/set ///////////////////////////////////////////////////////////////////////////
-int viewer_list_item_data_set(Elm_Object_Item* item, const char* key, void* data);
-void* viewer_list_item_data_get(const Elm_Object_Item* item, const char* key);
-////////////////////////////////////////////////////////////////////////////////////////////////
-
//////// item control /////////////////////////////////////////////////////////////////////////
int viewer_list_item_enable_all(void);
int viewer_list_item_disable_all(void);
//////////////////////////////////////////////////////////////////////////////////////////////////
Elm_Object_Item* item_get_for_profile_name(char* profile_name);
+Elm_Object_Item *item_get_for_ssid(const char* ssid, int *num_aps);
+void viewer_list_item_move_connected_ap_to_top(const Elm_Object_Item *connected_item);
#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#define __DEF_VIEWER_MANAGER_H_
#include <Elementary.h>
-
+#include <glib.h>
//////// viewer-manager enumeration /////////////////////////////////////
typedef enum {
} HEADER_MODES;
typedef enum {
- VIEWER_ITEM_RADIO_MODE_NULL=0,
- VIEWER_ITEM_RADIO_MODE_OFF,
+ VIEWER_ITEM_RADIO_MODE_OFF = 0,
VIEWER_ITEM_RADIO_MODE_CONNECTED,
VIEWER_ITEM_RADIO_MODE_CONNECTING,
VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING,
} VIEWER_ITEM_RADIO_MODES;
typedef enum {
- VIEWER_CALLBACK_TYPE_NORMAL_LIST,
- VIEWER_CALLBACK_TYPE_NONE_AP_LIST,
- VIEWER_CALLBACK_TYPE_MAX
-
-} VIEWER_CALLBACK_TYPES;
-
-typedef enum {
VIEWER_WINSET_SEARCHING,
VIEWER_WINSET_SUB_CONTENTS
-
} VIEWER_WINSETS;
-typedef enum {
- VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_NULL,
- VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_CONNECTION_AND_DETAILVIEW,
- VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_SELECTION,
- VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_MAX
-
-} VIEWER_MANAGER_TOUCH_RESPONSE_TYPE;
-
-
//////////////////////////////////////////////////////////////////////////////////
//////// viewer managing ///////////////////////////////////////////////////////////
Eina_Bool viewer_manager_destroy();
Eina_Bool viewer_manager_show(VIEWER_WINSETS winset);
Eina_Bool viewer_manager_hide(VIEWER_WINSETS winset);
-Eina_Bool viewer_manager_refresh(int is_scan);
+Eina_Bool viewer_manager_refresh(void);
+void viewer_manager_specific_scan_response_hlr(GSList *bss_info_list);
//////////////////////////////////////////////////////////////////////////////////
*
* add ap_list including "No AP"
*/
-Elm_Object_Item* viewer_manager_item_set(void*entry_data,
- const char* ssid,
- const char* ap_image_path,
- VIEWER_ITEM_RADIO_MODES mode,
- VIEWER_CALLBACK_TYPES type,
- void*callback_data);
-
-
int power_control();
-Elm_Object_Item *viewer_manager_current_selected_item_get(void);
-void viewer_manager_current_selected_item_set(Elm_Object_Item *item);
-
-void viewer_manager_set_enabled_list_click(Eina_Bool enabled);
-
-int viewer_manager_item_radio_mode_all_reset(void);
int viewer_manager_item_radio_mode_set(void* object, Elm_Object_Item* item, VIEWER_ITEM_RADIO_MODES mode);
-
int viewer_manager_hidden_disable_set(int mode);
-
Evas_Object* viewer_manager_get_naviframe();
int viewer_manager_header_mode_set(HEADER_MODES mode);
HEADER_MODES viewer_manager_header_mode_get(void);
-void viewer_manager_set_enabled_list_update(Eina_Bool enabled);
void viewer_manager_scroll_to_top(void);
+Elm_Object_Item *viewer_manager_move_item_to_top(Elm_Object_Item *item);
+Elm_Object_Item *viewer_manager_add_new_item(const char *profile_name);
#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#endif
void wlan_engine_callback(void *user_data, void *wlan_data);
-void wlan_engine_refresh_callback(int is_scan);
+void wlan_engine_refresh_callback();
#ifdef __cplusplus
}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
void radio_button_cb(void *data, Evas_Object *obj, void *event_info);
void list_select_cb(void *data, Evas_Object *obj, void *event_info);
+void eap_view_close_cb(void);
#ifdef __cplusplus
}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "common.h"
+#include "common_pswd_popup.h"
+#include "view_ime_hidden.h"
+#include "common_eap_connect.h"
+#include "winset_popup.h"
#include "wlan_manager.h"
#include "viewer_manager.h"
+#include <ui-gadget-module.h>
#define PACKAGE "ug-wifi-efl-UG"
#define LOCALEDIR "/opt/ug/res/locale"
#define WIFI_UG_FAKE_ICON_PATH FACTORYFS"/res/edje/wifi-efl-UG/wifi_ug_edj_etc.edj"
+#define UG_CALLER "caller"
#define UG_MAIN_MESSAGE_DESTROY 1
typedef enum {
- VIEW_MAIN=0,
- VIEW_PASSWORD,
- VIEW_DETAIL,
- VIEW_HIDDEN_AP,
- VIEW_STATIC_IP,
- VIEW_DHCP_IP
-} VIEW_TYPE;
+ UG_VIEW_DEFAULT = 0,
+ UG_VIEW_SETUP_WIZARD
+} UG_TYPE;
-
-struct wifi_appdata {
+typedef struct {
/* ui gadget object */
void* gadget;
- struct ui_gadget* ug;
- Eina_Bool bundle_back_button_show_force_when_connected;
+ ui_gadget_h ug;
//Basic Evas_Objects
Evas_Object *win_main;
Evas *evas;
+ pswd_popup_t *passpopup;
+ hiddep_ap_popup_data_t *hidden_ap_popup;
- VIEW_TYPE current_view;
+ UG_TYPE ug_type;
Eina_Bool bAlive;
-};
+
+ char *lbutton_setup_wizard;
+ char *rbutton_setup_wizard_next;
+ char *rbutton_setup_wizard_skip;
+ char *rbutton_setup_wizard_next_icon;
+ char *rbutton_setup_wizard_scan_icon;
+ char *rbutton_setup_wizard_skip_icon;
+ char *lbutton_setup_wizard_prev_icon;
+ popup_manager_object_t *popup_manager;
+ common_eap_connect_data_t *eap_view;
+} wifi_appdata ;
int wifi_exit();
--- /dev/null
+/*
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#ifndef __DEF_POPUP_H_
+#define __DEF_POPUP_H_
+
+typedef enum {
+ POPUP_OPTION_NONE = 0X01,
+ POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED,
+ POPUP_OPTION_REGISTER_FAILED_UNKNOWN,
+ POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT,
+ POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR,
+ POPUP_OPTION_CONNECTING_FAILED,
+ POPUP_OPTION_HIDDEN_AP_SSID_LEN_ERROR,
+ POPUP_OPTION_UNREG_WLAN_EVENT_ERROR,
+ POPUP_OPTION_WEP_PSWD_LEN_ERROR,
+ POPUP_OPTION_WPA_PSWD_LEN_ERROR,
+ POPUP_OPTION_MAX
+} POPUP_MODE_OPTIONS;
+
+typedef struct popup_manager_object popup_manager_object_t;
+
+popup_manager_object_t *winset_popup_manager_create(Evas_Object* win, const char *str_pkg_name);
+void winset_popup_mode_set(popup_manager_object_t *manager_object, POPUP_MODE_OPTIONS option, void *input_data);
+boolean winset_popup_manager_destroy(popup_manager_object_t *manager_object);
+boolean winset_popup_hide_popup(popup_manager_object_t *manager_object);
+
+#endif
--- /dev/null
+/*
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include "sensor.h"
+#include "motion_control.h"
+#include "viewer_manager.h"
+
+static int motion_handle = 0;
+static Evas_Object* target = NULL;
+
+static void __motion_shake_cb(unsigned int event_type, sensor_event_data_t *event_data, void *data)
+{
+ if (viewer_manager_header_mode_get() == HEADER_MODE_OFF)
+ power_control();
+}
+
+static TARGET_VIEW_FOCUS __motion_target_view_focus_get(void)
+{
+ if (target == NULL)
+ return MOTION_TARGET_VIEW_FOCUS_OFF;
+
+ if (elm_object_focus_get(target))
+ return MOTION_TARGET_VIEW_FOCUS_ON;
+ else
+ return MOTION_TARGET_VIEW_FOCUS_OFF;
+}
+
+void motion_create(Evas_Object* base)
+{
+ target = base;
+ motion_handle = sf_connect(MOTION_SENSOR);
+ sf_register_event(motion_handle, MOTION_ENGINE_EVENT_SHAKE, NULL,__motion_shake_cb, base);
+}
+
+void motion_start(void)
+{
+ TARGET_VIEW_FOCUS focus_state = __motion_target_view_focus_get();
+ if (focus_state == MOTION_TARGET_VIEW_FOCUS_ON)
+ sf_start(motion_handle, 0);
+}
+
+void motion_stop(void)
+{
+ sf_stop(motion_handle);
+}
+
+void motion_destroy(void)
+{
+ sf_stop(motion_handle);
+ sf_unregister_event(motion_handle, MOTION_ENGINE_EVENT_SHAKE);
+ sf_disconnect(motion_handle);
+}
+++ /dev/null
-# List of source files containing translatable strings.
-
-#ug-wifi-efl
-#scripts
-logics/wifi-scripts.c
-logics/start/start_from_power_on.c
-logics/start/start_from_power_off.c
-logics/start/start_from_connected.c
-logics/request/wlan_request_power_on.c
-logics/request/wlan_request_power_off.c
-logics/request/wlan_request_connection.c
-logics/request/wlan_request_disconnection.c
-logics/response/response_wlan_event_connection_ok.c
-logics/response/response_wlan_event_connection_fail.c
-logics/response/response_wlan_event_connection_fail_ip_assign.c
-logics/response/response_wlan_event_connection_fail_security.c
-logics/response/response_wlan_event_connection_fail_timeout.c
-logics/response/response_wlan_event_connection_ind.c
-logics/response/response_wlan_event_connection_cancel_ok.c
-logics/response/response_wlan_event_connection_cancel_fail.c
-logics/response/response_wlan_event_disconnection_ok.c
-logics/response/response_wlan_event_disconnection_fail.c
-logics/response/response_wlan_event_disconnection_ind.c
-logics/response/response_wlan_event_power_on_ok.c
-logics/response/response_wlan_event_power_on_fail.c
-logics/response/response_wlan_event_power_on_ind.c
-logics/response/response_wlan_event_power_off_ok.c
-logics/response/response_wlan_event_power_off_fail.c
-logics/response/response_wlan_event_power_off_ind.c
-logics/response/response_wlan_event_scan_ok.c
-logics/response/response_wlan_event_scan_fail.c
-logics/response/response_wlan_event_scan_cancel_ok.c
-logics/response/response_wlan_event_scan_cancel_fail.c
-logics/response/response_wlan_event_wps_enroll_ok.c
-logics/response/response_wlan_event_wps_enroll_fail.c
-logics/response/response_wlan_event_cancel_wps_enroll_ok.c
-logics/response/response_wlan_event_cancel_wps_enroll_fail.c
-logics/response/response_wlan_event_get_wlan_transport_state_ok.c
-logics/response/response_wlan_event_get_wlan_transport_state_fail.c
-logics/response/response_wlan_event_wps_pin_ind.c
-logics/response/response_wlan_event_suspend_ind.c
-logics/response/response_wlan_event_ip_changed_ind.c
-logics/response/response_wlan_event_add_profile_ind.c
-logics/response/response_wlan_event_del_profile_ind.c
-logics/response/response_wlan_event_modify_profile_ind.c
-#viewers
-viewers/view_detail.c
-viewers/view_autoip.c
-viewers/view_staticip.c
-viewers/view_dhcpip.c
-viewers/view_ime_password.c
-viewers/view_ime_hidden.c
-viewers/view_ime_proxy.c
-viewers/view_ime_statics.c
-viewers/view_others.c
-viewers/view_list_with_input_data.c
-#view-controllers
-controller/view-main-controller.c
-#main application
-wifi-efl-UG.c
-wifi-ui-list-callbacks.c
-wifi-wlan-callbacks.c
-wifi-ui-normal-callbacks.c
-
-#library
-#UI Manager
-../libraries/UIManager/layout-manager/layout_manager.c
-../libraries/UIManager/viewer-manager/viewer_manager.c
-../libraries/UIManager/viewer-manager/wifi_viewer_dialogue.c
-../libraries/UIManager/winset-wrapper/main/window_layout.c
-../libraries/UIManager/winset-wrapper/main/header.c
-../libraries/UIManager/winset-wrapper/main/bottom_header.c
-../libraries/UIManager/winset-wrapper/main/navigator.c
-../libraries/UIManager/winset-wrapper/main/check.c
-../libraries/UIManager/winset-wrapper/main/scroller.c
-../libraries/UIManager/winset-wrapper/main/button.c
-../libraries/UIManager/winset-wrapper/main/popup.c
-#setting wrapper
-../libraries/settingWrapper/wifi-setting.c
-#logger wrapper
-../libraries/LogManager/logger.c
-#i18n manager
-../libraries/i18nManager/i18nmanager.c
-../libraries/i18nManager/i18n_mode_no_needed.c
-#gesture wrapper
-../libraries/gestureManager/gesture-manager.c
-#appcore wrapper
-../libraries/appcoreWrapper/appcoreWrapper.c
-#Wlan Manager
-../libraries/WlanManager/wlan-manager/wlan_manager.c
-#engine wrapper
-../libraries/WlanManager/EngineManager/WifidWrapper/wifid-wrapper.c
-../libraries/WlanManager/EngineManager/WifidWrapper/profile-manager/profile_manager.c
-../libraries/WlanManager/EngineManager/WifidWrapper/Response/wlan_callback.c
-../libraries/WlanManager/EngineManager/WifidWrapper/LogManager/wifid-log-manager.c
-
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Exzellent"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Gut"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Scannen"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Verbunden"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Verbindung wird hergestellt..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Verbindung wird getrennt..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "Dynamische IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "Keine APs"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Sicherheitstyp"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "Statische IP-Adresse"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Verborgenes Netz"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "WLAN wird aktiviert..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "WLAN wird deaktiviert..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Suche läuft..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Netz auswählen"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Entfernen"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Passwort eingeben"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Passwort anzeigen"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Proxy-Adresse"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Signalstärke"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP-Adresse"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Subnetzmaske"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Gateway"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Wird deaktiviert..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Keine Sicherheit"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Netzbenachrichtigung"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Netz auswählen"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Durch Vergessen des Zugangspunkts werden automatische Verbindungen in Zukunft vermieden. Fortfahren?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Schwach"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Τέλεια"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Καλό"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Σάρωση"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Συνδέθηκε"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Σύνδεση..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Αποσύνδεση..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "Δυναμικό IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "Δεν υπάρχουν AP"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Τύπος ασφαλείας"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "Στατικό IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Κρυφό δίκτυο"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Ενεργοποίηση Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Απενεργοποίηση Wi-Fi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Αναζήτηση..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Επιλογή δικτύου"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Εξαίρεσε"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Εισαγωγή κωδικού πρόσβασης"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Εμφάνιση κωδικού πρόσβασης"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Διεύθ.διακ.μεσολάβ."
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Ισχύς σήματος"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "Διεύθυνση IP"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Μάσκα υποδικτύου"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Πύλη"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Απενεργοποίηση.."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Καμία ασφάλεια"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Ειδοποίηση δικτύου"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Επιλογή δικτύου"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Η μη απομνημόνευση του σημείου πρόσβασης θα κάνει αδύνατη την αυτόματη σύνδεση στο μέλλον. Συνέχεια;"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Ασθενές"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Excellent"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Good"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Scan"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Connected"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Connecting..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Disconnecting..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "Dynamic IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "No APs"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Security type"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "Static IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Hidden network"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Activating Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Deactivating Wi-Fi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Searching..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Select network"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Forget"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Input password"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Show password"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Proxy address"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Signal strength"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP address"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Subnet mask"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Gateway"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Deactivating..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "No security"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Network notification"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Select network"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Forgetting access point will prevent future automatic connection. Continue?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Weak"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Excelente"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Buena"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Buscar"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Conectado"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Conectando..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Desconectando..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "IP dinámica"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "No hay AP"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Tipo de seguridad"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "IP estática"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Red oculta"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Activando Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Desactivando Wi-Fi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Buscando..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Seleccionar red"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Cancelar"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Introducir contraseña"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Mostrar contraseña"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Dirección de proxy"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Intensidad de la señal"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "Dirección IP"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Máscara de subred"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Puerta de enlace"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Desactivando..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Sin seguridad"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Notificación de red"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Seleccionar red"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Olvidar el punto de acceso impedirá la conexión automática en el futuro. ¿Continuar?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Débil"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Excellent"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Correct"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Analyser"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Connecté"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Connexion..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Déconnexion..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "IP dynamique"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "Aucun AP"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Type de sécurité"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "IP statique"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Réseau masqué"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Activation Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Désactivation Wi-Fi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Recherche..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Sélectionner un réseau"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Oublier"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Entrez le mot de passe"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Afficher le mot de passe"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Adresse de proxy"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Force du signal"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "Adresse IP"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Masque de sous-réseau"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Passerelle"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Désactivation..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Pas de sécurité"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Notification réseau"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Sélectionner un réseau"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Si vous oubliez le point d'accès, la connexion automatique sera désactivée. Continuer ?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Faible"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Eccellente"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Buono"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Scansione"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Connesso"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Connessione..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Disconnessione..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "IP dinamico"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "Nessuna rete Wi-Fi"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Tipo protezione"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "IP statico"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Rete nascosta"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Attivazione Wi-Fi in corso"
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Disattivazione Wi-Fi in corso"
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Ricerca..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Selezione rete"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Rimuovi"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Inserisci password"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Mostra password"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Indirizzo proxy"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Potenza del segnale"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "Indirizzo IP"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Maschera di sottorete"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Gateway"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Disattivazione..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Nessuna protezione"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Notifica di rete"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Selezione rete"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Se si dimentica il punto di accesso, non sarà possibile connettersi automaticamente in futuro. Continuare?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Debole"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "優秀"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "強"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "スキャン"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "接続しました。"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "接続中..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "切断中..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "ダイナミックIP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "アプリケーションなし"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "セキュリティタイプ"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "静的IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "非表示ネットワーク"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Wi-Fiを起動中..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Wi-Fiを無効にしています..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "検索中..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "ネットワークを選択"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "切断"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "パスワードを入力してください"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "パスワードを表示"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "プロキシアドレス"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "電波強度"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IPアドレス"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "サブネットマスク"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "ゲートウェイ"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "解除中…"
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "セキュリティ保護なし"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "ネットワーク通知"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "ネットワークを選択"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "アクセスポイントの接続情報を消去すると、自動接続ができなくなります。続行しますか?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "弱い"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "매우 좋음"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "좋음"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "검색"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "연결되었습니다"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "연결 중..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "연결을 끊는 중..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "유동 IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "APs가 없습니다"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "보안 형식"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "고정 IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "허용되지 않은 네트워크"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Wi-Fi 실행 중..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Wi-Fi 연결을 끊는 중..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "검색 중..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "네트워크를 선택하세요"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "저장 안 함"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "비밀번호를 입력하세요"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "비밀번호 표시"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "프록시 주소"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "신호 세기"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP 주소"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "서브넷 마스크"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "게이트웨이"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "해제 중..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "보안 기능 사용하지 않음"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "네트워크 알림"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "네트워크 선택"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "액세스 포인트 정보를 기억하지 않으면 이후 자동 연결을 방지할 수 있습니다. 계속할까요?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "약함"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Uitstekend"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Goed"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Scannen"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Verbonden"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Verbinden..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Verbinding verbreken..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "Dynamische IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "Geen AP’s"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Beveiligingstype"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "Vast IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Verborgen netwerk"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Wi-Fi activeren..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Wi-Fi deactiveren..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Zoeken..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Netwerk kiezen"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Vergeten"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Wachtwoord ingeven"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Wachtwoord tonen"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Proxyadres"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Signaalsterkte"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP-adres"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Subnetmasker"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Gateway"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Uitschakelen..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Geen beveiliging"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Netwerkmelding"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Netwerk kiezen"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Als u het toegangspunt niet opgeeft, kunt u later niet automatisch verbinden. Doorgaan?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Zwak"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Excelente"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Bom"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Pesquisar"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Ligado"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "A ligar..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "A desligar..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "IP dinâmico"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "Nenhuns APs"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Tipo de segurança"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "IP estático"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Rede oculta"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "A activar Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "A desactivar Wi-Fi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "A procurar..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Seleccionar rede"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Esquecer"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Introduzir palavra-passe"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Mostrar palavra-passe"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Endereço proxy"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Potência do sinal"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "Endereço IP"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Máscara de sub-rede"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Gateway"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "A desactivar..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Sem segurança"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Notificação de rede"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Seleccionar rede"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "O esquecimento do ponto de acesso impedirá a ligação automática futura. Continuar?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Fraca"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Супер"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "Хороший"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Поиск"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Подключено"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Подключение..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Отключение..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "Динамический IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "Нет точек доступа"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Тип защиты"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "Статический IP-адрес"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Скрытая сеть"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Активация Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Выключение Wi-Fi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Поиск..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Выбор сети"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Забыть"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Введите пароль"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Показать пароль"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Адрес прокси"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Уровень сигнала"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP-адрес"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Маска подсети"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Шлюз"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Выключение..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Нет защиты"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Уведомление о сетях"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Выбор сети"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Удаление данных о точке доступа предотвратит автоматическое подключение в будущем. Продолжить?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Слабый"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "Harika..!!"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "İyi"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "Tara"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "Bağlantı kuruldu"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "Bağlanılıyor..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "Bağlantı kesiliyor..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "Dinamik IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "AP Yok"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "Güvenlik tipi"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "Statik IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "Gizli ağ"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "Wi-Fi etkinleştiriliyor..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "Wi-Fi devre dışı bırakılıyor..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "Aranıyor..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "Şebeke seçimi"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "Unut"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Şifre giriniz"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Parolayı göster"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "Proxy adresi"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "Sinyal kuvveti"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP adresi"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "Alt ağ maskesi"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "Ağ geçidi"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "Devreden çıkartılıyor..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "Güvenlik yok"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "Ağ bildirimi"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Şebeke seçimi"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "Erişim noktasını unutmak ileride otomatik bağlantıyı engeller. Devam edilsin mi?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "Zayıf"
-
+++ /dev/null
-#!/bin/sh
-
-PACKAGE=ug-wifi-efl
-SRCROOT=..
-POTFILES=POTFILES.in
-
-#ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW
-ALL_LINGUAS="en_US en_GB ja ko zh_CN"
-
-XGETTEXT=/usr/bin/xgettext
-MSGMERGE=/usr/bin/msgmerge
-
-echo -n "Make ${PACKAGE}.pot "
-if [ ! -e $POTFILES ] ; then
- echo "$POTFILES not found"
- exit 1
-fi
-
-$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
- --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES
-if [ $? -ne 0 ]; then
- echo "error"
- exit 1
-fi
-
-if [ ! -f ${PACKAGE}.po ]; then
- echo "No such file: ${PACKAGE}.po"
- exit 1
-fi
-
-rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot
-echo "done"
-
-for LANG in $ALL_LINGUAS; do
- echo "$LANG : "
-
- if [ ! -e $LANG.po ] ; then
- sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
- echo "${LANG}.po created"
- else
- if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
- if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
- rm -f ${LANG}.new.po
- else
- if mv -f ${LANG}.new.po ${LANG}.po; then
- echo ""
- else
- echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
- rm -f ${LANG}.new.po
- exit 1
- fi
- fi
- else
- echo "msgmerge for $LANG failed!"
- rm -f ${LANG}.new.po
- fi
- fi
- echo ""
-done
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "棒极了"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "好"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "扫描"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "已连接"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "连接中..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "正在断开..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "动态 IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "没有Ap"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "安全类型"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "静态IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "隐藏的网络"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "正在激活WLAN..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "正在取消WLAN..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "正在搜索"
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "选择网络"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "忘记"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "输入密码"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "显示密码"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "代理服务器地址"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "信号强度"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP 地址"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "子网时标"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "网关"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "正在取消..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "不安全"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "网络通知"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "选择网络"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "忘记接入点将阻止将来自动连接。继续?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "弱"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "極佳"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "良好"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "掃描"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "已連接"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "連接中..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "正在中斷連接..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "動態 IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "沒有接入點"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "安全類型"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "靜態 IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "隱藏網絡"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "正在啟動 Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "正在關閉 WiFi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "正在搜尋..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "選擇網絡"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "忘記"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "輸入密碼"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "顯示密碼"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "代理伺服器位址"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "訊號強度"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP 位址"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "子網絡範圍"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "網關"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "正在關閉..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "不安全"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "網絡通知"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "選擇網絡"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "忘記接入點將妨礙日後自動連接。是否繼續?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "弱"
-
+++ /dev/null
-msgid "IDS_ST_BODY_EXCELLENT"
-msgstr "棒極了"
-
-msgid "IDS_ST_BODY_GOOD_M_STRENGTH"
-msgstr "良好"
-
-msgid "IDS_ST_BODY_SCAN"
-msgstr "掃描"
-
-msgid "IDS_WIFI_BODY_CONNECTED"
-msgstr "已連線"
-
-msgid "IDS_WIFI_BODY_CONNECTING_ING"
-msgstr "連線中..."
-
-msgid "IDS_WIFI_BODY_DISCONNECTING_ING"
-msgstr "正在中斷連線..."
-
-msgid "IDS_WIFI_BODY_DYNAMIC_IP"
-msgstr "動態 IP"
-
-msgid "IDS_WIFI_BODY_NO_APS"
-msgstr "沒有接入點"
-
-msgid "IDS_WIFI_BODY_SECURITY_TYPE"
-msgstr "安全性類型"
-
-msgid "IDS_WIFI_BODY_STATIC_IP"
-msgstr "靜態 IP"
-
-msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK"
-msgstr "隱藏網路"
-
-msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"
-msgstr "正在啟動 Wi-Fi..."
-
-msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"
-msgstr "正在停用 Wi-Fi..."
-
-msgid "IDS_WIFI_POP_SEARCHING_ING"
-msgstr "正在搜尋..."
-
-msgid "IDS_WIFI_POP_SELECT_NETWORK"
-msgstr "選擇網路"
-
-msgid "IDS_WIFI_SK_FORGET"
-msgstr "清除"
-
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "輸入密碼"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "顯示密碼"
-
-msgid "IDS_WIFI_HEADER_PROXY_ADDRESS"
-msgstr "代理伺服器位址"
-
-msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH"
-msgstr "訊號強度"
-
-msgid "IDS_WIFI_BODY_IP_ADDRESS"
-msgstr "IP 位址"
-
-msgid "IDS_WIFI_BODY_SUBNET_MASK"
-msgstr "子網路遮罩"
-
-msgid "IDS_WIFI_BODY_GATEWAY"
-msgstr "閘道"
-
-msgid "IDS_WIFI_BODY_DNS_1"
-msgstr "DNS 1"
-
-msgid "IDS_WIFI_BODY_DNS_2"
-msgstr "DNS 2"
-
-msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP"
-msgstr "WEP"
-
-msgid "IDS_ST_POP_DEACTIVATING_ING"
-msgstr "正在停用..."
-
-msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"
-msgstr "不設置安全性"
-
-msgid "IDS_ST_BODY_NETWORK_NOTIFICATION"
-msgstr "網路通知"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "選擇網路"
-
-msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"
-msgstr "不儲存Wi-Fi連接點以防止系統自動連接。要繼續嗎?"
-
-msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH"
-msgstr "弱"
-
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#ifndef __DEF_POPUP_H_
-#define __DEF_POPUP_H_
-
-
-typedef enum {
- POPUP_MODE_OFF=0X01,
- POPUP_MODE_PBC,
- POPUP_MODE_PIN,
- POPUP_MODE_REGISTER_FAILED,
- POPUP_MODE_POWER_ON_FAILED,
- POPUP_MODE_CONNECTING_FAILED,
- POPUP_MODE_INPUT_FAILED,
- POPUP_MODE_ETC,
- POPUP_MODE_MAX
-} POPUP_MODES;
-
-typedef enum {
- POPUP_OPTION_NONE=0X01,
- POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED,
- POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT,
- POPUP_OPTION_CONNECTING_FAILED_TIMEOUT,
- POPUP_OPTION_CONNECTING_FAILED_INVALID_OPERATION,
- POPUP_OPTION_CONNECTIONG_PASSWORD_WEP_ERROR,
- POPUP_OPTION_CONNECTIONG_PASSWORD_WPAPSK_ERROR,
- POPUP_OPTION_INPUT_FAILED_PROXY_IP_MISTYPE,
- POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR,
- POPUP_OPTION_ETC_BACK_ENABLE_WHEN_CONNECTED_ERROR,
- POPUP_OPTION_MAX
-} POPUP_MODE_OPTIONS;
-
-typedef struct popup_manager_object {
- POPUP_MODES mode;
- Evas_Object* content;
- Evas_Object* progressbar;
- Evas_Object* win;
-} popup_manager_object;
-
-
-void* winset_popup_create(Evas_Object* win);
-int winset_popup_mode_set(void* object, POPUP_MODES mode, POPUP_MODE_OPTIONS option);
-int winset_popup_simple_set(const char* text);
-POPUP_MODES winset_popup_mode_get(void* object);
-int winset_popup_destroy(void* object);
-Evas_Object* winset_popup_content_get(void* object);
-int winset_popup_content_set(Evas_Object* object);
-int winset_popup_content_clear();
-int winset_popup_stop(void* object);
-int winset_popup_timer_remove(void);
-
-#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
void view_detail(wifi_device_info_t *device_info);
-int view_detail_current_proxy_address_set(const char* proxy_address);
-const char* view_detail_current_proxy_address_get(void);
int detailview_ip_and_dns_type_set_as_static();
int detailview_modified_ip_address_set(char* data);
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#ifndef __VIEW_DETAIL_DATAMODEL_H_
-#define __VIEW_DETAIL_DATAMODEL_H_
-
-#include "wlan_manager.h"
-
-///////////////////////////////////////////////////////////////
-// managing function
-///////////////////////////////////////////////////////////////
-int view_detail_datamodel_create(const char *profile_name);
-int view_detail_datamodel_destroy(void);
-///////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////
-// determine it`s changeness
-///////////////////////////////////////////////////////////////
-void view_detail_datamodel_determine_modified(const char *profile_name);
-int view_detail_datamodel_determine_staticip_modified(void);
-///////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////
-// getter and setter
-///////////////////////////////////////////////////////////////
-int view_detail_datamodel_ip_and_dns_type_set(IP_TYPES type);
-IP_TYPES view_detail_datamodel_ip_and_dns_type_get(void);
-
-int view_detail_datamodel_proxy_address_set(const char* proxy);
-const char* view_detail_datamodel_proxy_address_get(void);
-
-int view_detail_datamodel_static_ip_address_set(const char* addr);
-int view_detail_datamodel_static_gateway_address_set(const char* addr);
-int view_detail_datamodel_static_subnet_mask_set(const char* addr);
-int view_detail_datamodel_static_dns1_address_set(const char* addr);
-int view_detail_datamodel_static_dns2_address_set(const char* addr);
-
-char* view_detail_datamodel_static_ip_address_get(void);
-char* view_detail_datamodel_static_gateway_address_get(void);
-char* view_detail_datamodel_static_subnet_mask_get(void);
-char* view_detail_datamodel_static_dns1_address_get(void);
-char* view_detail_datamodel_static_dns2_address_get(void);
-///////////////////////////////////////////////////////////////
-
-#endif
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#ifndef __VIEW_DHCPIP_H_
-#define __VIEW_DHCPIP_H_
-
-
-void view_dhcpip(void);
-
-#endif
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#ifndef __VIEW_EAP_H_
-#define __VIEW_EAP_H_
-
-typedef enum {
- EAP_SEC_TYPE_PEAP = 0,
- EAP_SEC_TYPE_TLS,
- EAP_SEC_TYPE_TTLS ,
- EAP_SEC_TYPE_SIM,
- EAP_SEC_TYPE_AKA ,
- EAP_SEC_TYPE_NULL
-} eap_type_t;
-
-void view_eap(wifi_device_info_t *device_info);
-
-#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#define __VIEW_IME_HIDDEN_H_
-typedef enum {
- HIDDEN_AP_SECURITY_PUBLIC = 0,
- HIDDEN_AP_SECURITY_WEP = 1,
- HIDDEN_AP_SECURITY_WPAPSK = 2,
- HIDDEN_AP_SECURITY_ENTERPRISE = 3,
- HIDDEN_AP_SECURITY_DYNAMICWEP = 4
-} hidden_ap_security_type_t;
+typedef struct hiddep_ap_popup_data hiddep_ap_popup_data_t;
-void view_ime_hidden(void);
+hiddep_ap_popup_data_t *view_hidden_ap_popup_create(Evas_Object *win_main, const char *str_pkg_name);
+void view_hidden_ap_popup_destroy(hiddep_ap_popup_data_t *popup_data);
+const char *view_ime_hidden_popup_get_ssid(hiddep_ap_popup_data_t *popup_data);
#endif
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#ifndef __VIEW_IME_PASSWORD_H_
-#define __VIEW_IME_PASSWORD_H_
-
-#include "wlan_manager.h"
-
-void view_ime_password(wifi_device_info_t *device_info);
-void view_ime_password_destroy(void);
-
-#endif
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#ifndef __VIEW_STATICIP_H_
-#define __VIEW_STATICIP_H_
-
-void view_staticip(void);
-
-#endif
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "wifi.h"
-#include "popup.h"
-#include "wlan_manager.h"
-#include "i18nmanager.h"
-#include "viewer_manager.h"
-
-
-#define POPUP_LAYOUT_TEXT_MAX 100
-
-static Ecore_Timer *timer = NULL;
-static popup_manager_object* manager_object = NULL;
-
-static int checker = 0;
-static double value = 0.0;
-
-
-static void _timeout_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (obj)
- evas_object_del(obj);
-}
-
-void* winset_popup_create(Evas_Object* win)
-{
- manager_object = (popup_manager_object *)g_malloc0(sizeof(popup_manager_object));
- manager_object->win = win;
- manager_object->mode = POPUP_MODE_OFF;
- return NULL;
-}
-
-static void pbc_popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if (checker == 0) {
- checker = 1;
-
- if (timer != NULL) {
- ecore_timer_del(timer);
- timer = NULL;
- }
-
- wlan_manager_request_cancel_wps_connection((char*) data);
- winset_popup_mode_set (NULL, POPUP_MODE_OFF, POPUP_OPTION_NONE);
-
- if (manager_object->content != NULL) {
- evas_object_hide(manager_object->content);
- evas_object_del(manager_object->content);
- manager_object->content = NULL;
- }
-
- checker = 0;
- }
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void _mobilehotspot_disable_cb(DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data)
-{
- __COMMON_FUNC_ENTER__;
-
- GError *err = NULL;
- guint type;
- guint result;
- DBusGConnection *bus = user_data;
-
- dbus_g_proxy_end_call(proxy, call, &err, G_TYPE_UINT, &type,
- G_TYPE_UINT, &result, G_TYPE_INVALID);
- if (err != NULL) {
- INFO_LOG(COMMON_NAME_LIB, "Error occured [%s]\n", err->message);
- g_error_free(err);
- } else {
- INFO_LOG(COMMON_NAME_LIB, "TYPE = %d, Result = %d\n", type, result);
- if (type == 1 && result == 0) {
- INFO_LOG(COMMON_NAME_LIB, "OK\n");
- power_control();
- }
- }
-
- g_pending_call.is_handled = TRUE;
-
- g_object_unref(proxy);
- dbus_g_connection_unref(bus);
-
- __COMMON_FUNC_EXIT__;
-}
-
-int mobilehotspot_deactivate()
-{
- __COMMON_FUNC_ENTER__;
-
- DBusGConnection *bus;
- DBusGProxy *proxy;
- GError *error= NULL;
-
- bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
- if (error != NULL) {
- INFO_LOG(COMMON_NAME_LIB, "Couldn't connect to the system bus");
- g_error_free(error);
- return FALSE;
- }
-
- proxy = dbus_g_proxy_new_for_name(bus,
- "org.tizen.mobileap", /* name */
- "/MobileAP", /* obj path */
- "org.tizen.mobileap");/* interface */
- if (proxy == NULL) {
- INFO_LOG(COMMON_NAME_LIB, "Couldn't create the proxy object");
- dbus_g_connection_unref(bus);
- return FALSE;
- }
-
- g_pending_call.pending_call = dbus_g_proxy_begin_call(proxy, "disable_wifi_tethering",
- _mobilehotspot_disable_cb, bus, NULL, G_TYPE_INVALID);
-
- g_pending_call.proxy = proxy;
- g_pending_call.is_handled = FALSE;
-
- __COMMON_FUNC_EXIT__;
- return TRUE;
-}
-
-void _ok_clicked_cb(void* data, Evas_Object* obj, void* event_info)
-{
- if (data) {
- evas_object_del(data);
- }
-}
-
-void _retry_clicked_cb(void* data, Evas_Object* obj, void* event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- INFO_LOG(UG_NAME_NORMAL, "Response OK");
-
- switch (wlan_manager_start()) {
- case WLAN_MANAGER_ERR_NONE:
- break;
- case WLAN_MANAGER_ERR_ALREADY_REGISTERED:
- winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_NONE);
- return;
- case WLAN_MANAGER_ERR_UNKNOWN:
- winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED);
- return;
- default:
- __COMMON_FUNC_EXIT__;
- return;
- }
-
- char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = "";
- switch (wlan_manager_state_get(profile_name)) {
- case WLAN_MANAGER_OFF:
- ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-off\n");
- viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS);
- break;
- case WLAN_MANAGER_UNCONNECTED:
- ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connecting\n");
- case WLAN_MANAGER_CONNECTING:
- ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-on\n");
- viewer_manager_hide(VIEWER_WINSET_SEARCHING);
- viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS);
- break;
- case WLAN_MANAGER_CONNECTED:
- ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connected\n");
- viewer_manager_hide(VIEWER_WINSET_SEARCHING);
- viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS);
- break;
- case WLAN_MANAGER_ERROR:
- winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR);
- break;
- default:
- winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR);
- break;
- }
-
- __COMMON_FUNC_EXIT__;
-}
-
-void _back_clicked_cb(void* data, Evas_Object* obj, void* event_info)
-{
- INFO_LOG(UG_NAME_NORMAL, "Response CANCEL");
- wifi_exit();
-}
-
-void _turn_off_mobileap_yes_clicked_cb(void* data, Evas_Object* obj, void* event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- INFO_LOG(UG_NAME_NORMAL, "Response OK");
- if (mobilehotspot_deactivate()) {
- INFO_LOG(UG_NAME_NORMAL, "Mobile AP return value TRUE");
- } else {
- INFO_LOG(UG_NAME_NORMAL, "Mobile AP return value FALSE");
- }
-
- __COMMON_FUNC_EXIT__;
-}
-
-void _turn_off_mobileap_no_clicked_cb(void* data, Evas_Object* obj, void* event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- INFO_LOG(UG_NAME_NORMAL, "Response CANCEL");
- viewer_manager_header_mode_set(HEADER_MODE_OFF);
-
- __COMMON_FUNC_EXIT__;
-}
-
-/* Mobile-AP popup callback */
-void _popup_out_of_wifi_yes_cb(void* data, Evas_Object* obj, void* event_info)
-{
- INFO_LOG(UG_NAME_NORMAL, "Response OK");
- wifi_exit();
-}
-
-void _popup_out_of_wifi_no_cb(void* data, Evas_Object* obj, void* event_info)
-{
- INFO_LOG(UG_NAME_NORMAL, "Response CANCEL");
- if (data) {
- evas_object_del(data);
- }
-}
-
-int winset_popup_timer_remove(void)
-{
- if(timer != NULL) {
- ecore_timer_del(timer);
- timer = NULL;
- return TRUE;
- }
- return FALSE;
-}
-
-int winset_popup_stop(void* object)
-{
- __COMMON_FUNC_ENTER__;
- value = 1.0;
- __COMMON_FUNC_EXIT__;
- return TRUE;
-}
-
-static int _fn_pb_timer_bar(void *data)
-{
- if (timer == NULL || manager_object->progressbar == NULL) {
- return 0;
- }
-
- value = 0.0;
- value = elm_progressbar_value_get(manager_object->progressbar);
- if (value >= 1) {
- if (checker == 0) {
- checker = 1;
-
- __COMMON_FUNC_ENTER__;
-
- wlan_manager_request_cancel_wps_connection((char*) data);
-
- char message[128] = "one click connection failed";
-
- winset_popup_mode_set (manager_object, POPUP_MODE_OFF, POPUP_OPTION_NONE);
- evas_object_hide(manager_object->content);
- evas_object_del(manager_object->content);
- manager_object->content = NULL;
-
- checker = 0;
-
- Evas_Object*instance_popup = elm_popup_add(manager_object->win);
- elm_object_text_set(instance_popup, message);
- elm_popup_timeout_set(instance_popup, 3.0f);
- evas_object_smart_callback_add(instance_popup, "timeout", _timeout_cb, NULL);
- evas_object_size_hint_weight_set(instance_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_popup_orient_set(instance_popup, ELM_POPUP_ORIENT_CENTER);
- evas_object_show(instance_popup);
- INFO_LOG(UG_NAME_NORMAL, "Back button");
-
- __COMMON_FUNC_EXIT__;
- return 0;
- }
- } else {
- value += 0.001;
- }
-
- elm_progressbar_value_set(manager_object->progressbar, value);
-
- return 1;
-}
-
-int winset_popup_simple_set(const char* text)
-{
- __COMMON_FUNC_ENTER__;
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, text);
- Evas_Object *btn_ok = elm_button_add(manager_object->content);
- elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
- elm_object_part_content_set(manager_object->content, "button1", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content);
- evas_object_show(manager_object->content);
-
- return TRUE;
-}
-
-static POPUP_MODES _popup_mode;
-static POPUP_MODE_OPTIONS _popup_option;
-
-static int _winset_popup_mode_set(void* data)
-{
- __COMMON_FUNC_ENTER__;
-
- POPUP_MODES mode = _popup_mode;
- POPUP_MODE_OPTIONS option = _popup_option;
-
- if(NULL != manager_object->content) {
- evas_object_del(manager_object->content);
- manager_object->content = NULL;
- }
- switch (manager_object->mode) {
- case POPUP_MODE_OFF:
- if (POPUP_MODE_PBC == mode) {
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, _("Push the wps button"));
- Evas_Object *btn_cancel = elm_button_add(manager_object->content);
- elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel));
- elm_object_part_content_set(manager_object->content, "button1", btn_cancel);
- evas_object_smart_callback_add(btn_cancel, "clicked", pbc_popup_cb, data);
- evas_object_show(manager_object->content);
-
- manager_object->progressbar = elm_progressbar_add(manager_object->content);
- elm_progressbar_horizontal_set(manager_object->progressbar, EINA_TRUE);
-
- elm_object_style_set(manager_object->progressbar, "list_progress");
- evas_object_size_hint_align_set(manager_object->progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(manager_object->progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_content_set(manager_object->content, manager_object->progressbar);
- elm_progressbar_span_size_set(manager_object->progressbar, 250);
- elm_progressbar_value_set(manager_object->progressbar, 0.0);
- timer = ecore_timer_add(0.1, (Ecore_Task_Cb) _fn_pb_timer_bar, data);
- elm_progressbar_unit_format_set(manager_object->progressbar, NULL);
-
- } else if (POPUP_MODE_REGISTER_FAILED == mode){
- switch(option) {
- case POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED:
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, "connman is not working now");
- Evas_Object *btn_retry = elm_button_add(manager_object->content);
- elm_object_text_set(btn_retry, "Retry");
- elm_object_part_content_set(manager_object->content, "button1", btn_retry);
- evas_object_smart_callback_add(btn_retry, "clicked", _retry_clicked_cb, NULL);
- Evas_Object *btn_back = elm_button_add(manager_object->content);
- elm_object_text_set(btn_retry, "Back");
- elm_object_part_content_set(manager_object->content, "button2", btn_back);
- evas_object_smart_callback_add(btn_retry, "clicked", _back_clicked_cb, NULL);
- evas_object_show(manager_object->content);
- break;
-
- default:
- manager_object->content = elm_popup_add(manager_object->win);
- elm_object_text_set(manager_object->content, _("[ERROR] wlan_client func<br>wlan_client_register"));
- Evas_Object *btn_ok = elm_button_add(manager_object->content);
- elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
- elm_object_part_content_set(manager_object->content, "button1", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content);
- evas_object_show(manager_object->content);
- break;
- }
-
- } else if (POPUP_MODE_POWER_ON_FAILED == mode) {
- switch (option) {
- case POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT:
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, "Connecting Wi-Fi will turn off Mobile hotspot. Continue?");
- Evas_Object *btn_yes = elm_button_add(manager_object->content);
- elm_object_text_set(btn_yes, sc(PACKAGE, I18N_TYPE_Yes));
- elm_object_part_content_set(manager_object->content, "button1", btn_yes);
- evas_object_smart_callback_add(btn_yes, "clicked", _turn_off_mobileap_yes_clicked_cb, NULL);
- Evas_Object *btn_no = elm_button_add(manager_object->content);
- elm_object_text_set(btn_no, sc(PACKAGE, I18N_TYPE_No));
- elm_object_part_content_set(manager_object->content, "button2", btn_no);
- evas_object_smart_callback_add(btn_no, "clicked", _turn_off_mobileap_no_clicked_cb, NULL);
- evas_object_show(manager_object->content);
- break;
- default:
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, "wlan_client_power_on fail");
- Evas_Object *btn_ok = elm_button_add(manager_object->content);
- elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
- elm_object_part_content_set(manager_object->content, "button1", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content);
- break;
- }
- evas_object_show(manager_object->content);
-
- } else if (POPUP_MODE_CONNECTING_FAILED == mode) {
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- Evas_Object *btn_ok = elm_button_add(manager_object->content);
- elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
- elm_object_part_content_set(manager_object->content, "button1", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content);
-
- char buffer[POPUP_LAYOUT_TEXT_MAX+1];
-/*
- * FIX ME LATER
- * It will be fixed to use i18n function when elm_popup bug fixing work done
- * ex) str = i18n_manager_get_text(I18N_TYPE_Connection_attempt...);
- */
- char* str = NULL;
-
- switch (option) {
- case POPUP_OPTION_CONNECTING_FAILED_TIMEOUT:
- str = "No response from<br>Wi-Fi Access Point";
- break;
- case POPUP_OPTION_CONNECTING_FAILED_INVALID_OPERATION:
- str = "[ERROR]<br>wlan_client_open_connection<br>return INVALID OPERATION";
- break;
- case POPUP_OPTION_CONNECTIONG_PASSWORD_WEP_ERROR:
- str = "WEP requires 5, 10, 13, 26 letters for a password.<br>Please, check your input.";
- break;
- case POPUP_OPTION_CONNECTIONG_PASSWORD_WPAPSK_ERROR:
- str = "WPA2 requires 8 - 63 letters for a password.<br>Please, check your input.";
- break;
- case POPUP_OPTION_NONE:
- str = "NONE";
- break;
- default:
- str = "Connection attempt failed";
- break;
- }
-
- INFO_LOG(UG_NAME_NORMAL,"popup str [%s] by option [%d]", str, option);
- if(NULL != str) {
- int len = strlen(str);
- if(len+1 <= POPUP_LAYOUT_TEXT_MAX+1) {
- snprintf(buffer, len+1, "%s", str);
- }
- }
-
- elm_object_text_set(manager_object->content, buffer);
- evas_object_show(manager_object->content);
-
- } else if (POPUP_MODE_INPUT_FAILED == mode) {
- char* text = NULL;
- switch(option){
- case POPUP_OPTION_INPUT_FAILED_PROXY_IP_MISTYPE :
- text = _("Please, input a valid address.");
- break;
- default:
- text = _("Type error");
- break;
- }
-
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, text);
- Evas_Object *btn_ok = elm_button_add(manager_object->content);
- elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
- elm_object_part_content_set(manager_object->content, "button1", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content);
-
- evas_object_show(manager_object->content);
-
- } else if (POPUP_MODE_PIN == mode) {
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, _("Enter PIN code"));
- Evas_Object *btn_cancel = elm_button_add(manager_object->content);
- elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel));
- elm_object_part_content_set(manager_object->content, "button1", btn_cancel);
- evas_object_smart_callback_add(btn_cancel, "clicked", _ok_clicked_cb, manager_object->content);
- evas_object_show(manager_object->content);
-
- manager_object->progressbar = elm_progressbar_add(manager_object->content);
- elm_object_style_set(manager_object->progressbar, "list_progress");
- evas_object_size_hint_align_set(manager_object->progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(manager_object->progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_unit_format_set(manager_object->progressbar, NULL);
- elm_object_content_set(manager_object->content, manager_object->progressbar);
- timer = ecore_timer_add(0.1, (Ecore_Task_Cb) _fn_pb_timer_bar, manager_object->progressbar);
-
- } else if (POPUP_MODE_ETC) {
- switch (option) {
- case POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR:
- manager_object->content = elm_popup_add(manager_object->win);
- elm_object_text_set(manager_object->content, _("[ERROR] wlan_client func<br>wlan_client_get_state"));
- Evas_Object *btn_ok = elm_button_add(manager_object->content);
- elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
- elm_object_part_content_set(manager_object->content, "button1", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content);
- evas_object_show(manager_object->content);
- break;
- case POPUP_OPTION_ETC_BACK_ENABLE_WHEN_CONNECTED_ERROR:
- manager_object->content = elm_popup_add(manager_object->win);
- evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(manager_object->content, "Wi-Fi is not connected yet<br>Will you out of Wi-Fi?");
- Evas_Object *btn_yes = elm_button_add(manager_object->content);
- elm_object_text_set(btn_yes, sc(PACKAGE, I18N_TYPE_Yes));
- elm_object_part_content_set(manager_object->content, "button1", btn_yes);
- evas_object_smart_callback_add(btn_yes, "clicked", _popup_out_of_wifi_yes_cb, manager_object->content);
- Evas_Object *btn_no = elm_button_add(manager_object->content);
- elm_object_text_set(btn_no, sc(PACKAGE, I18N_TYPE_No));
- elm_object_part_content_set(manager_object->content, "button1", btn_no);
- evas_object_smart_callback_add(btn_no, "clicked", _popup_out_of_wifi_no_cb, manager_object->content);
- evas_object_show(manager_object->content);
- break;
- case POPUP_OPTION_NONE:
- break;
- default:
- break;
- }
- }
- break;
- default:
- if (POPUP_MODE_OFF == mode) {
- if (manager_object->content) {
- evas_object_hide(manager_object->content);
- evas_object_del(manager_object->content);
- manager_object->content = NULL;
- }
- }
- break;
- }
- __COMMON_FUNC_EXIT__;
- return FALSE;
-}
-
-/**
- * FIX ME LATER
- *
- * This function had re-factored as elm_popup's bug
- *
- */
-int winset_popup_mode_set(void* object, POPUP_MODES mode, POPUP_MODE_OPTIONS option)
-{
- _popup_mode = mode;
- _popup_option = option;
- ecore_idler_add( (Ecore_Task_Cb) _winset_popup_mode_set, object);
- return TRUE;
-}
-
-POPUP_MODES winset_popup_mode_get(void* object)
-{
- return manager_object->mode;
-}
-
-int winset_popup_destroy(void* object)
-{
- if (timer != NULL) {
- ecore_timer_del(timer);
- timer = NULL;
- }
-
- if (NULL != manager_object->content) {
- evas_object_del(manager_object->content);
- manager_object->content = NULL;
- }
-
- g_free(manager_object);
- return TRUE;
-}
-
-Evas_Object* winset_popup_content_get(void* object)
-{
- return manager_object->content;
-}
-
-int winset_popup_content_set(Evas_Object* object)
-{
- manager_object->content = object;
- return TRUE;
-}
-
-int winset_popup_content_clear()
-{
- evas_object_hide(manager_object->content);
- evas_object_del(manager_object->content);
- manager_object->content = NULL;
- return TRUE;
-}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "wifi.h"
#include "view_detail.h"
-#include "view_detail_datamodel.h"
-#include "view_staticip.h"
-#include "view_dhcpip.h"
#include "i18nmanager.h"
#include "viewer_manager.h"
#include "connman-profile-manager.h"
-#include "popup.h"
-
-
-static Elm_Genlist_Item_Class grouptitle_itc ;
-static Elm_Genlist_Item_Class staticip_itc ;
-static Elm_Genlist_Item_Class dhcpip_itc ;
-static Elm_Genlist_Item_Class seperator_itc ;
-static Elm_Genlist_Item_Class description_itc ;
-static Elm_Genlist_Item_Class proxy_itc ;
+#include "winset_popup.h"
+#include "common_utils.h"
+#include "common_ip_info.h"
+#include "common_eap_connect.h"
+#include "common_datamodel.h"
typedef struct _view_detail_data {
- char *profile_name;
- char *ssid;
- int rssi;
- int security_mode;
+ Evas_Object *layout;
+ char *ap_image_path;
+ view_datamodel_basic_info_t *data_object;
+ eap_info_list_t *eap_info_list;
+ ip_info_list_t *ip_info_list;
+ Evas_Object *forget_confirm_popup;
+ Evas_Object *view_detail_list;
} view_detail_data;
-view_detail_data *_detail_data = NULL;
-
-typedef struct _view_detail_description_data {
- char* title;
- char* description;
-} _view_detail_description_data;
-
-
-static Evas_Object* _list = NULL;
-static Elm_Object_Item* _button_forget_item = NULL;
-static Elm_Object_Item* dhcpip_item = NULL;
-static Elm_Object_Item* staticip_item = NULL;
static int view_detail_end = TRUE;
/* function declaration */
static void detailview_sk_cb(void *data, Evas_Object *obj, void *event_info);
static void forget_sk_cb(void *data, Evas_Object *obj, void *event_info);
-static void resource_remove_and_pop(void);
-static void _detailview_staticip_button_cb(void* data, Evas_Object* obj, void* event_info);
-static void _detailview_dhcpip_button_cb(void* data, Evas_Object* obj, void* event_info);
-
///////////////////////////////////////////////////////////////
// implementation
///////////////////////////////////////////////////////////////
-int view_detail_current_proxy_address_set(const char* proxy_address)
-{
- return view_detail_datamodel_proxy_address_set(proxy_address);
-}
-
-const char* view_detail_current_proxy_address_get(void){
- return view_detail_datamodel_proxy_address_get();
-}
-
-static void _remove_all(void)
-{
- __COMMON_FUNC_ENTER__;
-
- if(_list) {
- evas_object_del(_list);
- }
-
- if (_detail_data) {
- g_free(_detail_data);
- _detail_data = NULL;
- }
-
- view_detail_datamodel_destroy();
-
- __COMMON_FUNC_EXIT__;
-}
-
-int detailview_ip_and_dns_type_set_as_static()
-{
- view_detail_datamodel_ip_and_dns_type_set(IP_TYPE_STATIC_IP);
-
- if(NULL != dhcpip_item) {
- elm_genlist_item_update(dhcpip_item);
- }
- if(NULL != staticip_item) {
- elm_genlist_item_update(staticip_item);
- }
-
- return TRUE;
-}
-
-int detailview_modified_ip_address_set(char* data){
- /* data can be NULL */
- view_detail_datamodel_static_ip_address_set((const char*) data);
- return TRUE;
-}
-int detailview_modified_gateway_address_set(char* data){
- /* data can be NULL */
- view_detail_datamodel_static_gateway_address_set((const char*) data);
- return TRUE;
-}
-int detailview_modified_subnet_mask_set(char* data){
- /* data can be NULL */
- view_detail_datamodel_static_subnet_mask_set((const char*) data);
- return TRUE;
-}
-int detailview_modified_dns1_address_set(char* data){
- /* data can be NULL */
- view_detail_datamodel_static_dns1_address_set((const char*) data);
- return TRUE;
-}
-int detailview_modified_dns2_address_set(char* data){
- /* data can be NULL */
- view_detail_datamodel_static_dns2_address_set((const char*) data);
- return TRUE;
-}
-const char* detailview_modified_ip_address_get(){
- return view_detail_datamodel_static_ip_address_get();
-}
-const char* detailview_modified_gateway_address_get(){
- return view_detail_datamodel_static_gateway_address_get();
-}
-const char* detailview_modified_subnet_mask_get(){
- return view_detail_datamodel_static_subnet_mask_get();
-}
-const char* detailview_modified_dns1_address_get(){
- return view_detail_datamodel_static_dns1_address_get();
-}
-const char* detailview_modified_dns2_address_get(){
- return view_detail_datamodel_static_dns2_address_get();
-}
-
-static void yes_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if(view_detail_end == TRUE) {
- return;
- }
- view_detail_end = TRUE;
-
- wlan_manager_forget(_detail_data->profile_name);
- elm_naviframe_item_pop(viewer_manager_get_naviframe());
- resource_remove_and_pop();
-
- __COMMON_FUNC_EXIT__;
- return;
-}
-
-static void no_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
- if (data) {
- evas_object_del(data);
- }
- __COMMON_FUNC_EXIT__;
-}
-
-static void forget_sk_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- Evas_Object* popup = elm_popup_add((Evas_Object *)data);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- char buffer[200];
- snprintf(buffer, sizeof(buffer), sc(PACKAGE, I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue), _detail_data->ssid);
- elm_object_text_set(popup, buffer);
- Evas_Object *btn_yes = elm_button_add(popup);
- elm_object_text_set(btn_yes, sc(PACKAGE, I18N_TYPE_Yes));
- elm_object_part_content_set(popup, "button1", btn_yes);
- evas_object_smart_callback_add(btn_yes, "clicked", yes_cb, NULL);
- Evas_Object *btn_no = elm_button_add(popup);
- elm_object_text_set(btn_no, sc(PACKAGE, I18N_TYPE_No));
- elm_object_part_content_set(popup, "button2", btn_no);
- evas_object_smart_callback_add(btn_no, "clicked", no_cb, popup);
- winset_popup_content_set(popup);
-
- evas_object_show(popup);
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void resource_remove_and_pop()
-{
- _remove_all();
-}
-
-static void detailview_sk_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- assertm_if(NULL == data, "NULL!!");
-
- if (view_detail_end == TRUE)
- return;
-
- view_detail_end = TRUE;
-
- view_detail_datamodel_determine_modified(_detail_data->profile_name);
-
- resource_remove_and_pop();
-
- __COMMON_FUNC_EXIT__;
-}
static char* _view_detail_grouptitle_text_get(void *data, Evas_Object *obj, const char *part)
{
__COMMON_FUNC_ENTER__;
-
- assertm_if(NULL == obj, "NULL!!");
- assertm_if(NULL == part, "NULL!!");
-
- if (part != NULL) {
- if (!strncmp(part, "elm.text", strlen(part))) {
- __COMMON_FUNC_EXIT__;
- return (char*) strdup(sc(PACKAGE, I18N_TYPE_IP_address));
- }
- }
-
- __COMMON_FUNC_EXIT__;
- return NULL;
-}
-
-static char* _view_detail_staticip_text_get(void *data, Evas_Object *obj, const char *part)
-{
- __COMMON_FUNC_ENTER__;
-
+ char *ret = NULL;
assertm_if(NULL == obj, "NULL!!");
assertm_if(NULL == part, "NULL!!");
+ assertm_if(NULL == data, "NULL!!");
- if (part != NULL) {
- if (!strncmp(part, "elm.text", strlen(part))) {
- __COMMON_FUNC_EXIT__;
- return (char*) strdup(sc(PACKAGE, I18N_TYPE_Static_IP));
- }
+ view_detail_data *detail_data = (view_detail_data *)data;
+ if (!strncmp(part, "elm.text.2", strlen(part))) {
+ ret = (char*) g_strdup(sc(PACKAGE, I18N_TYPE_Name));
+ } else if (!strncmp(part, "elm.text.1", strlen(part))) {
+ ret = view_detail_datamodel_ap_name_get(detail_data->data_object);
}
__COMMON_FUNC_EXIT__;
- return NULL;
+ return ret;
}
-static char* _view_detail_dhcpip_text_get(void *data, Evas_Object *obj, const char *part)
+static Evas_Object *_view_detail_grouptitle_content_get(void *data, Evas_Object *obj, const char *part)
{
- __COMMON_FUNC_ENTER__;
-
+ view_detail_data *detail_data = (view_detail_data *)data;
+ Evas_Object* icon = NULL;
assertm_if(NULL == obj, "NULL!!");
+ assertm_if(NULL == data, "NULL!!");
assertm_if(NULL == part, "NULL!!");
- if (part != NULL) {
- if (!strncmp(part, "elm.text", strlen(part))) {
- __COMMON_FUNC_EXIT__;
- return (char*) strdup(sc(PACKAGE, I18N_TYPE_Dynamic_IP));
- }
- }
-
- __COMMON_FUNC_EXIT__;
- return NULL;
-}
-
-static Evas_Object *_view_detail_staticip_content_get(void *data, Evas_Object *obj, const char *part)
-{
- __COMMON_FUNC_ENTER__;
- if (obj == NULL || part == NULL) {
- return NULL;
- }
-
- int current_value = view_detail_datamodel_ip_and_dns_type_get();
- Evas_Object* icon = NULL;
- if (!strncmp(part, "elm.icon.1", strlen(part))) {
- icon = elm_radio_add(obj);
- DEBUG_LOG(UG_NAME_NORMAL, "current_value [%d]", current_value);
-
- if (current_value == IP_TYPE_STATIC_IP) {
- elm_radio_state_value_set(icon, FALSE); /* ON */
- } else {
- elm_radio_state_value_set(icon, TRUE); /* OFF */
- }
- } else if (!strncmp(part, "elm.icon.2", strlen(part))) {
- if (current_value == IP_TYPE_STATIC_IP) {
- icon = elm_button_add(obj);
- assertm_if(NULL == icon, "NULL!!");
- elm_object_style_set(icon, "reveal");
- evas_object_smart_callback_add(icon, "clicked", (Evas_Smart_Cb)_detailview_staticip_button_cb, NULL);
- evas_object_propagate_events_set(icon, EINA_FALSE);
- }
- return icon;
+ if (detail_data->ap_image_path == NULL) {
+ /* if there is no ap_image_path (NO AP Found situation) */
+ DEBUG_LOG(UG_NAME_ERR, "Fatal: Image path is NULL");
+ } else if (!strncmp(part, "elm.icon", strlen(part))) {
+ /* for strength */
+ icon = elm_icon_add(obj);
+ assertm_if(NULL == icon, "NULL!!");
+ elm_icon_file_set(icon, detail_data->ap_image_path, NULL);
+ } else {
+ DEBUG_LOG(UG_NAME_NORMAL, "Invalid part name [%s]", part);
}
- __COMMON_FUNC_EXIT__;
return icon;
}
-static Evas_Object *_view_detail_dhcpip_content_get(void *data, Evas_Object *obj, const char *part)
+static void _remove_all(view_detail_data *_detail_data)
{
__COMMON_FUNC_ENTER__;
-
- if (obj == NULL || part == NULL) {
- return NULL;
- }
-
- int current_value = view_detail_datamodel_ip_and_dns_type_get();
- Evas_Object* icon = NULL;
- if (!strncmp(part, "elm.icon.1", strlen(part))) {
- icon = elm_radio_add(obj);
- DEBUG_LOG(UG_NAME_NORMAL, "current_value [%d]", current_value);
-
- if (current_value == IP_TYPE_DHCP_IP) {
- elm_radio_state_value_set(icon, FALSE); /* ON */
- } else {
- elm_radio_state_value_set(icon, TRUE); /* OFF */
+ if(_detail_data) {
+ evas_object_del(_detail_data->view_detail_list);
+ _detail_data->view_detail_list = NULL;
+ if (_detail_data->eap_info_list) {
+ eap_info_remove(_detail_data->eap_info_list);
+ _detail_data->eap_info_list = NULL;
}
- } else if (!strncmp(part, "elm.icon.2", strlen(part))) {
- if (current_value == IP_TYPE_DHCP_IP) {
- icon = elm_button_add(obj);
- assertm_if(NULL == icon, "NULL!!");
- elm_object_style_set(icon, "reveal");
- evas_object_smart_callback_add(icon, "clicked", (Evas_Smart_Cb)_detailview_dhcpip_button_cb, NULL);
- evas_object_propagate_events_set(icon, EINA_FALSE);
- }
- return icon;
+
+ ip_info_remove(_detail_data->ip_info_list);
+ _detail_data->ip_info_list = NULL;
+ view_basic_detail_datamodel_destroy(_detail_data->data_object);
+ _detail_data->data_object = NULL;
+ g_free(_detail_data->ap_image_path);
+ g_free(_detail_data);
+ _detail_data = NULL;
}
__COMMON_FUNC_EXIT__;
- return icon;
}
-static char *_view_detail_description_text_get(void *data, Evas_Object *obj, const char *part)
+static void ok_cb(void *data, Evas_Object *obj, void *event_info)
{
__COMMON_FUNC_ENTER__;
-
- _view_detail_description_data* det = (_view_detail_description_data*) data;
- assertm_if(NULL == det, "NULL!!");
- assertm_if(NULL == det->title, "NULL!!");
- assertm_if(NULL == det->description, "NULL!!");
- assertm_if(NULL == part, "NULL!!");
-
- if(0 == strncmp("elm.text.1", part, strlen(part))) {
- __COMMON_FUNC_EXIT__;
- return strdup(det->title);
- } else if(0 == strncmp("elm.text.2", part, strlen(part))) {
- __COMMON_FUNC_EXIT__;
- return strdup(det->description);
- } else {
- __COMMON_FUNC_EXIT__;
- return NULL;
- }
-}
-
-static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
-{
- if (obj == NULL)
+ if(view_detail_end == TRUE) {
return;
-
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-
- const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(obj));
- assertm_if(NULL == txt, "NULL!!");
-
- DEBUG_LOG( UG_NAME_NORMAL, "text [%s]", txt);
- view_detail_current_proxy_address_set(txt);
-}
-
-static void _entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_entry_entry_set(data, "");
-}
-
-static Evas_Object *_view_detail_proxy_content_get(void *data, Evas_Object *obj, const char *part)
-{
- __COMMON_FUNC_ENTER__;
-
- if(!strncmp(part, "elm.icon", strlen(part))) {
- Evas_Object* layout = NULL;
-
- _view_detail_description_data* det = (_view_detail_description_data*) data;
- assertm_if(NULL == det, "NULL!!");
- assertm_if(NULL == det->title, "NULL!!");
- assertm_if(NULL == obj, "NULL!!");
-
- const char* proxy_addr = view_detail_current_proxy_address_get();
- assertm_if(NULL == proxy_addr, "NULL!!");
-
- DEBUG_LOG(UG_NAME_NORMAL, "title [%s]", det->title);
- DEBUG_LOG(UG_NAME_NORMAL, "description [%s]", proxy_addr);
-
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", det->title);
- Evas_Object *entry = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
- elm_entry_entry_set(entry, proxy_addr);
-
- elm_entry_single_line_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_NO_IMAGE);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL);
-
- evas_object_smart_callback_add(entry, "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(entry, "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(entry, "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry);
-
- __COMMON_FUNC_EXIT__;
- return layout;
- }
}
+ view_detail_end = TRUE;
+ view_detail_data *_detail_data = (view_detail_data *)data;
+ assertm_if(NULL == _detail_data, "NULL!!");
+
+ evas_object_del(_detail_data->forget_confirm_popup);
+ _detail_data->forget_confirm_popup = NULL;
+ char *temp_str = view_detail_datamodel_basic_info_profile_name_get(_detail_data->data_object);
+ wlan_manager_forget(temp_str);
+ g_free(temp_str);
+ _remove_all(_detail_data);
+ elm_naviframe_item_pop(viewer_manager_get_naviframe());
__COMMON_FUNC_EXIT__;
- return NULL;
-
-}
-
-static int _genlist_item_disable_later(void* data)
-{
- if(NULL != data){
- elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE);
- }
- return FALSE;
-}
-static void _detailview_description_callback(void* data, Evas_Object* obj, void* event_info)
-{
- ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info);
+ return;
}
-static void _detailview_staticip_button_cb(void* data, Evas_Object* obj, void* event_info)
+static void cancel_cb(void *data, Evas_Object *obj, void *event_info)
{
__COMMON_FUNC_ENTER__;
- assertm_if(NULL == data, "data is NULL!!");
- assertm_if(NULL == obj, "obj is NULL!!");
-
- view_staticip();
-
- if (dhcpip_item != NULL) {
- elm_genlist_item_update(dhcpip_item);
- }
- if (staticip_item != NULL) {
- elm_genlist_item_update(staticip_item);
- }
-
- ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info);
+ view_detail_data *_detail_data = (view_detail_data *)data;
+ assertm_if(NULL == _detail_data, "NULL!!");
+ evas_object_del(_detail_data->forget_confirm_popup);
+ _detail_data->forget_confirm_popup = NULL;
__COMMON_FUNC_EXIT__;
}
-static void _detailview_dhcpip_button_cb(void* data, Evas_Object* obj, void* event_info)
+static void forget_sk_cb(void *data, Evas_Object *obj, void *event_info)
{
__COMMON_FUNC_ENTER__;
- assertm_if(NULL == data, "data is NULL!!");
- assertm_if(NULL == obj, "obj is NULL!!");
-
- view_dhcpip();
-
- if (dhcpip_item != NULL) {
- elm_genlist_item_update(dhcpip_item);
- }
- if (staticip_item != NULL) {
- elm_genlist_item_update(staticip_item);
+ view_detail_data *_detail_data = (view_detail_data *)data;
+ assertm_if(NULL == _detail_data, "NULL!!");
+ if (!_detail_data->forget_confirm_popup) {
+ Evas_Object* popup = elm_popup_add(_detail_data->layout);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ char *temp_str = view_detail_datamodel_ap_name_get(_detail_data->data_object);
+ char *buffer = g_strdup_printf(sc(PACKAGE, I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue), temp_str);
+ elm_object_text_set(popup, buffer);
+ g_free(buffer);
+ Evas_Object *btn_ok = elm_button_add(popup);
+ elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
+ elm_object_part_content_set(popup, "button1", btn_ok);
+ evas_object_smart_callback_add(btn_ok, "clicked", ok_cb, _detail_data);
+ Evas_Object *btn_cancel = elm_button_add(popup);
+ elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel));
+ elm_object_part_content_set(popup, "button2", btn_cancel);
+ evas_object_smart_callback_add(btn_cancel, "clicked", cancel_cb, _detail_data);
+ evas_object_show(popup);
+ _detail_data->forget_confirm_popup = popup;
}
- ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info);
__COMMON_FUNC_EXIT__;
}
-void _detailview_staticip_item_click_cb(void *data, Evas_Object *obj, void *event_info)
+static void detailview_sk_cb(void *data, Evas_Object *obj, void *event_info)
{
__COMMON_FUNC_ENTER__;
- view_detail_datamodel_ip_and_dns_type_set(IP_TYPE_STATIC_IP);
-
- if (dhcpip_item != NULL) {
- elm_genlist_item_update(dhcpip_item);
- }
- if (staticip_item != NULL) {
- elm_genlist_item_update(staticip_item);
- }
-
- ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info);
- __COMMON_FUNC_EXIT__;
-}
+ if (view_detail_end == TRUE)
+ return;
+ view_detail_end = TRUE;
-void _detailview_dhcpip_item_click_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
+ view_detail_data *_detail_data = (view_detail_data *)data;
+ assertm_if(NULL == _detail_data, "NULL!!");
- view_detail_datamodel_ip_and_dns_type_set(IP_TYPE_DHCP_IP);
+ if (_detail_data->eap_info_list)
+ eap_info_save_data(_detail_data->eap_info_list);
- if (dhcpip_item != NULL) {
- elm_genlist_item_update(dhcpip_item);
- }
- if (staticip_item != NULL) {
- elm_genlist_item_update(staticip_item);
- }
+ ip_info_save_data(_detail_data->ip_info_list, TRUE);
+ _remove_all(_detail_data);
- ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info);
__COMMON_FUNC_EXIT__;
}
-static int _add_seperator(Evas_Object* genlist)
-{
- assertm_if(NULL == genlist, "NULL!!");
-
- Elm_Object_Item* sep2 = elm_genlist_item_append(
- genlist,
- &seperator_itc,
- NULL,
- NULL,
- ELM_GENLIST_ITEM_GROUP,
- NULL,
- NULL);
-
- assertm_if(NULL == sep2, "NULL!!");
-
- elm_genlist_item_select_mode_set(sep2, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- return TRUE;
-}
-
-static int _add_description(Evas_Object* genlist, char* title, char* description)
-{
- assertm_if(NULL == genlist, "NULL!!");
- assertm_if(NULL == title, "NULL!!");
- assertm_if(NULL == description, "NULL!!");
-
- _view_detail_description_data* description_data = (_view_detail_description_data*) malloc (sizeof( _view_detail_description_data));
- assertm_if(NULL == description_data, "NULL!!");
- memset(description_data, 0, sizeof(_view_detail_description_data));
-
- description_data->title = strdup(title);
- description_data->description = strdup(description);
-
- Elm_Object_Item* det = NULL;
- det = elm_genlist_item_append(
- genlist,
- &description_itc,
- description_data,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _detailview_description_callback,
- NULL);
- assertm_if(NULL == det, "NULL!!");
-
- elm_genlist_item_select_mode_set(det, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- return TRUE;
-}
-
-static int _add_proxy(Evas_Object* genlist, char* title)
-{
- assertm_if(NULL == genlist, "NULL!!");
- assertm_if(NULL == title, "NULL!!");
-
- _view_detail_description_data* description_data =
- (_view_detail_description_data*) malloc (sizeof( _view_detail_description_data));
- assertm_if(NULL == description_data, "NULL!!");
- memset(description_data, 0, sizeof(_view_detail_description_data));
-
- description_data->title = strdup(title);
-
- Elm_Object_Item* det = NULL;
- det = elm_genlist_item_append(
- genlist,
- &proxy_itc,
- description_data,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- NULL,
- NULL);
- assertm_if(NULL == det, "NULL!!");
-
- elm_genlist_item_select_mode_set(det, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- return TRUE;
-}
-
-static Evas_Object* _create_list(Evas_Object* parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- _list = elm_genlist_add(parent);
- assertm_if(NULL == _list, "NULL!!");
-
- grouptitle_itc.item_style = "grouptitle.dialogue";
- grouptitle_itc.func.text_get = _view_detail_grouptitle_text_get;
- grouptitle_itc.func.content_get = NULL;
- grouptitle_itc.func.state_get = NULL;
- grouptitle_itc.func.del = NULL;//_view_detail_grouptitle_del;
-
- staticip_itc.item_style = "dialogue/1text.2icon.2";
- staticip_itc.func.text_get = _view_detail_staticip_text_get;
- staticip_itc.func.content_get = _view_detail_staticip_content_get;
- staticip_itc.func.state_get = NULL;
- staticip_itc.func.del = NULL;
-
- dhcpip_itc.item_style = "dialogue/1text.2icon.2";
- dhcpip_itc.func.text_get = _view_detail_dhcpip_text_get;
- dhcpip_itc.func.content_get = _view_detail_dhcpip_content_get;
- dhcpip_itc.func.state_get = NULL;
- dhcpip_itc.func.del = NULL;
-
- seperator_itc.item_style = "dialogue/seperator";
- seperator_itc.func.text_get = NULL;
- seperator_itc.func.content_get = NULL;
- seperator_itc.func.state_get = NULL;
- seperator_itc.func.del = NULL;
-
- description_itc.item_style = "dialogue/2text.3";
- description_itc.func.text_get = _view_detail_description_text_get;
- description_itc.func.content_get = NULL;
- description_itc.func.state_get = NULL;
- description_itc.func.del = NULL;
-
- proxy_itc.item_style = "dialogue/1icon";
- proxy_itc.func.text_get = NULL;
- proxy_itc.func.content_get = _view_detail_proxy_content_get;
- proxy_itc.func.state_get = NULL;
- proxy_itc.func.del = NULL;
-
- Elm_Object_Item* sep = elm_genlist_item_append(_list, &grouptitle_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- staticip_item = elm_genlist_item_append(_list, &staticip_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _detailview_staticip_item_click_cb, NULL);
- dhcpip_item = elm_genlist_item_append(_list, &dhcpip_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _detailview_dhcpip_item_click_cb, NULL);
-
- _add_seperator(_list);
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Name), _detail_data->ssid);
-
- int signal_strength = wlan_manager_get_signal_strength(_detail_data->rssi);
- switch (signal_strength) {
- case SIGNAL_STRENGTH_TYPE_EXCELLENT:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), sc(PACKAGE, I18N_TYPE_Excellent));
- break;
- case SIGNAL_STRENGTH_TYPE_GOOD:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), sc(PACKAGE, I18N_TYPE_Good));
- break;
- case SIGNAL_STRENGTH_TYPE_WEAK:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), sc(PACKAGE, I18N_TYPE_Week));
- break;
- default:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), "Unknown");
- break;
- }
-
- /* Security type */
- switch (_detail_data->security_mode) {
- case WLAN_SEC_MODE_NONE:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_No_security));
- break;
- case WLAN_SEC_MODE_WEP:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WEP));
- break;
- case WLAN_SEC_MODE_WPA_PSK:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WPA_PSK));
- break;
- case WLAN_SEC_MODE_WPA2_PSK:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WPA2_PSK));
- break;
- case WLAN_SEC_MODE_IEEE8021X:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WPA_EAP));
- break;
- default:
- _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), "Unknown");
- break;
- }
-
- /* Proxy Address */
- _add_proxy(_list, sc(PACKAGE, I18N_TYPE_Proxy_address));
-
- return _list;
-}
-
-static Evas_Object* _create_conformant(Evas_Object* parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object* conform = NULL;
- elm_win_conformant_set(parent, TRUE);
- conform = elm_conformant_add(parent);
- assertm_if(NULL == conform, "NULL!!");
-
- elm_object_style_set(conform, "internal_layout");
-
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- evas_object_show(conform);
-
- return conform;
-}
-
void view_detail(wifi_device_info_t *device_info)
{
__COMMON_FUNC_ENTER__;
+ int favourite = 0;
+ view_datamodel_basic_info_t *data_object = NULL;
+ static Elm_Genlist_Item_Class grouptitle_itc;
if (device_info == NULL) {
ERROR_LOG(UG_NAME_NORMAL, "Failed : device_info is NULL");
return;
}
-
- int favourite = 0;
- int ret = connman_profile_manager_check_favourite(device_info->profile_name, &favourite);
- if (ret != WLAN_MANAGER_ERR_NONE) {
- ERROR_LOG(UG_NAME_NORMAL, "Failed : check favourite");
- return;
- }
-
- if (view_detail_datamodel_create(device_info->profile_name) == 0) {
- ERROR_LOG(UG_NAME_NORMAL, "Failed : data model created");
- return;
- }
-
+ Evas_Object *layout = NULL;
Evas_Object* navi_frame = viewer_manager_get_naviframe();
if (navi_frame == NULL) {
ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe");
view_detail_end = FALSE;
- _detail_data = (view_detail_data *) malloc(sizeof(view_detail_data));
- if (_detail_data == NULL)
- return;
+ view_detail_data *_detail_data = (view_detail_data *)g_malloc0(sizeof(view_detail_data));
+ assertm_if(NULL == _detail_data, "NULL!!");
- memset(_detail_data, 0, sizeof(view_detail_data));
- _detail_data->profile_name = strdup(device_info->profile_name);
- _detail_data->ssid = strdup(device_info->ssid);
- _detail_data->rssi = device_info->rssi;
- _detail_data->security_mode = device_info->security_mode;
+ _detail_data->ap_image_path = g_strdup(device_info->ap_image_path);
+ _detail_data->data_object = data_object = view_basic_detail_datamodel_create(device_info->profile_name);
- Evas_Object* layout = elm_layout_add(navi_frame);
- elm_layout_theme_set(layout, "layout", "application", "noindicator");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ favourite = view_detail_datamodel_is_favourite_get(data_object);
- Evas_Object* bg = elm_bg_add(layout);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_style_set(bg, "group_list");
- elm_object_part_content_set(layout, "elm.swallow.bg", bg);
+ _detail_data->layout = layout = common_utils_create_conformant_layout(navi_frame);
+ evas_object_show(layout);
+ Evas_Object *conform = elm_object_part_content_get(layout, "elm.swallow.content");
+ Evas_Object* detailview_list = elm_genlist_add(conform);
+ elm_object_style_set(detailview_list, "dialogue");
+ assertm_if(NULL == detailview_list, "NULL!!");
+ _detail_data->view_detail_list = detailview_list;
- Evas_Object* conform = _create_conformant(layout);
- assertm_if(NULL == conform, "NULL!!");
- elm_object_part_content_set(layout, "elm.swallow.content", conform);
+ grouptitle_itc.item_style = "dialogue/2text.1icon.5";
+ grouptitle_itc.func.text_get = _view_detail_grouptitle_text_get;
+ grouptitle_itc.func.content_get = _view_detail_grouptitle_content_get;
+ grouptitle_itc.func.state_get = NULL;
+ grouptitle_itc.func.del = NULL;
- evas_object_show(layout);
+ common_utils_add_dialogue_separator(detailview_list, "dialogue/separator");
- Evas_Object* detailview_list = _create_list(conform);
- assertm_if(NULL == detailview_list, "NULL!!");
+ /* AP name and signal strength icon */
+ Elm_Object_Item* title = elm_genlist_item_append(detailview_list, &grouptitle_itc, _detail_data, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_object_item_disabled_set(title, TRUE);
+
+ if (WLAN_SEC_MODE_IEEE8021X == view_detail_datamodel_sec_mode_get(data_object)) {
+ if (view_detail_datamodel_is_favourite_get(data_object) ||
+ !g_strcmp0(wlan_manager_get_connected_ssid(), view_detail_datamodel_ap_name_get(data_object))) {
+ _detail_data->eap_info_list = eap_info_append_items(device_info->profile_name, detailview_list, PACKAGE);
+ }
+ }
+
+ /* Append ip info list */
+ _detail_data->ip_info_list = ip_info_append_items(device_info->profile_name, PACKAGE, detailview_list);
+
+ common_utils_add_dialogue_separator(detailview_list, "dialogue/separator/end");
elm_object_content_set(conform, detailview_list);
- Elm_Object_Item* navi_it = elm_naviframe_item_push(navi_frame, _detail_data->ssid, NULL, NULL, layout, NULL);
+ Elm_Object_Item* navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Details), NULL, NULL, layout, NULL);
+ evas_object_data_set(navi_frame, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_DETAIL);
- _button_forget_item = NULL;
if (favourite) {
Evas_Object* toolbar = elm_toolbar_add(navi_frame);
elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- _button_forget_item = elm_toolbar_item_append(toolbar,
- NULL,
- sc(PACKAGE, I18N_TYPE_Forget),
- (Evas_Smart_Cb) forget_sk_cb,
- layout);
+ elm_toolbar_item_append(toolbar,
+ NULL,
+ sc(PACKAGE, I18N_TYPE_Forget),
+ forget_sk_cb,
+ _detail_data);
elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL), EINA_TRUE);
elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
}
Evas_Object* button_back = elm_object_item_part_content_get(navi_it, "prev_btn");
elm_object_focus_allow_set(button_back, EINA_TRUE);
- evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)detailview_sk_cb, NULL);
+ evas_object_smart_callback_add(button_back, "clicked", detailview_sk_cb, _detail_data);
__COMMON_FUNC_EXIT__;
}
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "common.h"
-#include "view_detail_datamodel.h"
-
-
-struct view_detail_datamodel {
- net_ip_config_type_t ip_and_dns_type_initial;
- char* proxy_addr_initial;
- char* ip_initial;
- char* subnet_initial;
- char* gateway_initial;
- char* dns1_initial;
- char* dns2_initial;
-
- net_ip_config_type_t ip_and_dns_type_current;
- char* proxy_addr_current;
- char* ip_current;
- char* subnet_current;
- char* gateway_current;
- char* dns1_current;
- char* dns2_current;
-};
-
-static struct view_detail_datamodel *manager_object = NULL;
-
-int view_detail_datamodel_create(const char *profile_name)
-{
- __COMMON_FUNC_ENTER__;
-
- manager_object = g_malloc0(sizeof(struct view_detail_datamodel));
- assertm_if(NULL == manager_object, "NULL!!");
-
- net_profile_info_t profile_info;
- int ret = connman_profile_manager_profile_info_get(profile_name, &profile_info);
- if (ret == 0)
- return 0;
-
- manager_object->ip_and_dns_type_initial = profile_info.ProfileInfo.Wlan.net_info.IpConfigType;
- manager_object->ip_and_dns_type_current = profile_info.ProfileInfo.Wlan.net_info.IpConfigType;
- if (strlen(profile_info.ProfileInfo.Wlan.net_info.ProxyAddr) < 1) {
- manager_object->proxy_addr_initial = strdup("0.0.0.0:80");
- manager_object->proxy_addr_current = strdup("0.0.0.0:80");
- } else {
- manager_object->proxy_addr_initial = strdup(profile_info.ProfileInfo.Wlan.net_info.ProxyAddr);
- manager_object->proxy_addr_current = strdup(profile_info.ProfileInfo.Wlan.net_info.ProxyAddr);
- }
-
- manager_object->ip_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4));
- manager_object->ip_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4));
- manager_object->subnet_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4));
- manager_object->subnet_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4));
- manager_object->gateway_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4));
- manager_object->gateway_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4));
- manager_object->dns1_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4));
- manager_object->dns1_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4));
- manager_object->dns2_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4));
- manager_object->dns2_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4));
-
- INFO_LOG(UG_NAME_NORMAL, "ip : %s", manager_object->ip_current);
- INFO_LOG(UG_NAME_NORMAL, "subnet : %s", manager_object->subnet_current);
- INFO_LOG(UG_NAME_NORMAL, "gateway : %s", manager_object->gateway_current);
- INFO_LOG(UG_NAME_NORMAL, "dns1 : %s", manager_object->dns1_current);
- INFO_LOG(UG_NAME_NORMAL, "dns2 : %s", manager_object->dns2_current);
-
- __COMMON_FUNC_EXIT__;
-
- return 1;
-}
-
-int view_detail_datamodel_destroy(void)
-{
- __COMMON_FUNC_ENTER__;
-
- assertm_if(NULL == manager_object, "NULL!!");
-
- g_free(manager_object->proxy_addr_initial);
- g_free(manager_object->proxy_addr_current);
- g_free(manager_object->ip_initial);
- g_free(manager_object->ip_current);
- g_free(manager_object->subnet_initial);
- g_free(manager_object->subnet_current);
- g_free(manager_object->gateway_initial);
- g_free(manager_object->gateway_current);
- g_free(manager_object->dns1_initial);
- g_free(manager_object->dns1_current);
- g_free(manager_object->dns2_initial);
- g_free(manager_object->dns2_current);
- g_free(manager_object);
-
- manager_object = NULL;
-
- __COMMON_FUNC_EXIT__;
-
- return 1;
-}
-
-static int _zstrcmp(char* s, char* t)
-{
- if(NULL == s && NULL == t){
- return 0;
- }
- if(NULL != s && NULL == t){
- return -1;
- }
- if(NULL == s && NULL != t){
- return 1;
- }
- return strcmp(s, t);
-}
-
-int view_detail_datamodel_determine_staticip_modified(void)
-{
- if(0 != _zstrcmp(manager_object->ip_initial,
- manager_object->ip_current)){
- return TRUE;
- }
-
- if(0 != _zstrcmp(manager_object->subnet_initial,
- manager_object->subnet_current)){
- return TRUE;
- }
-
- if(0 != _zstrcmp(manager_object->gateway_initial,
- manager_object->gateway_current)){
- return TRUE;
- }
-
- if(0 != _zstrcmp(manager_object->dns1_initial,
- manager_object->dns1_current)){
- return TRUE;
- }
-
- if(0 != _zstrcmp(manager_object->dns2_initial,
- manager_object->dns2_current)){
- return TRUE;
- }
- return FALSE;
-}
-
-void view_detail_datamodel_determine_modified(const char *profile_name)
-{
- assertm_if(NULL == manager_object, "NULL!!");
-
- Eina_Bool changed = EINA_FALSE;
- net_profile_info_t profile;
- memset(&profile, 0, sizeof(net_profile_info_t));
-
- if (manager_object->ip_and_dns_type_initial != manager_object->ip_and_dns_type_current) {
- profile.ProfileInfo.Wlan.net_info.IpConfigType = manager_object->ip_and_dns_type_current;
- changed = EINA_TRUE;
- }
-
- if (_zstrcmp(manager_object->proxy_addr_initial, manager_object->proxy_addr_current) != 0) {
- strncpy(profile.ProfileInfo.Wlan.net_info.ProxyAddr, manager_object->proxy_addr_current, WLAN_PROXY_LEN_MAX);
- changed = EINA_TRUE;
- }
-
- if (manager_object->ip_and_dns_type_current == NET_IP_CONFIG_TYPE_STATIC) {
- if (_zstrcmp(manager_object->ip_initial, manager_object->ip_current) != 0) {
- inet_aton(manager_object->ip_current, &(profile.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4));
- changed = EINA_TRUE;
- }
-
- if (_zstrcmp(manager_object->subnet_initial, manager_object->subnet_current) != 0) {
- inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4));
- changed = EINA_TRUE;
- }
-
- if (_zstrcmp(manager_object->gateway_initial, manager_object->gateway_current) != 0) {
- inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4));
- changed = EINA_TRUE;
- }
-
- if (_zstrcmp(manager_object->dns1_initial, manager_object->dns1_current) != 0) {
- inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4));
- changed = EINA_TRUE;
- }
-
- if (_zstrcmp(manager_object->dns2_initial, manager_object->dns2_current) != 0) {
- inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4));
- changed = EINA_TRUE;
- }
- }
-
- if (changed) {
- profile.ProfileInfo.Wlan.net_info.IpConfigType = manager_object->ip_and_dns_type_current;
- strncpy(profile.ProfileName, profile_name, NET_PROFILE_NAME_LEN_MAX);
- wlan_manager_profile_modify_by_device_info(profile);
- }
-}
-
-int view_detail_datamodel_ip_and_dns_type_set(IP_TYPES type)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- manager_object->ip_and_dns_type_current = type;
- return TRUE;
-}
-
-IP_TYPES view_detail_datamodel_ip_and_dns_type_get(void)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- return manager_object->ip_and_dns_type_current;
-}
-
-int view_detail_datamodel_proxy_address_set(const char* proxy)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- g_free(manager_object->proxy_addr_current);
- if(NULL != proxy) {
- manager_object->proxy_addr_current = strdup(proxy);
- }
- return TRUE;
-}
-
-const char* view_detail_datamodel_proxy_address_get(void)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- const char* ret = strdup(manager_object->proxy_addr_current);
- return ret;
-}
-
-int view_detail_datamodel_static_ip_address_set(const char* addr)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- g_free(manager_object->ip_current);
- manager_object->ip_current=NULL;
- if(NULL != addr) {
- DEBUG_LOG(UG_NAME_NORMAL, "* set as [%s]", addr);
- manager_object->ip_current = strdup(addr);
- }
- return TRUE;
-}
-
-int view_detail_datamodel_static_gateway_address_set(const char* addr)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- g_free(manager_object->gateway_current);
- manager_object->gateway_current = NULL;
- if(NULL != addr) {
- manager_object->gateway_current = strdup(addr);
- }
- return TRUE;
-}
-
-int view_detail_datamodel_static_subnet_mask_set(const char* addr)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- g_free(manager_object->subnet_current);
- manager_object->subnet_current = NULL;
- if(NULL != addr) {
- manager_object->subnet_current = strdup(addr);
- }
- return TRUE;
-}
-
-int view_detail_datamodel_static_dns1_address_set(const char* addr)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- g_free(manager_object->dns1_current);
- manager_object->dns1_current = NULL;
- if(NULL != addr) {
- manager_object->dns1_current = strdup(addr);
- }
- return TRUE;
-}
-
-int view_detail_datamodel_static_dns2_address_set(const char* addr)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- g_free(manager_object->dns2_current);
- manager_object->dns2_current = NULL;
- if (NULL != addr) {
- manager_object->dns2_current = strdup(addr);
- }
- return TRUE;
-}
-
-char *view_detail_datamodel_static_ip_address_get(void)
-{
- assertm_if(NULL == manager_object, "NULL!!");
-
- return strdup(manager_object->ip_current);
-}
-
-char *view_detail_datamodel_static_gateway_address_get(void)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- if (NULL == manager_object->gateway_current) {
- return NULL;
- } else {
- return strdup(manager_object->gateway_current);
- }
-}
-
-char *view_detail_datamodel_static_subnet_mask_get(void)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- if (NULL == manager_object->subnet_current) {
- return NULL;
- } else {
- return strdup(manager_object->subnet_current);
- }
-}
-
-char *view_detail_datamodel_static_dns1_address_get(void)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- if (NULL == manager_object->dns1_current) {
- return NULL;
- } else {
- return strdup(manager_object->dns1_current);
- }
-}
-
-char *view_detail_datamodel_static_dns2_address_get(void)
-{
- assertm_if(NULL == manager_object, "NULL!!");
- if (NULL == manager_object->dns2_current) {
- return NULL;
- } else {
- return strdup(manager_object->dns2_current);
- }
-}
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "wifi.h"
-#include "view_dhcpip.h"
-#include "i18nmanager.h"
-#include "view_detail_datamodel.h"
-#include "viewer_manager.h"
-
-
-typedef struct _view_dhcpip_data{
- char* title;
- char* description;
-} _view_dhcpip_data;
-
-static Elm_Genlist_Item_Class sep_itc;
-static Elm_Genlist_Item_Class itc;
-
-static char* _gl_listview_text_get(void *data, Evas_Object *obj, const char *part)
-{
- assertm_if(NULL == data, "NULL!!");
- assertm_if(NULL == obj, "NULL!!");
- assertm_if(NULL == part, "NULL!!");
-
- _view_dhcpip_data* det = (_view_dhcpip_data*) data;
-
- DEBUG_LOG(UG_NAME_NORMAL, "part: %s", part);
-
- if (0 == strncmp("elm.text.1", part, strlen(part))) {
- DEBUG_LOG(UG_NAME_NORMAL, "%s", det->description);
- return strdup(det->description);
- } else if(0 == strncmp("elm.text.2", part, strlen(part))) {
- DEBUG_LOG(UG_NAME_NORMAL, "%s", det->title);
- return strdup(det->title);
- } else {
- return NULL;
- }
-}
-
-static void _gl_listview_del(void *data, Evas_Object *obj)
-{
- __COMMON_FUNC_ENTER__;
-
- if (data == NULL)
- return;
-
- _view_dhcpip_data* det = (_view_dhcpip_data*) data;
-
- if (det->description)
- g_free(det->description);
-
- g_free(data);
-
- __COMMON_FUNC_EXIT__;
-}
-
-static int _add_list_item(Evas_Object* view_list, char* title, char* description)
-{
- assertm_if(NULL == view_list, "NULL!!");
-
- _view_dhcpip_data* target = NULL;
- target = (_view_dhcpip_data*) malloc(sizeof(_view_dhcpip_data));
- assertm_if(NULL == target, "NULL!!");
- memset(target, 0, sizeof(_view_dhcpip_data));
-
- target->title = title;
- target->description = description;
-
- Elm_Object_Item *it = elm_genlist_item_append(
- view_list,
- &itc,
- target,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- NULL,
- NULL);
- elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- return TRUE;
-}
-
-static Evas_Object* _create_list(Evas_Object* parent)
-{
- __COMMON_FUNC_ENTER__;
-
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object* view_list = NULL;
- view_list = elm_genlist_add(parent);
- assertm_if(NULL == view_list, "NULL!!");
-
- elm_genlist_mode_set(view_list,
- ELM_LIST_LIMIT);
- evas_object_size_hint_weight_set(view_list,
- EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(view_list,
- EVAS_HINT_FILL,
- EVAS_HINT_FILL);
-
- sep_itc.item_style = "dialogue/seperator";
- sep_itc.func.text_get = NULL;
- sep_itc.func.content_get = NULL;
- sep_itc.func.state_get = NULL;
- sep_itc.func.del = NULL;
-
- Elm_Object_Item* sep = NULL;
- sep = elm_genlist_item_append(
- view_list,
- &sep_itc,
- NULL,
- NULL,
- ELM_GENLIST_ITEM_GROUP,
- NULL,
- NULL);
- assertm_if(NULL == sep, "NULL!!");
-
- elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- itc.item_style = "2text.3";
- itc.func.text_get = _gl_listview_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = _gl_listview_del;
-
- char *ip_addr = view_detail_datamodel_static_ip_address_get();
- char *subnet_addr = view_detail_datamodel_static_subnet_mask_get();
- char *gw_addr = view_detail_datamodel_static_gateway_address_get();
- char *dns1_addr = view_detail_datamodel_static_dns1_address_get();
- char *dns2_addr = view_detail_datamodel_static_dns2_address_get();
-
- _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_IP_address), ip_addr);
- _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_Subnet_mask), subnet_addr);
- _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_Gateway), gw_addr);
- _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_DNS_1), dns1_addr);
- _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_DNS_2), dns2_addr);
-
- __COMMON_FUNC_EXIT__;
-
- return view_list;
-}
-
-void view_dhcpip()
-{
- __COMMON_FUNC_ENTER__;
-
- Evas_Object* navi_frame = viewer_manager_get_naviframe();
- assertm_if(NULL == navi_frame, "NULL!!");
-
- Evas_Object *layout = elm_layout_add(navi_frame);
- elm_layout_theme_set(layout, "layout", "application", "noindicator");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *bg = elm_bg_add(layout);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_style_set(bg, "group_list");
- elm_object_part_content_set(layout, "elm.swallow.bg", bg);
-
- Evas_Object* list = _create_list(layout);
- elm_object_part_content_set(layout, "elm.swallow.content", list);
- evas_object_show(layout);
-
- Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Dynamic_IP), NULL, NULL, layout, NULL);
-
- Evas_Object* back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
- elm_object_focus_allow_set(back_btn, EINA_TRUE);
-
- __COMMON_FUNC_EXIT__;
-}
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "wifi.h"
-#include "view_eap.h"
-#include "i18nmanager.h"
-#include "wlan_manager.h"
-#include "viewer_manager.h"
-#include "popup.h"
-
-
-static Elm_Genlist_Item_Class seperator_itc;
-static Elm_Genlist_Item_Class eap_type_itc;
-static Elm_Genlist_Item_Class eap_type_sub_itc;
-static Elm_Genlist_Item_Class eap_auth_itc;
-static Elm_Genlist_Item_Class eap_auth_sub_itc;
-static Elm_Genlist_Item_Class eap_id_itc;
-static Elm_Genlist_Item_Class eap_anonyid_itc;
-static Elm_Genlist_Item_Class eap_pw_itc;
-
-
-static int view_eap_end = TRUE;
-static Elm_Object_Item *_button_done_item = NULL;
-static Evas_Object *_entry[3];
-struct _Expand_List {
- char depth;
- char *name;
- Elm_Genlist_Item_Type flags;
-};
-
-static struct _Expand_List list_eap_type[] = {
- {1, "PEAP", ELM_GENLIST_ITEM_NONE},
- {1, "TLS", ELM_GENLIST_ITEM_NONE},
- {1, "TTLS", ELM_GENLIST_ITEM_NONE},
- {1, "SIM", ELM_GENLIST_ITEM_NONE},
- {1, "AKA", ELM_GENLIST_ITEM_NONE},
- {1, NULL, ELM_GENLIST_ITEM_NONE}
-};
-
-static struct _Expand_List list_eap_auth[] = {
- {1, "NONE", ELM_GENLIST_ITEM_NONE},
- {1, "PAP", ELM_GENLIST_ITEM_NONE},
- {1, "MSCHAP", ELM_GENLIST_ITEM_NONE},
- {1, "MSCHAPV2", ELM_GENLIST_ITEM_NONE},
- {1, "GTC", ELM_GENLIST_ITEM_NONE},
- {1, NULL, ELM_GENLIST_ITEM_NONE}
-};
-
-typedef struct _view_eap_data {
- char *profile_name;
- char *ssid;
- int rssi;
- int security_mode;
-} view_eap_data;
-
-static int expandable_list_index = 0;
-static Elm_Object_Item *eap_type_item = NULL;
-static Elm_Object_Item *eap_auth_item = NULL;
-static Elm_Object_Item *eap_id_item = NULL;
-static Elm_Object_Item *eap_anonyid_item = NULL;
-static Elm_Object_Item *eap_pw_item = NULL;
-
-static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info);
-static void view_eap_destroy(void *data);
-
-static Evas_Object* _create_layout(Evas_Object *parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object *layout=NULL;
- layout = elm_layout_add(parent);
- assertm_if(NULL == layout, "NULL!!");
-
- elm_layout_theme_set(layout, "standard", "window", "integration");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm");
- edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm");
-
- return layout;
-}
-
-static void _set_list(Evas_Object *obj, eap_type_t pre_type, eap_type_t new_type)
-{
- switch (new_type) {
- case EAP_SEC_TYPE_PEAP:
- case EAP_SEC_TYPE_TLS:
- case EAP_SEC_TYPE_TTLS:
- if (pre_type > EAP_SEC_TYPE_TTLS) {
- eap_auth_item = elm_genlist_item_append(obj, &eap_auth_itc, NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL);
- eap_id_item = elm_genlist_item_append(obj, &eap_id_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_anonyid_item = elm_genlist_item_append(obj, &eap_anonyid_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_pw_item = elm_genlist_item_append(obj, &eap_pw_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- break;
- case EAP_SEC_TYPE_SIM:
- case EAP_SEC_TYPE_AKA:
- if (pre_type < EAP_SEC_TYPE_SIM) {
- elm_object_item_del(eap_auth_item);
- elm_object_item_del(eap_id_item);
- elm_object_item_del(eap_anonyid_item);
- elm_object_item_del(eap_pw_item);
- }
- break;
- default:
- break;
- }
-}
-
-static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
-{
- if (obj == NULL)
- return;
-
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-}
-
-static void _entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_entry_entry_set(data, "");
-}
-
-static void _gl_eap_type_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Eina_Bool expanded = EINA_FALSE;
- if (item)
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- expandable_list_index = 0;
-
- expanded = elm_genlist_item_expanded_get(item);
- elm_genlist_item_expanded_set(item, !expanded);
-}
-
-static void _gl_eap_type_sub_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
-
- int pre_index = (int)elm_object_item_data_get(parent_item);
- int new_index = (int)data;
-
- elm_object_item_data_set(parent_item, data);
-
- Eina_Bool expanded = EINA_FALSE;
- expanded = elm_genlist_item_expanded_get(parent_item);
- elm_genlist_item_expanded_set(parent_item, !expanded);
-
- if (pre_index != new_index) {
- _set_list(obj, pre_index, new_index);
- elm_genlist_item_update(parent_item);
- }
-}
-
-static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Eina_Bool expanded = EINA_FALSE;
- if (item)
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- expandable_list_index = 1;
-
- expanded = elm_genlist_item_expanded_get(item);
- elm_genlist_item_expanded_set(item, !expanded);
-}
-
-static void _gl_eap_auth_sub_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
-
- elm_object_item_data_set(parent_item, data);
-
- Eina_Bool expanded = EINA_FALSE;
- expanded = elm_genlist_item_expanded_get(parent_item);
- elm_genlist_item_expanded_set(parent_item, !expanded);
-}
-
-static Evas_Object *_gl_eap_id_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object* layout = NULL;
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("ID"));
-
- _entry[0] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[0]);
- elm_entry_single_line_set(_entry[0], EINA_TRUE);
- elm_entry_scrollable_set(_entry[0], EINA_TRUE);
- elm_entry_entry_set(_entry[0], "");
-
- evas_object_smart_callback_add(_entry[0], "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[0], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[0], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[0]);
- }
- }
-
- return layout;
-}
-
-static Evas_Object *_gl_eap_anonyid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object* layout = NULL;
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("Anonymous ID"));
-
- _entry[1] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[1]);
- elm_entry_single_line_set(_entry[1], EINA_TRUE);
- elm_entry_scrollable_set(_entry[1], EINA_TRUE);
- elm_entry_entry_set(_entry[1], "");
-
- evas_object_smart_callback_add(_entry[1], "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[1], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[1], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[1]);
- }
- }
-
- return layout;
-}
-
-static Evas_Object *_gl_eap_pw_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object* layout = NULL;
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("Password"));
-
- _entry[2] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[2]);
- elm_entry_single_line_set(_entry[2], EINA_TRUE);
- elm_entry_scrollable_set(_entry[2], EINA_TRUE);
- elm_entry_entry_set(_entry[2], "");
-
- evas_object_smart_callback_add(_entry[2], "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[2], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[2], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[2]);
- }
- }
-
- return layout;
-}
-
-
-static char *_gl_eap_type_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.1")) {
- return strdup(list_eap_type[(int)data].name);
- } else if (!strcmp(part, "elm.text.2")) {
- return strdup("EAP Type");
- }
-
- return NULL;
-}
-
-static char *_gl_eap_subtext_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(list_eap_type[(int)data].name);
- }
-
- return NULL;
-}
-
-static char *_gl_eap_auth_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.1")) {
- return strdup(list_eap_auth[(int)data].name);
- } else if (!strcmp(part, "elm.text.2")) {
- return strdup("Authentication Type");
- }
-
- return NULL;
-}
-
-static char *_gl_eap_auth_subtext_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(list_eap_auth[(int)data].name);
- }
-
- return NULL;
-}
-
-static void _gl_exp(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Evas_Object *gl = elm_object_item_widget_get(item);
- if (gl == NULL) {
- ERROR_LOG(UG_NAME_NORMAL, "gl is NULL");
- return;
- }
-
- evas_object_focus_set(gl, EINA_TRUE);
-
- int i = 0;
- INFO_LOG(UG_NAME_RESP, "depth = %d", expandable_list_index);
- switch (expandable_list_index) {
- case 0:
- while(list_eap_type[i].name != NULL) {
- elm_genlist_item_append(gl, &eap_type_sub_itc, (void*)i, item, list_eap_type[i].flags, _gl_eap_type_sub_sel, (void*)i);
- i++;
- }
- break;
- case 1:
- while(list_eap_auth[i].name != NULL) {
- elm_genlist_item_append(gl, &eap_auth_sub_itc, (void*)i, item, list_eap_auth[i].flags, _gl_eap_auth_sub_sel, (void*)i);
- i++;
- }
- break;
- default:
- break;
- }
-}
-
-static void _gl_con(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
-
- elm_genlist_item_subitems_clear(item);
-}
-
-static Evas_Object* _create_list(Evas_Object* parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object* view_list = elm_genlist_add(parent);
- assertm_if(NULL == view_list, "NULL!!");
-
- seperator_itc.item_style = "dialogue/seperator";
- seperator_itc.func.text_get = NULL;
- seperator_itc.func.content_get = NULL;
- seperator_itc.func.state_get = NULL;
- seperator_itc.func.del = NULL;
- Elm_Object_Item* sep = elm_genlist_item_append(view_list, &seperator_itc,
- NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- assertm_if(NULL == sep, "NULL!!");
- elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- eap_type_itc.item_style = "dialogue/2text.2/expandable";
- eap_type_itc.func.text_get = _gl_eap_type_text_get;
- eap_type_itc.func.content_get = NULL;
- eap_type_itc.func.state_get = NULL;
- eap_type_itc.func.del = NULL;
- eap_type_item = elm_genlist_item_append(view_list, &eap_type_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_type_sel, NULL);
-
- elm_object_item_data_set(eap_type_item, (void*)0);
-
- eap_type_sub_itc.item_style = "dialogue/1text/expandable2";
- eap_type_sub_itc.func.text_get = _gl_eap_subtext_get;
- eap_type_sub_itc.func.content_get = NULL;
- eap_type_sub_itc.func.state_get = NULL;
- eap_type_sub_itc.func.del = NULL;
-
- eap_auth_itc.item_style = "dialogue/2text.2/expandable";
- eap_auth_itc.func.text_get = _gl_eap_auth_text_get;
- eap_auth_itc.func.content_get = NULL;
- eap_auth_itc.func.state_get = NULL;
- eap_auth_itc.func.del = NULL;
- eap_auth_item = elm_genlist_item_append(view_list, &eap_auth_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL);
-
- eap_auth_sub_itc.item_style = "dialogue/1text/expandable2";
- eap_auth_sub_itc.func.text_get = _gl_eap_auth_subtext_get;
- eap_auth_sub_itc.func.content_get = NULL;
- eap_auth_sub_itc.func.state_get = NULL;
- eap_auth_sub_itc.func.del = NULL;
-
- eap_id_itc.item_style = "dialogue/1icon";
- eap_id_itc.func.text_get = NULL;
- eap_id_itc.func.content_get = _gl_eap_id_content_get;
- eap_id_itc.func.state_get = NULL;
- eap_id_itc.func.del = NULL;
- eap_id_item = elm_genlist_item_append(view_list, &eap_id_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- eap_anonyid_itc.item_style = "dialogue/1icon";
- eap_anonyid_itc.func.text_get = NULL;
- eap_anonyid_itc.func.content_get = _gl_eap_anonyid_content_get;
- eap_anonyid_itc.func.state_get = NULL;
- eap_anonyid_itc.func.del = NULL;
- eap_anonyid_item = elm_genlist_item_append(view_list, &eap_anonyid_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- eap_pw_itc.item_style = "dialogue/1icon";
- eap_pw_itc.func.text_get = NULL;
- eap_pw_itc.func.content_get = _gl_eap_pw_content_get;
- eap_pw_itc.func.state_get = NULL;
- eap_pw_itc.func.del = NULL;
- eap_pw_item = elm_genlist_item_append(view_list, &eap_pw_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- evas_object_smart_callback_add(view_list, "expanded", _gl_exp, view_list);
- evas_object_smart_callback_add(view_list, "contracted", _gl_con, view_list);
-
- return view_list;
-}
-
-void view_eap_back(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if(view_eap_end == TRUE) {
- return;
- }
- view_eap_end = TRUE;
-
- view_eap_destroy(data);
-
- viewer_manager_set_enabled_list_click(EINA_TRUE);
-
- __COMMON_FUNC_EXIT__;
-}
-
-void view_eap_done(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if(view_eap_end == TRUE) {
- return;
- }
- view_eap_end = TRUE;
-
- char* str_id = NULL;
- char* str_anonyid = NULL;
- char* str_pw = NULL;
-
- net_wifi_connection_info_t conn_info;
- int sel_index = (int)elm_object_item_data_get(eap_type_item);
- switch (sel_index) {
- case EAP_SEC_TYPE_PEAP:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
- //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_PEAP;
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
- case EAP_SEC_TYPE_TLS:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
- //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_TLS;
-
- str_id = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0]));
- str_anonyid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1]));
- str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[2]));
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
- case EAP_SEC_TYPE_TTLS:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
- //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_TTLS;
-
- str_id = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0]));
- str_anonyid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1]));
- str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[2]));
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
- case EAP_SEC_TYPE_SIM:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
- //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_SIM;
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
- case EAP_SEC_TYPE_AKA:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
- //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_AKA;
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
-
- default:
- break;
- }
-
- view_eap_destroy(data);
-
- elm_naviframe_item_pop(viewer_manager_get_naviframe());
-
- __COMMON_FUNC_EXIT__;
-}
-
-void view_eap(wifi_device_info_t *device_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if (device_info == NULL) {
- ERROR_LOG(UG_NAME_NORMAL, "Failed : device_info is NULL");
- return;
- }
-
- Evas_Object* navi_frame = viewer_manager_get_naviframe();
- if (navi_frame == NULL) {
- ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe");
- return;
- }
-
- view_eap_end = FALSE;
-
- view_eap_data * eap_data = (view_eap_data *) malloc(sizeof(view_eap_data));
- memset(eap_data, 0, sizeof(view_eap_data));
- eap_data->profile_name = strdup(device_info->profile_name);
- eap_data->security_mode = device_info->security_mode;
-
- Evas_Object *layout =_create_layout(navi_frame);
- if (layout == NULL)
- return;
-
- Evas_Object* conform = elm_conformant_add(navi_frame);
- elm_object_style_set(conform, "internal_layout");
- elm_object_part_content_set(layout, "elm.swallow.content", conform);
- evas_object_show(conform);
-
- Evas_Object* list = _create_list(navi_frame);
- assertm_if(NULL == list, "NULL!!");
-
- elm_object_content_set(conform, list);
-
- Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, device_info->ssid, NULL, NULL, layout, NULL);
-
- Evas_Object *toolbar = elm_toolbar_add(navi_frame);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
-
- _button_done_item = elm_toolbar_item_append(toolbar,
- NULL,
- sc(PACKAGE, I18N_TYPE_Done),
- (Evas_Smart_Cb) view_eap_done,
- eap_data);
- elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL), EINA_TRUE);
- elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
-
- Evas_Object* button_back = elm_object_item_part_content_get(navi_it, "prev_btn");
- elm_object_focus_allow_set(button_back, EINA_TRUE);
- evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)view_eap_back, eap_data);
-
- evas_object_show(layout);
- __COMMON_FUNC_EXIT__;
-}
-
-static void view_eap_destroy(void *data)
-{
- if (_entry[0]) {
- evas_object_smart_callback_del(_entry[0], "changed", _entry_changed_cb);
- evas_object_smart_callback_del(_entry[0], "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry[0], "unfocused", _entry_unfocused_cb);
- _entry[0] = NULL;
- }
-
- if (_entry[1]) {
- evas_object_smart_callback_del(_entry[1], "changed", _entry_changed_cb);
- evas_object_smart_callback_del(_entry[1], "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry[1], "unfocused", _entry_unfocused_cb);
- _entry[1] = NULL;
- }
-
- if (_entry[2]) {
- evas_object_smart_callback_del(_entry[2], "changed", _entry_changed_cb);
- evas_object_smart_callback_del(_entry[2], "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry[2], "unfocused", _entry_unfocused_cb);
- _entry[2] = NULL;
- }
-
- if (data != NULL) {
- g_free(data);
- }
-}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "i18nmanager.h"
#include "wlan_manager.h"
#include "viewer_manager.h"
-#include "popup.h"
-
-
-static Elm_Genlist_Item_Class seperator_itc;
-static Elm_Genlist_Item_Class itc;
-static Elm_Genlist_Item_Class type_sel_itc;
-static Elm_Genlist_Item_Class type_itc;
-static Elm_Genlist_Item_Class password_itc;
-static Elm_Genlist_Item_Class eap_itc, eap_auth_itc, eap_id_itc, eap_anonyid_itc, eap_pw_itc;
-static Elm_Genlist_Item_Class eap_sub_itc, eap_auth_sub_itc;
-
-static int view_ime_hidden_end = TRUE;
-static Evas_Object *_button_save = NULL;
-static Evas_Object *_entry[4];
-struct _Expand_List {
- char depth;
- char *name;
- Elm_Genlist_Item_Type flags;
-};
-
-static struct _Expand_List list_sec_type[] = {
- {1, "Public", ELM_GENLIST_ITEM_NONE},
- {1, "WEP", ELM_GENLIST_ITEM_NONE},
- {1, "WPA/WPA2 PSK", ELM_GENLIST_ITEM_NONE},
- {1, "802.1x Enterprise", ELM_GENLIST_ITEM_NONE},
- {1, "802.1x Dynamic WEP", ELM_GENLIST_ITEM_NONE},
- {1, NULL, ELM_GENLIST_ITEM_NONE}
+#include "common_utils.h"
+
+struct hiddep_ap_popup_data {
+ Evas_Object *win;
+ const char *str_pkg_name;
+ char *ssid;
+ Evas_Object *popup_conformant;
+ Evas_Object *popup_entry_lyt;
+ Evas_Object *progress_popup;
};
-static struct _Expand_List list_eap_type[] = {
- {1, "PEAP", ELM_GENLIST_ITEM_NONE},
- {1, "TLS", ELM_GENLIST_ITEM_NONE},
- {1, "TTLS", ELM_GENLIST_ITEM_NONE},
- {1, "AKA", ELM_GENLIST_ITEM_NONE},
- {1, NULL, ELM_GENLIST_ITEM_NONE}
-};
-
-static struct _Expand_List list_eap_auth[] = {
- {1, "NONE", ELM_GENLIST_ITEM_NONE},
- {1, "PAP", ELM_GENLIST_ITEM_NONE},
- {1, "MSCHAP", ELM_GENLIST_ITEM_NONE},
- {1, "MSCHAPV2", ELM_GENLIST_ITEM_NONE},
- {1, "GTC", ELM_GENLIST_ITEM_NONE},
- {1, NULL, ELM_GENLIST_ITEM_NONE}
-};
-
-static int expandable_list_index = 0;
-static Elm_Object_Item* security_type_item = NULL;
-static Elm_Object_Item* eap_items[5+1] = {NULL, };
-
-/* static */
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-static void view_ime_hidden_destroy();
+static void view_hidden_ap_popup_ok_cb(void *data, Evas_Object *obj, void *event_info);
+static void view_hidden_ap_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info);
+static Eina_Bool _enable_scan_updates_cb(void *data);
-
-
-/* implementation */
-static Evas_Object* _create_layout(Evas_Object *parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object *layout=NULL;
- layout = elm_layout_add(parent);
- assertm_if(NULL == layout, "NULL!!");
-
- elm_layout_theme_set(layout, "standard", "window", "integration");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm");
- edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm");
-
- return layout;
-}
-
-static void _network_name_entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
+hiddep_ap_popup_data_t *view_hidden_ap_popup_create(Evas_Object *win_main, const char *str_pkg_name)
{
__COMMON_FUNC_ENTER__;
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-
- const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0]));
- int len = 0;
-
- if(txt) {
- len = strlen(txt);
- if(len > 0) {
- elm_object_disabled_set(_button_save, EINA_FALSE);
- } else {
- elm_object_disabled_set(_button_save, EINA_TRUE);
- }
- } else {
- ERROR_LOG(UG_NAME_NORMAL, "Err!");
- }
+ if (!win_main) {
+ INFO_LOG(UG_NAME_ERR, "Invalid argument passed.");
+ return NULL;
+ }
+
+ /* Lets disable the scan updates so that the UI is not refreshed un necessarily */
+ wlan_manager_disable_scan_result_update();
+
+ hiddep_ap_popup_data_t *hidden_ap_popup_data = (hiddep_ap_popup_data_t *)g_malloc0(sizeof(hiddep_ap_popup_data_t));
+ popup_btn_info_t popup_btn_data;
+ common_utils_entry_info_t entry_info;
+ Evas_Object *conformant = NULL;
+ conformant = elm_conformant_add(win_main);
+ elm_win_conformant_set(win_main, EINA_TRUE);
+ elm_win_resize_object_add(win_main, conformant);
+ evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(conformant);
+
+ Evas_Object *content = elm_layout_add(conformant);
+ elm_object_content_set(conformant, content);
+
+ memset(&popup_btn_data, 0, sizeof(popup_btn_data));
+ popup_btn_data.title_txt = sc(str_pkg_name,I18N_TYPE_Find_Hidden_Network);
+ popup_btn_data.btn1_cb = view_hidden_ap_popup_ok_cb;
+ popup_btn_data.btn1_data = hidden_ap_popup_data;
+ popup_btn_data.btn2_cb = view_hidden_ap_popup_cancel_cb;
+ popup_btn_data.btn2_data = hidden_ap_popup_data;
+ popup_btn_data.btn1_txt = sc(str_pkg_name, I18N_TYPE_Ok);
+ popup_btn_data.btn2_txt = sc(str_pkg_name, I18N_TYPE_Cancel);
+ Evas_Object *passpopup = common_utils_show_info_popup(content, &popup_btn_data);
+
+ elm_object_content_set(content, passpopup);
+
+ Evas_Object *box = elm_box_add(passpopup);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(box);
+
+ common_utils_set_entry_info(&entry_info, sc(str_pkg_name,I18N_TYPE_Enter_Ssid) , "", sc(str_pkg_name, I18N_TYPE_Ssid), ELM_INPUT_PANEL_LAYOUT_URL);
+ Evas_Object *ly_editfield = common_utils_add_edit_box(box, &entry_info);
+ evas_object_show(ly_editfield);
+
+ elm_box_pack_end(box, ly_editfield);
+
+ elm_object_content_set(passpopup, box);
+ evas_object_show(passpopup);
+ hidden_ap_popup_data->win = win_main;
+ hidden_ap_popup_data->str_pkg_name = str_pkg_name;
+ hidden_ap_popup_data->popup_conformant = conformant;
+ hidden_ap_popup_data->popup_entry_lyt = ly_editfield;
+ Evas_Object *popup_entry = common_utils_entry_layout_get_entry(ly_editfield);
+ elm_object_focus_set(popup_entry, EINA_TRUE);
__COMMON_FUNC_EXIT__;
-}
-
-static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
-{
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-}
-
-static void _entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_entry_entry_set(data, "");
-}
-static void _gl_eap_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Eina_Bool expanded = EINA_FALSE;
- if (item)
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- expandable_list_index = 1;
-
- expanded = elm_genlist_item_expanded_get(item);
- elm_genlist_item_expanded_set(item, !expanded);
+ return hidden_ap_popup_data;
}
-static void _gl_eap_type_sel(void *data, Evas_Object *obj, void *event_info)
+void view_hidden_ap_popup_destroy(hiddep_ap_popup_data_t *popup_data)
{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
-
- elm_object_item_data_set(parent_item, data);
-
- Eina_Bool expanded = EINA_FALSE;
- expanded = elm_genlist_item_expanded_get(parent_item);
- elm_genlist_item_expanded_set(parent_item, !expanded);
-}
-
-static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Eina_Bool expanded = EINA_FALSE;
- if (item)
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- expandable_list_index = 2;
-
- expanded = elm_genlist_item_expanded_get(item);
- elm_genlist_item_expanded_set(item, !expanded);
-}
-
-static void _gl_eap_auth_type_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
-
- elm_object_item_data_set(parent_item, data);
-
- Eina_Bool expanded = EINA_FALSE;
- expanded = elm_genlist_item_expanded_get(parent_item);
- elm_genlist_item_expanded_set(parent_item, !expanded);
-}
-
-static void _set_list(Evas_Object *obj, hidden_ap_security_type_t prev_type, hidden_ap_security_type_t new_type)
-{
- switch (new_type) {
- case HIDDEN_AP_SECURITY_PUBLIC:
- if (prev_type < HIDDEN_AP_SECURITY_ENTERPRISE) {
- elm_object_item_del(elm_genlist_last_item_get(obj));
- } else {
- int i = 0;
- while (eap_items[i]) {
- elm_object_item_del(eap_items[i]);
- i++;
- }
- }
- break;
- case HIDDEN_AP_SECURITY_WEP:
- if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) {
- elm_genlist_item_append(obj, &password_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- } else if (prev_type == HIDDEN_AP_SECURITY_WPAPSK) {
- } else {
- int i = 0;
- while (eap_items[i]) {
- elm_object_item_del(eap_items[i]);
- i++;
- }
-
- elm_genlist_item_append(obj, &password_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- break;
- case HIDDEN_AP_SECURITY_WPAPSK:
- if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) {
- elm_genlist_item_append(obj, &password_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- } else if (prev_type == HIDDEN_AP_SECURITY_WEP) {
- } else {
- int i = 0;
- while (eap_items[i]) {
- elm_object_item_del(eap_items[i]);
- i++;
- }
-
- elm_genlist_item_append(obj, &password_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- break;
- case HIDDEN_AP_SECURITY_ENTERPRISE:
- if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) {
- eap_items[0] = elm_genlist_item_append(obj, &eap_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL);
- eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL);
- eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- } else if (prev_type == HIDDEN_AP_SECURITY_DYNAMICWEP) {
- } else {
- elm_object_item_del(elm_genlist_last_item_get(obj));
-
- eap_items[0] = elm_genlist_item_append(obj, &eap_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL);
- eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL);
- eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- break;
- case HIDDEN_AP_SECURITY_DYNAMICWEP:
- if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) {
- eap_items[0] = elm_genlist_item_append(obj, &eap_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL);
- eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL);
- eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- } else if (prev_type == HIDDEN_AP_SECURITY_ENTERPRISE) {
- } else {
- elm_object_item_del(elm_genlist_last_item_get(obj));
-
- eap_items[0] = elm_genlist_item_append(obj, &eap_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL);
- eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL);
- eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc,
- NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- break;
- default:
- break;
- }
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- assertm_if(NULL == data, "NULL!!");
- assertm_if(NULL == obj, "NULL!!");
- assertm_if(NULL == part, "NULL!!");
-
- Evas_Object* layout = NULL;
-
- DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part);
-
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("Network name"));
-
- _entry[0] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[0]);
- elm_entry_single_line_set(_entry[0], EINA_TRUE);
- elm_entry_scrollable_set(_entry[0], EINA_TRUE);
-
- evas_object_smart_callback_add(_entry[0], "changed", _network_name_entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[0], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[0], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[0]);
- }
- }
-
- return layout;
-}
-
-static Evas_Object *_gl_pw_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object* layout = NULL;
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("Password"));
-
- _entry[1] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[1]);
- elm_entry_single_line_set(_entry[1], EINA_TRUE);
- elm_entry_scrollable_set(_entry[1], EINA_TRUE);
- elm_entry_entry_set(_entry[1], "");
-
- evas_object_smart_callback_add(_entry[1], "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[1], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[1], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[1]);
- }
- }
-
- return layout;
-}
-
-static Evas_Object *_gl_eap_id_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object* layout = NULL;
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("ID"));
-
- _entry[1] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[1]);
- elm_entry_single_line_set(_entry[1], EINA_TRUE);
- elm_entry_scrollable_set(_entry[1], EINA_TRUE);
- elm_entry_entry_set(_entry[1], "");
-
- evas_object_smart_callback_add(_entry[1], "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[1], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[1], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[1]);
- }
- }
-
- return layout;
-}
-
-static Evas_Object *_gl_eap_anonyid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object* layout = NULL;
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("Anonymous ID"));
-
- _entry[2] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[2]);
- elm_entry_single_line_set(_entry[2], EINA_TRUE);
- elm_entry_scrollable_set(_entry[2], EINA_TRUE);
- elm_entry_entry_set(_entry[2], "");
-
- evas_object_smart_callback_add(_entry[2], "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[2], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[2], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[2]);
- }
- }
-
- return layout;
-}
-
-static Evas_Object *_gl_eap_pw_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object* layout = NULL;
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(layout, "elm.text", _("Password"));
-
- _entry[3] = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry[3]);
- elm_entry_single_line_set(_entry[3], EINA_TRUE);
- elm_entry_scrollable_set(_entry[3], EINA_TRUE);
- elm_entry_entry_set(_entry[3], "");
-
- evas_object_smart_callback_add(_entry[3], "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry[3], "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry[3], "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[3]);
- }
- }
-
- return layout;
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.1")) {
- return strdup(list_sec_type[(int)data].name);
- } else if (!strcmp(part, "elm.text.2")) {
- return strdup("Security");
- }
-
- return NULL;
-}
-
-static char *_gl_subtext_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(list_sec_type[(int)data].name);
- }
-
- return NULL;
-}
-
-static char *_gl_eap_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.1")) {
- return strdup(list_eap_type[(int)data].name);
- } else if (!strcmp(part, "elm.text.2")) {
- return strdup("EAP Type");
- }
-
- return NULL;
-}
-
-static char *_gl_eap_subtext_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(list_eap_type[(int)data].name);
- }
-
- return NULL;
-}
-
-static char *_gl_eap_auth_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.1")) {
- return strdup(list_eap_auth[(int)data].name);
- } else if (!strcmp(part, "elm.text.2")) {
- return strdup("Authentication Type");
- }
-
- return NULL;
-}
-
-static char *_gl_eap_auth_subtext_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(list_eap_auth[(int)data].name);
- }
-
- return NULL;
-}
-
-static void _gl_type_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item);
-
- int prev_index = (int)elm_object_item_data_get(parent_item);
- int new_index = (int)data;
-
- INFO_LOG(UG_NAME_RESP, "prev index[%d], new index[%d]", prev_index, new_index);
-
- elm_object_item_data_set(parent_item, data);
-
- Eina_Bool expanded = EINA_FALSE;
- expanded = elm_genlist_item_expanded_get(parent_item);
- elm_genlist_item_expanded_set(parent_item, !expanded);
-
- if (prev_index != new_index) {
- _set_list(obj, prev_index, new_index);
- elm_genlist_item_update(parent_item);
+ if (!popup_data) {
+ INFO_LOG(UG_NAME_ERR, "Invalid argument passed.");
+ return;
}
-}
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Eina_Bool expanded = EINA_FALSE;
- if (item)
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- expandable_list_index = 0;
-
- expanded = elm_genlist_item_expanded_get(item);
- elm_genlist_item_expanded_set(item, !expanded);
-}
+ evas_object_del(popup_data->popup_conformant);
+ popup_data->popup_conformant = NULL;
-static void _gl_exp(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- Evas_Object *gl = elm_object_item_widget_get(item);
- if (gl == NULL) {
- ERROR_LOG(UG_NAME_NORMAL, "gl is NULL");
- return;
- }
+ evas_object_del(popup_data->progress_popup);
+ popup_data->progress_popup = NULL;
- evas_object_focus_set(gl, EINA_TRUE);
-
- int i = 0;
- INFO_LOG(UG_NAME_RESP, "depth = %d", expandable_list_index);
- switch (expandable_list_index) {
- case 0:
- while(list_sec_type[i].name != NULL) {
- elm_genlist_item_append(gl, &type_itc, (void*)i, item, list_sec_type[i].flags, _gl_type_sel, (void*)i);
- i++;
- }
- break;
- case 1:
- while(list_eap_type[i].name != NULL) {
- elm_genlist_item_append(gl, &eap_sub_itc, (void*)i, item, list_eap_type[i].flags, _gl_eap_type_sel, (void*)i);
- i++;
- }
- break;
- case 2:
- while(list_eap_auth[i].name != NULL) {
- elm_genlist_item_append(gl, &eap_auth_sub_itc, (void*)i, item, list_eap_auth[i].flags, _gl_eap_auth_type_sel, (void*)i);
- i++;
- }
- break;
- }
-}
+ g_free(popup_data->ssid);
+ g_free(popup_data);
-static void _gl_con(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
-
- elm_genlist_item_subitems_clear(item);
-}
+ /* A delay is needed to get the smooth Input panel closing animation effect */
+ ecore_timer_add(0.1, _enable_scan_updates_cb, NULL);
-static Evas_Object* _create_list(Evas_Object* parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object* view_list = elm_genlist_add(parent);
- assertm_if(NULL == view_list, "NULL!!");
-
- //evas_object_size_hint_weight_set(view_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- //evas_object_size_hint_align_set(view_list, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- seperator_itc.item_style = "dialogue/seperator";
- seperator_itc.func.text_get = NULL;
- seperator_itc.func.content_get = NULL;
- seperator_itc.func.state_get = NULL;
- seperator_itc.func.del = NULL;
- Elm_Object_Item* sep = elm_genlist_item_append(view_list, &seperator_itc,
- NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- assertm_if(NULL == sep, "NULL!!");
- elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- itc.item_style = "1icon";
- itc.func.text_get = NULL;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- elm_genlist_item_append(view_list, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- type_sel_itc.item_style = "dialogue/2text.2/expandable";
- type_sel_itc.func.text_get = _gl_text_get;
- type_sel_itc.func.content_get = NULL;
- type_sel_itc.func.state_get = NULL;
- type_sel_itc.func.del = NULL;
- security_type_item = elm_genlist_item_append(view_list, &type_sel_itc,
- NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
-
- elm_object_item_data_set(security_type_item, (void*)0);
-
- type_itc.item_style = "dialogue/1text/expandable2";
- type_itc.func.text_get = _gl_subtext_get;
- type_itc.func.content_get = NULL;
- type_itc.func.state_get = NULL;
- type_itc.func.del = NULL;
-
- /* Set Password Item Class for WEP, WPA/PSK */
- password_itc.item_style = "dialogue/1icon";
- password_itc.func.text_get = NULL;
- password_itc.func.content_get = _gl_pw_content_get;
- password_itc.func.state_get = NULL;
- password_itc.func.del = NULL;
-
- /* Set EAP Item Class for 802.1x Enterprise, Dynamic WEP */
- eap_itc.item_style = "dialogue/2text.2/expandable";
- eap_itc.func.text_get = _gl_eap_text_get;
- eap_itc.func.content_get = NULL;
- eap_itc.func.state_get = NULL;
- eap_itc.func.del = NULL;
- eap_sub_itc.item_style = "dialogue/1text/expandable2";
- eap_sub_itc.func.text_get = _gl_eap_subtext_get;
- eap_sub_itc.func.content_get = NULL;
- eap_sub_itc.func.state_get = NULL;
- eap_sub_itc.func.del = NULL;
-
- eap_auth_itc.item_style = "dialogue/2text.2/expandable";
- eap_auth_itc.func.text_get = _gl_eap_auth_text_get;
- eap_auth_itc.func.content_get = NULL;
- eap_auth_itc.func.state_get = NULL;
- eap_auth_itc.func.del = NULL;
- eap_auth_sub_itc.item_style = "dialogue/1text/expandable2";
- eap_auth_sub_itc.func.text_get = _gl_eap_auth_subtext_get;
- eap_auth_sub_itc.func.content_get = NULL;
- eap_auth_sub_itc.func.state_get = NULL;
- eap_auth_sub_itc.func.del = NULL;
-
- eap_id_itc.item_style = "dialogue/1icon";
- eap_id_itc.func.text_get = NULL;
- eap_id_itc.func.content_get = _gl_eap_id_content_get;
- eap_id_itc.func.state_get = NULL;
- eap_id_itc.func.del = NULL;
-
- eap_anonyid_itc.item_style = "dialogue/1icon";
- eap_anonyid_itc.func.text_get = NULL;
- eap_anonyid_itc.func.content_get = _gl_eap_anonyid_content_get;
- eap_anonyid_itc.func.state_get = NULL;
- eap_anonyid_itc.func.del = NULL;
-
- eap_pw_itc.item_style = "dialogue/1icon";
- eap_pw_itc.func.text_get = NULL;
- eap_pw_itc.func.content_get = _gl_eap_pw_content_get;
- eap_pw_itc.func.state_get = NULL;
- eap_pw_itc.func.del = NULL;
-
- evas_object_smart_callback_add(view_list, "expanded", _gl_exp, view_list);
- evas_object_smart_callback_add(view_list, "contracted", _gl_con, view_list);
-
- return view_list;
+ return;
}
-void view_ime_back(void *data, Evas_Object *obj, void *event_info)
+const char *view_ime_hidden_popup_get_ssid(hiddep_ap_popup_data_t *popup_data)
{
- __COMMON_FUNC_ENTER__;
-
- if(view_ime_hidden_end == TRUE) {
- return;
+ if (!popup_data) {
+ INFO_LOG(UG_NAME_ERR, "Invalid argument passed.");
+ return NULL;
}
- view_ime_hidden_end = TRUE;
-
-
- view_ime_hidden_destroy();
-
- viewer_manager_set_enabled_list_click(EINA_TRUE);
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- elm_naviframe_item_pop(viewer_manager_get_naviframe());
-
- __COMMON_FUNC_EXIT__;
+ return popup_data->ssid;
}
-void view_ime_done(void *data, Evas_Object *obj, void *event_info)
+static void view_hidden_ap_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
{
- __COMMON_FUNC_ENTER__;
-
- if(view_ime_hidden_end == TRUE) {
- return;
- }
- view_ime_hidden_end = TRUE;
+ hiddep_ap_popup_data_t *popup_data = (hiddep_ap_popup_data_t *)data;
+ char *entry_txt = common_utils_entry_layout_get_text(popup_data->popup_entry_lyt);
+ if (WLAN_MANAGER_ERR_NONE != connman_request_specific_scan(entry_txt)) {
+ char *disp_msg = g_strdup_printf("Unable to find %s", entry_txt);
+ common_utils_show_info_ok_popup(popup_data->win, popup_data->str_pkg_name, disp_msg);
+ g_free(disp_msg);
+ g_free(entry_txt);
+ view_hidden_ap_popup_destroy(popup_data);
+ } else {
+ popup_data->ssid = entry_txt;
- if(NULL == elm_entry_entry_get(_entry[0])) {
- view_ime_hidden_end = FALSE;
- return;
- }
+ /* Show progress idication popup */
+ popup_data->progress_popup = common_utils_show_info_ok_popup(popup_data->win, popup_data->str_pkg_name, "Please Wait...");
- char* str_ssid = NULL;
- char* str_id = NULL;
- char* str_anonyid = NULL;
- char* str_pw = NULL;
+ evas_object_del(popup_data->popup_conformant);
+ popup_data->popup_conformant = NULL;
- str_ssid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0]));
- int ssid_len = strlen(str_ssid);
- if (ssid_len == 0 || ssid_len > 32) {
- winset_popup_simple_set("SSID can be up to 32 letters.<br>Check your input.");
- view_ime_hidden_end = FALSE;
- return;
+ /* A delay is needed to get the smooth Input panel closing animation effect */
+ ecore_timer_add(0.1, _enable_scan_updates_cb, NULL);
}
- net_wifi_connection_info_t conn_info;
- strncpy(conn_info.essid, str_ssid, NET_WLAN_ESSID_LEN);
- INFO_LOG(UG_NAME_REQ, "ssid = %s", conn_info.essid);
-
- int sel_index = (int)elm_object_item_data_get(security_type_item);
- switch (sel_index) {
- case HIDDEN_AP_SECURITY_PUBLIC:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_NONE;
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
- case HIDDEN_AP_SECURITY_WEP:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_WEP;
- str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1]));
- strncpy(conn_info.security_info.authentication.wep.wepKey, str_pw, NETPM_WLAN_MAX_WEP_KEY_LEN);
- conn_info.security_info.authentication.wep.wepKey[NETPM_WLAN_MAX_WEP_KEY_LEN] = '\0';
- INFO_LOG(UG_NAME_REQ, "pw = %s", conn_info.security_info.authentication.wep.wepKey);
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
- case HIDDEN_AP_SECURITY_WPAPSK:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_WPA_PSK; //WLAN_SEC_MODE_WPA2_PSK
- str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1]));
- strncpy(conn_info.security_info.authentication.psk.pskKey, str_pw, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN);
- conn_info.security_info.authentication.psk.pskKey[NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN] = '\0';
- INFO_LOG(UG_NAME_REQ, "pw = %s", conn_info.security_info.authentication.psk.pskKey);
-
- connman_request_connection_open_hidden_ap(&conn_info);
- break;
-
- /* TODO : EAP authentication. */
- case HIDDEN_AP_SECURITY_ENTERPRISE:
- case HIDDEN_AP_SECURITY_DYNAMICWEP:
- conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X;
- str_id = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1]));
- str_anonyid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[2]));
- str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[3]));
- INFO_LOG(UG_NAME_REQ, "id = %s", str_id);
- INFO_LOG(UG_NAME_REQ, "anonyid = %s", str_anonyid);
- INFO_LOG(UG_NAME_REQ, "pw = %s", str_pw);
- break;
-
- default:
- break;
- }
-
- view_ime_hidden_destroy();
-
- viewer_manager_set_enabled_list_click(EINA_TRUE);
- viewer_manager_set_enabled_list_update(EINA_TRUE);
-
- elm_naviframe_item_pop(viewer_manager_get_naviframe());
-
- __COMMON_FUNC_EXIT__;
+ return;
}
-void view_ime_hidden()
+static void view_hidden_ap_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
{
- __COMMON_FUNC_ENTER__;
-
- view_ime_hidden_end = FALSE;
-
- Evas_Object* navi_frame = viewer_manager_get_naviframe();
- assertm_if(NULL == navi_frame, "NULL!!");
-
- Evas_Object *layout =_create_layout(navi_frame);
- if (layout == NULL)
- return;
-
- /* Add Conformant */
- Evas_Object* conform = elm_conformant_add(navi_frame);
- elm_object_style_set(conform, "internal_layout");
- elm_object_part_content_set(layout, "elm.swallow.content", conform);
- evas_object_show(conform);
-
- Evas_Object* list = _create_list(navi_frame);
- assertm_if(NULL == list, "NULL!!");
-
- elm_object_content_set(conform, list);
-
- Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Hidden_AP), NULL, NULL, layout, NULL);
-
- _button_save = elm_button_add(navi_frame);
- elm_object_style_set(_button_save, "naviframe/title/default");
- elm_object_text_set(_button_save, sc(PACKAGE, I18N_TYPE_Save));
- evas_object_smart_callback_add(_button_save, "clicked", (Evas_Smart_Cb) view_ime_done, NULL);
- elm_object_item_part_content_set(navi_it, "title_left_btn", _button_save);
- elm_object_disabled_set(_button_save, EINA_TRUE);
-
- Evas_Object *button_cancel = elm_button_add(navi_frame);
- elm_object_style_set(button_cancel, "naviframe/title/default");
- elm_object_text_set(button_cancel, sc(PACKAGE, I18N_TYPE_Cancel));
- evas_object_smart_callback_add(button_cancel, "clicked", (Evas_Smart_Cb) view_ime_back, NULL);
- elm_object_item_part_content_set(navi_it, "title_right_btn", button_cancel);
-
- evas_object_show(layout);
- __COMMON_FUNC_EXIT__;
+ hiddep_ap_popup_data_t *hidden_ap_popup_data = (hiddep_ap_popup_data_t *)data;
+ view_hidden_ap_popup_destroy(hidden_ap_popup_data);
+ return;
}
-static void view_ime_hidden_destroy()
+static Eina_Bool _enable_scan_updates_cb(void *data)
{
- if (_entry[0]) {
- evas_object_smart_callback_del(_entry[0], "changed", _network_name_entry_changed_cb);
- evas_object_smart_callback_del(_entry[0], "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry[0], "unfocused", _entry_unfocused_cb);
- _entry[0] = NULL;
- }
+ /* Lets enable the scan updates */
+ wlan_manager_enable_scan_result_update();
- if (_entry[1]) {
- evas_object_smart_callback_del(_entry[1], "changed", _entry_changed_cb);
- evas_object_smart_callback_del(_entry[1], "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry[1], "unfocused", _entry_unfocused_cb);
- _entry[1] = NULL;
- }
-
- if (_entry[2]) {
- evas_object_smart_callback_del(_entry[2], "changed", _entry_changed_cb);
- evas_object_smart_callback_del(_entry[2], "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry[2], "unfocused", _entry_unfocused_cb);
- _entry[2] = NULL;
- }
-
- if (_entry[3]) {
- evas_object_smart_callback_del(_entry[3], "changed", _entry_changed_cb);
- evas_object_smart_callback_del(_entry[3], "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry[3], "unfocused", _entry_unfocused_cb);
- _entry[3] = NULL;
- }
+ return ECORE_CALLBACK_CANCEL;
}
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "wifi.h"
-#include "view_ime_password.h"
-#include "i18nmanager.h"
-#include "wlan_manager.h"
-#include "viewer_manager.h"
-#include "popup.h"
-
-
-static Elm_Genlist_Item_Class itc;
-static Elm_Genlist_Item_Class show_pw_itc;
-static Elm_Genlist_Item_Class wps_itc;
-static Elm_Genlist_Item_Class wps_sep_itc;
-
-static Evas_Object* button_done = NULL;
-static Evas_Object* _entry = NULL;
-static int view_ime_password_end = TRUE;
-
-typedef struct _view_ime_password_data {
- char *profile_name;
- int security_mode;
- int wps_mode;
-} view_ime_password_data;
-view_ime_password_data *_password_data = NULL;
-
-
-static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-
- const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(obj));
- int len = 0;
-
- if (txt != NULL) {
- INFO_LOG(UG_NAME_NORMAL, "* text [%s]", txt);
- len = strlen(txt);
-
- if (_password_data->security_mode == WLAN_SEC_MODE_WEP) {
- if (len > 0) {
- elm_object_disabled_set(button_done, EINA_FALSE);
- } else {
- elm_object_disabled_set(button_done, EINA_TRUE);
- }
- } else {
- if (len > 7 && len < 64) {
- elm_object_disabled_set(button_done, EINA_FALSE);
- } else {
- elm_object_disabled_set(button_done, EINA_TRUE);
- }
- }
- } else {
- ERROR_LOG(UG_NAME_NORMAL, "Err!");
- }
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void _entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_entry_entry_set(data, "");
-}
-
-static int _genlist_item_disable_later(void* data)
-{
- if(NULL != data) {
- elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE);
- }
- return FALSE;
-}
-
-static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if (_password_data == NULL)
- return;
-
- int ret = wlan_manager_request_wps_connection(_password_data->profile_name);
- if (ret == WLAN_MANAGER_ERR_NONE) {
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
- viewer_manager_item_radio_mode_set(NULL, viewer_manager_current_selected_item_get(), VIEWER_ITEM_RADIO_MODE_WPS_CONNECTING);
- winset_popup_mode_set((void *)_password_data->profile_name, POPUP_MODE_PBC, POPUP_OPTION_NONE);
- __COMMON_FUNC_EXIT__;
- }
-
- ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info);
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void _show_pw_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (obj == NULL)
- return;
-
- Eina_Bool state = elm_check_state_get(obj);
- elm_entry_password_set(_entry, !state);
-}
-
-static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *layout = NULL;
- assertm_if(NULL == part, "NULL!!");
-
- DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part);
-
- if (!strncmp(part, "elm.icon", strlen(part))) {
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- _entry = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", _entry);
- elm_object_part_text_set(layout, "elm.text", sc(PACKAGE, I18N_TYPE_Input_password));
- elm_entry_entry_set(_entry, "");
-
- evas_object_smart_callback_add(_entry, "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(_entry, "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(_entry, "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry);
-
- elm_entry_password_set(_entry, TRUE);
- elm_entry_input_panel_layout_set(_entry, ELM_INPUT_PANEL_LAYOUT_URL);
- evas_object_show(_entry);
- evas_object_show(layout);
- elm_object_focus_set(layout, EINA_TRUE);
- }
- }
-
- return layout;
-}
-
-static Evas_Object *_show_pw_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *check = NULL;
-
- if (!strncmp(part, "elm.icon", strlen(part))) {
- check = elm_check_add(obj);
- elm_object_text_set(check, sc(PACKAGE, I18N_TYPE_Show_password));
- elm_object_focus_allow_set(check, EINA_FALSE);
-
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- evas_object_smart_callback_add(check, "changed", _show_pw_changed_cb, obj);
- }
-
- return check;
-}
-
-static Evas_Object *_wps_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (obj == NULL)
- return NULL;
-
- Evas_Object* btn = NULL;
-
- if(!strncmp(part, "elm.icon", strlen(part))) {
- btn = elm_button_add(obj);
- elm_object_text_set(btn, "WPS connection");
- }
-
- return btn;
-}
-
-static Evas_Object* _create_list(Evas_Object* parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object *list = elm_genlist_add(parent);
- elm_genlist_mode_set(list, ELM_LIST_LIMIT);
- evas_object_size_hint_weight_set(list,
- EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(list,
- EVAS_HINT_FILL,
- EVAS_HINT_FILL);
-
- itc.item_style = "1icon";
- itc.func.text_get = NULL;
- itc.func.content_get = _content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- WLAN_MANAGER_EAP_TYPES det = WLAN_MANAGER_EAP_TYPE_NONE;
-
- INFO_LOG(UG_NAME_SCAN, "WlanSecMode %d", _password_data->security_mode);
- if (_password_data->security_mode == WLAN_SEC_MODE_IEEE8021X) {
- det =WLAN_MANAGER_EAP_TYPE_ERROR;
- } else {
- det = WLAN_MANAGER_EAP_TYPE_NONE;
- }
-
- INFO_LOG(UG_NAME_SCAN, "EAP Type %d", det);
- switch (det) {
- case WLAN_MANAGER_EAP_TYPE_NONE:
- elm_genlist_item_append(list, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- break;
- case WLAN_MANAGER_EAP_TYPE_ERROR:
- break;
- default:
- INFO_LOG(UG_NAME_SCAN, "EAP Type error");
- break;
- }
-
- show_pw_itc.item_style = "1text.1icon.2";
- show_pw_itc.func.text_get = NULL;
- show_pw_itc.func.content_get = _show_pw_content_get;
- show_pw_itc.func.state_get = NULL;
- show_pw_itc.func.del = NULL;
- Elm_Object_Item *item = elm_genlist_item_append(list, &show_pw_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- if (_password_data->wps_mode) {
- wps_sep_itc.item_style = "dialogue/separator/20";
- wps_sep_itc.func.text_get = NULL;
- wps_sep_itc.func.content_get = NULL;
- wps_sep_itc.func.state_get = NULL;
- wps_sep_itc.func.del = NULL;
- elm_genlist_item_append(list, &wps_sep_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- wps_itc.item_style = "dialogue/bg/1icon";
- wps_itc.func.text_get = NULL;
- wps_itc.func.content_get = _wps_content_get;
- wps_itc.func.state_get = NULL;
- wps_itc.func.del = NULL;
- elm_genlist_item_append(list, &wps_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _wps_btn_cb, NULL);
- }
-
- return list;
-}
-
-static void view_ime_password_back(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if(view_ime_password_end == TRUE)
- return;
-
- view_ime_password_end = TRUE;
-
- viewer_manager_set_enabled_list_click(EINA_TRUE);
- viewer_manager_set_enabled_list_update(EINA_TRUE);
-
- view_ime_password_destroy();
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void view_ime_password_done(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if(view_ime_password_end == TRUE) {
- return;
- }
- view_ime_password_end = TRUE;
-
- int ret = WLAN_MANAGER_ERR_UNKNOWN;
- wlan_manager_password_data* param = (wlan_manager_password_data*) g_malloc0(sizeof(wlan_manager_password_data));
- param->wlan_eap_type = _password_data->security_mode;
-
- int nLen = 0;
- const char* szPassword = NULL;
- switch (param->wlan_eap_type) {
- case WLAN_SEC_MODE_WEP:
- szPassword = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry));
- nLen = strlen(szPassword);
-
- if (nLen == 5 || nLen == 13 || nLen == 26 || nLen == 10) {
- INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword);
- } else {
- winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTIONG_PASSWORD_WEP_ERROR);
- view_ime_password_end = FALSE;
- return;
- }
-
- param->password = strdup(szPassword);
- viewer_manager_item_radio_mode_all_reset();
- viewer_manager_item_radio_mode_set(NULL, viewer_manager_current_selected_item_get(), VIEWER_ITEM_RADIO_MODE_CONNECTING);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
-
- ret = wlan_manager_connect_with_password(_password_data->profile_name, _password_data->security_mode, param);
- break;
- case WLAN_SEC_MODE_WPA_PSK:
- case WLAN_SEC_MODE_WPA2_PSK:
- szPassword = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry));
- nLen = strlen(szPassword);
-
- if (nLen < 8 || nLen > 63) {
- winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTIONG_PASSWORD_WPAPSK_ERROR);
- view_ime_password_end = FALSE;
- return;
- } else {
- INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword);
- }
-
- param->password = strdup(szPassword);
- viewer_manager_item_radio_mode_all_reset();
- viewer_manager_item_radio_mode_set(NULL, viewer_manager_current_selected_item_get(), VIEWER_ITEM_RADIO_MODE_CONNECTING);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
-
- ret = wlan_manager_connect_with_password(_password_data->profile_name, _password_data->security_mode, param);
- break;
- default:
- break;
- }
-
- switch (ret) {
- case WLAN_MANAGER_ERR_NONE:
- INFO_LOG(UG_NAME_SCAN, "connect with password comp");
- break;
- default:
- ERROR_LOG(UG_NAME_SCAN, "wlan error %d", ret);
- viewer_manager_refresh(TRUE);
- break;
- }
-
- view_ime_password_destroy();
-
- __COMMON_FUNC_EXIT__;
-}
-
-void view_ime_password(wifi_device_info_t *device_info)
-{
- __COMMON_FUNC_ENTER__;
- view_ime_password_end = FALSE;
-
- Evas_Object *navi_frame = viewer_manager_get_naviframe();
- if (navi_frame == NULL)
- return;
-
- _password_data = (view_ime_password_data *) malloc(sizeof(view_ime_password_data));
- if (_password_data == NULL)
- return;
-
- memset(_password_data, 0, sizeof(view_ime_password_data));
- _password_data->profile_name = strdup(device_info->profile_name);
- _password_data->security_mode = device_info->security_mode;
- _password_data->wps_mode = device_info->wps_mode;
-
- Evas_Object* layout = elm_layout_add(navi_frame);
- elm_layout_theme_set(layout, "standard", "window", "integration");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm");
- edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm");
-
- Evas_Object* conform = elm_conformant_add(navi_frame);
- elm_object_style_set(conform, "internal_layout");
- elm_object_part_content_set(layout, "elm.swallow.content", conform);
-
- Evas_Object* list = _create_list(navi_frame);
- elm_object_content_set(conform, list);
-
- elm_naviframe_prev_btn_auto_pushed_set(navi_frame, EINA_FALSE);
- Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Password), NULL, NULL, layout, NULL);
- elm_naviframe_prev_btn_auto_pushed_set(navi_frame, EINA_TRUE);
-
- Evas_Object* button_back = elm_button_add(navi_frame);
- elm_object_style_set(button_back, "naviframe/title/default");
- elm_object_text_set(button_back, sc(PACKAGE, I18N_TYPE_Back));
- evas_object_smart_callback_add(button_back, "clicked", view_ime_password_back, NULL);
- elm_object_item_part_content_set(navi_it, "title_left_btn", button_back);
-
- button_done = elm_button_add(navi_frame);
- elm_object_style_set(button_done, "naviframe/title/default");
- elm_object_text_set(button_done, sc(PACKAGE, I18N_TYPE_Done));
- evas_object_smart_callback_add(button_done, "clicked", (Evas_Smart_Cb) view_ime_password_done, NULL);
- elm_object_item_part_content_set(navi_it, "title_right_btn", button_done);
-
- evas_object_show(layout);
-
- __COMMON_FUNC_EXIT__;
-}
-
-void view_ime_password_destroy()
-{
- if (_entry) {
- evas_object_smart_callback_del(_entry, "changed", _entry_changed_cb);
- evas_object_smart_callback_del(_entry, "focused", _entry_focused_cb);
- evas_object_smart_callback_del(_entry, "unfocused", _entry_unfocused_cb);
- _entry = NULL;
- }
-
- if (_password_data) {
- g_free(_password_data);
- _password_data = NULL;
- }
-
- elm_naviframe_item_pop(viewer_manager_get_naviframe());
-}
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "wifi.h"
-#include "view_staticip.h"
-#include "view_detail.h"
-#include "i18nmanager.h"
-#include "view_detail_datamodel.h"
-#include "popup.h"
-
-
-static char* guide_text_ip = NULL;
-static char* guide_text_subnet = NULL;
-static char* guide_text_gateway = NULL;
-static char* guide_text_dns1 = NULL;
-static char* guide_text_dns2 = NULL;
-
-static int view_staticip_end = TRUE;
-
-static Elm_Genlist_Item_Class ip_itc;
-static Elm_Genlist_Item_Class sep_itc;
-
-typedef enum VIEW_STATICIP_TYPES
-{
- VIEW_STATICIP_TYPE_IP,
- VIEW_STATICIP_TYPE_SUBNET,
- VIEW_STATICIP_TYPE_GATEWAY,
- VIEW_STATICIP_TYPE_DNS1,
- VIEW_STATICIP_TYPE_DNS2,
-
-} VIEW_STATICIP_TYPES;
-
-typedef struct _view_staticip_description_data
-{
- char* title;
- int tag;
-} _view_staticip_description_data;
-/////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////
-// implementations
-/////////////////////////////////////////////////////////////////
-static Elm_Object_Item* _add_list_item(Evas_Object* list,
- VIEW_STATICIP_TYPES tag,
- char* title)
-{
- _view_staticip_description_data* data = NULL;
-
- data = (_view_staticip_description_data*) malloc (
- sizeof( _view_staticip_description_data));
- assertm_if(NULL == data, "NULL!!");
- memset(data, 0, sizeof(_view_staticip_description_data));
-
- data->title = strdup(title);
- data->tag = tag;
-
- Elm_Object_Item* det = NULL;
- det = elm_genlist_item_append(
- list,
- &ip_itc,
- data,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- NULL,
- NULL);
- assertm_if(NULL == det, "NULL!!");
- if (det == NULL) {
- g_free(data->title);
- g_free(data);
- }
-
- return det;
-}
-
-static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
-{
- if (obj == NULL || view_staticip_end == TRUE)
- return;
-
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-
- const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(obj));
- assertm_if(NULL == txt, "NULL!!");
- DEBUG_LOG( UG_NAME_NORMAL, "text [%s]", txt);
-
- _view_staticip_description_data* det =
- (_view_staticip_description_data*) data;
-
- switch(det->tag) {
- case VIEW_STATICIP_TYPE_IP:
- view_detail_datamodel_static_ip_address_set(txt);
- break;
- case VIEW_STATICIP_TYPE_SUBNET:
- view_detail_datamodel_static_subnet_mask_set(txt);
- break;
- case VIEW_STATICIP_TYPE_GATEWAY:
- view_detail_datamodel_static_gateway_address_set(txt);
- break;
- case VIEW_STATICIP_TYPE_DNS1:
- view_detail_datamodel_static_dns1_address_set(txt);
- break;
- case VIEW_STATICIP_TYPE_DNS2:
- view_detail_datamodel_static_dns2_address_set(txt);
- break;
- }
-}
-
-static void _entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_entry_entry_set(data, "");
-}
-
-static Evas_Object *_view_staticip_content_get(void *data, Evas_Object *obj, const char *part)
-{
- __COMMON_FUNC_ENTER__;
-
- Evas_Object* layout = NULL;
-
- assertm_if(NULL == part, "NULL!!");
- DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part);
-
- if(!strncmp(part, "elm.icon", strlen(part))) {
- _view_staticip_description_data* det =
- (_view_staticip_description_data*) data;
-
- layout = elm_layout_add(obj);
- if (layout) {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- Evas_Object *entry = elm_entry_add(obj);
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
- elm_object_part_text_set(layout, "elm.text", det->title);
- elm_entry_single_line_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE);
-
- const char* txt = NULL;
- switch(det->tag) {
- case VIEW_STATICIP_TYPE_IP:
- txt = view_detail_datamodel_static_ip_address_get();
- DEBUG_LOG(UG_NAME_NORMAL, "* IP [%s]", txt);
- g_free(guide_text_ip);
- guide_text_ip = g_strdup(txt);
- break;
- case VIEW_STATICIP_TYPE_SUBNET:
- txt = view_detail_datamodel_static_subnet_mask_get();
- DEBUG_LOG(UG_NAME_NORMAL, "* SUBNET [%s]", txt);
- g_free(guide_text_subnet);
- guide_text_subnet = g_strdup(txt);
- break;
- case VIEW_STATICIP_TYPE_GATEWAY:
- txt = view_detail_datamodel_static_gateway_address_get();
- DEBUG_LOG(UG_NAME_NORMAL, "* GATEWAY [%s]", txt);
- g_free(guide_text_gateway);
- guide_text_gateway = g_strdup(txt);
- break;
- case VIEW_STATICIP_TYPE_DNS1:
- txt = view_detail_datamodel_static_dns1_address_get();
- DEBUG_LOG(UG_NAME_NORMAL, "* DNS1 [%s]", txt);
- g_free(guide_text_dns1);
- guide_text_dns1 = g_strdup(txt);
- break;
- case VIEW_STATICIP_TYPE_DNS2:
- txt = view_detail_datamodel_static_dns2_address_get();
- DEBUG_LOG(UG_NAME_NORMAL, "* DNS2 [%s]", txt);
- g_free(guide_text_dns2);
- guide_text_dns2 = g_strdup(txt);
- break;
- }
-
- elm_object_part_text_set(layout, "elm.guidetext", txt);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_IP);
- elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_NO_IMAGE);
-
- evas_object_smart_callback_add(entry, "changed", _entry_changed_cb, layout);
- evas_object_smart_callback_add(entry, "focused", _entry_focused_cb, layout);
- evas_object_smart_callback_add(entry, "unfocused", _entry_unfocused_cb, layout);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry);
-
- evas_object_show(entry);
- }
-
- }
-
- __COMMON_FUNC_EXIT__;
- return layout;
-}
-
-static void _view_staticip_list_del(void *data, Evas_Object *obj)
-{
- __COMMON_FUNC_ENTER__;
-
- if (data == NULL)
- return;
-
- _view_staticip_description_data* det = (_view_staticip_description_data *) data;
-
- if (det->title)
- g_free(det->title);
-
- g_free(data);
-
- __COMMON_FUNC_EXIT__;
-}
-
-static Evas_Object* _create_list(Evas_Object* parent)
-{
- __COMMON_FUNC_ENTER__;
-
- ip_itc.item_style = "1icon";
- ip_itc.func.text_get = NULL;
- ip_itc.func.content_get = _view_staticip_content_get;
- ip_itc.func.state_get = NULL;
- ip_itc.func.del = _view_staticip_list_del;
-
- Evas_Object *list = elm_genlist_add(parent);
- elm_genlist_mode_set(list, ELM_LIST_LIMIT);
- evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(list);
-
- sep_itc.item_style = "dialogue/seperator";
- sep_itc.func.text_get = NULL;
- sep_itc.func.content_get = NULL;
- sep_itc.func.state_get = NULL;
- sep_itc.func.del = NULL;
-
- Elm_Object_Item *sep = NULL;
- sep = elm_genlist_item_append(list, &sep_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- /* add list */
- _add_list_item(list, VIEW_STATICIP_TYPE_IP, sc(PACKAGE, I18N_TYPE_IP_address));
- _add_list_item(list, VIEW_STATICIP_TYPE_SUBNET, sc(PACKAGE, I18N_TYPE_Subnet_mask));
- _add_list_item(list, VIEW_STATICIP_TYPE_GATEWAY, sc(PACKAGE, I18N_TYPE_Gateway));
- _add_list_item(list, VIEW_STATICIP_TYPE_DNS1, sc(PACKAGE, I18N_TYPE_DNS_1));
- _add_list_item(list, VIEW_STATICIP_TYPE_DNS2, sc(PACKAGE, I18N_TYPE_DNS_2));
-
- __COMMON_FUNC_EXIT__;
-
- return list;
-}
-
-static boolean isValidIP(const char *szIP)
-{
- __COMMON_FUNC_ENTER__;
-
- unsigned int n1,n2,n3,n4;
- if (NULL == szIP) {
- __COMMON_FUNC_EXIT__;
- return FALSE;
- }
-
- INFO_LOG(UG_NAME_NORMAL, "* str [%s]", szIP);
-
- int i;
- int nDotCnt = 0;
- for(i=0; i<strlen(szIP); i++) {
- if(szIP[i] == '.') {
- ++nDotCnt;
- } else if(szIP[i] == ':') {
- __COMMON_FUNC_EXIT__;
- return FALSE;
- } else if(szIP[i] == '\0') {
- break;
- } else if(0 == isdigit((int)szIP[i])) {
- __COMMON_FUNC_EXIT__;
- return FALSE;
- }
- }
-
- if (nDotCnt > 3){
- __COMMON_FUNC_EXIT__;
- return FALSE;
- }
-
- /* check dotted decial addressing format */
- if(sscanf(szIP, "%u.%u.%u.%u", &n1, &n2, &n3, &n4) != 4) {
- __COMMON_FUNC_EXIT__;
- return FALSE;
- }
-
- /* check IPv4 address class invariants */
- //if(!n1) return FALSE;
-
- /* check address range */
- if ((n1 < 0x100) &&
- (n2 < 0x100) &&
- (n3 < 0x100) &&
- (n4 < 0x100)){
- __COMMON_FUNC_EXIT__;
- return TRUE;
- } else {
- __COMMON_FUNC_EXIT__;
- return FALSE;
- }
-}
-
-static boolean _staticip_check(void)
-{
- __COMMON_FUNC_ENTER__;
-
- boolean ret = FALSE;
-
- /** current addresses get */
- char* str1= view_detail_datamodel_static_ip_address_get();
- char* str2= view_detail_datamodel_static_subnet_mask_get();
- char* str3= view_detail_datamodel_static_gateway_address_get();
- char* str4= view_detail_datamodel_static_dns1_address_get();
- char* str5= view_detail_datamodel_static_dns2_address_get();
-
- assertm_if(NULL == str1, "NULL!!");
- assertm_if(NULL == str2, "NULL!!");
- assertm_if(NULL == str3, "NULL!!");
- assertm_if(NULL == str4, "NULL!!");
- assertm_if(NULL == str5, "NULL!!");
-
- /** reset target value from "" to guide-text when user input is zero */
- if(0 == strlen(str1)) {
- g_free(str1);
- DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_ip);
- view_detail_datamodel_static_ip_address_set(guide_text_ip);
- str1 = view_detail_datamodel_static_ip_address_get();
- }
- if(0 == strlen(str2)) {
- g_free(str2);
- DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_subnet);
- view_detail_datamodel_static_subnet_mask_set(guide_text_subnet);
- str2 = view_detail_datamodel_static_subnet_mask_get();
- }
- if(0 == strlen(str3)) {
- g_free(str3);
- DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_gateway);
- view_detail_datamodel_static_gateway_address_set(guide_text_gateway);
- str3 = view_detail_datamodel_static_gateway_address_get();
- }
- if(0 == strlen(str4)) {
- g_free(str4);
- DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_dns1);
- view_detail_datamodel_static_dns1_address_set(guide_text_dns1);
- str4 = view_detail_datamodel_static_dns1_address_get();
- }
- if(0 == strlen(str5)) {
- g_free(str5);
- DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_dns2);
- view_detail_datamodel_static_dns2_address_set(guide_text_dns2);
- str5 = view_detail_datamodel_static_dns2_address_get();
- }
-
- /** Judge valid or not */
- if(isValidIP(str1) == TRUE &&
- isValidIP(str2) == TRUE &&
- isValidIP(str3) == TRUE &&
- isValidIP(str4) == TRUE &&
- isValidIP(str5) == TRUE) {
-
- ret = TRUE;
- } else {
- ret = FALSE;
- }
-
- g_free(str1);
- g_free(str2);
- g_free(str3);
- g_free(str4);
- g_free(str5);
-
- __COMMON_FUNC_EXIT__;
- return ret;
-}
-
-static void static_done_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if(view_staticip_end == TRUE) {
- __COMMON_FUNC_EXIT__;
- return;
- }
- view_staticip_end = TRUE;
-
- boolean det = _staticip_check();
- if (det) {
- detailview_ip_and_dns_type_set_as_static();
- elm_naviframe_item_pop(viewer_manager_get_naviframe());
-
- g_free((gpointer) guide_text_ip);
- g_free((gpointer) guide_text_subnet);
- g_free((gpointer) guide_text_gateway);
- g_free((gpointer) guide_text_dns1);
- g_free((gpointer) guide_text_dns2);
-
- guide_text_ip = NULL;
- guide_text_subnet = NULL;
- guide_text_gateway = NULL;
- guide_text_dns1 = NULL;
- guide_text_dns2 = NULL;
- } else {
- winset_popup_mode_set(NULL, POPUP_MODE_INPUT_FAILED,
- POPUP_OPTION_INPUT_FAILED_PROXY_IP_MISTYPE);
- view_staticip_end = FALSE;
- }
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void static_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if(view_staticip_end == TRUE) {
- __COMMON_FUNC_EXIT__;
- return;
- }
- view_staticip_end = TRUE;
-
- __COMMON_FUNC_EXIT__;
-}
-
-static Evas_Object* _create_conformant(Evas_Object* parent)
-{
- assertm_if(NULL == parent, "NULL!!");
-
- Evas_Object* conform = NULL;
- elm_win_conformant_set(parent, TRUE);
- conform = elm_conformant_add(parent);
- assertm_if(NULL == conform, "NULL!!");
-
- elm_object_style_set(conform, "internal_layout");
- evas_object_show(conform);
-
- return conform;
-}
-
-void view_staticip()
-{
- __COMMON_FUNC_ENTER__;
-
- view_staticip_end = FALSE;
-
- Evas_Object* navi_frame = NULL;
- navi_frame = viewer_manager_get_naviframe();
- assertm_if(NULL == navi_frame, "NULL!!");
-
- Evas_Object *layout = elm_layout_add(navi_frame);
- elm_layout_theme_set(layout, "layout", "application", "noindicator");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *bg = elm_bg_add(layout);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_style_set(bg, "group_list");
- elm_object_part_content_set(layout, "elm.swallow.bg", bg);
-
- Evas_Object* conform = NULL;
- conform = _create_conformant(layout);
- assertm_if(NULL == conform, "NULL!!");
- elm_object_part_content_set(layout, "elm.swallow.content", conform);
-
- Evas_Object* bx = NULL;
- bx = _create_list(conform);
- assertm_if(NULL == bx, "NULL!!");
-
- evas_object_show(layout);
- elm_object_content_set(conform, bx);
-
- Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Static_IP), NULL, NULL, layout, NULL);
-
- Evas_Object *button_done = elm_button_add(navi_frame);
- elm_object_style_set(button_done, "naviframe/title/default");
- elm_object_text_set(button_done, sc(PACKAGE, I18N_TYPE_Done));
- evas_object_smart_callback_add(button_done, "clicked", (Evas_Smart_Cb) static_done_cb, NULL);
- elm_object_item_part_content_set(navi_it, "title_right_btn", button_done);
-
- Evas_Object* button_back = elm_object_item_part_content_get(navi_it, "prev_btn");
- elm_object_focus_allow_set(button_back, EINA_TRUE);
- evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)static_back_cb, NULL);
-
- __COMMON_FUNC_EXIT__;
-}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "wifi.h"
#include "viewer_manager.h"
#include "view_ime_hidden.h"
#include "wlan_manager.h"
#include "wifi-ui-list-callbacks.h"
-#include "popup.h"
+#include "winset_popup.h"
+#include "common_utils.h"
+#include "common_datamodel.h"
+
+#define LIST_ITEM_CONNECTED_AP_FONT_SIZE 28
+#define LIST_ITEM_CONNECTED_AP_FONT_COLOR "#00FFFF"
+typedef struct {
+ wlan_security_mode_type_t sec_mode;
+ char *ssid;
+ Evas_Object *confirmation_popup;
+} hidden_ap_data_t;
typedef struct viewer_manager_object {
Evas_Object* nav;
- Elm_Object_Item* scan_button;
+ Evas_Object* scan_button;
+ Evas_Object* next_button;
+ Evas_Object* prev_button;
Evas_Object* list;
- Elm_Object_Item *current_selected_item;
Elm_Object_Item *item_hidden_btn;
Elm_Object_Item *item_sep_above_hidden_button;
Elm_Object_Item *item_sep_below_hidden_button;
- Eina_Bool click_enabled;
- Eina_Bool update_enabled;
-
char* header_text;
HEADER_MODES header_mode;
Elm_Object_Item* item_header;
Elm_Object_Item* item_bottom;
+ Elm_Object_Item* item_bottom_helper_txt;
} viewer_manager_object;
static viewer_manager_object* manager_object = NULL;
-extern struct wifi_appdata *app_state;
+extern wifi_appdata *ug_app_state;
-static Elm_Genlist_Item_Class header_itc;
static Elm_Genlist_Item_Class header_itc_text;
static Elm_Genlist_Item_Class bottom_itc;
static Elm_Genlist_Item_Class bottom_itc_text;
-static Elm_Genlist_Item_Class hidden_button_seperator_itc;
+static Elm_Genlist_Item_Class bottom_itc_helper_text;
static Elm_Genlist_Item_Class hidden_button_itc;
+static char *viewer_manager_get_device_status_txt(wifi_device_info_t *wifi_device, VIEWER_ITEM_RADIO_MODES mode);
+
int power_control()
{
__COMMON_FUNC_ENTER__;
switch (cur_state) {
case HEADER_MODE_OFF:
case HEADER_MODE_ACTIVATING:
+
INFO_LOG(UG_NAME_NORMAL, "wifi state power off/powering off");
ret = wlan_manager_request_power_on();
switch (ret){
case WLAN_MANAGER_ERR_NONE:
INFO_LOG(UG_NAME_NORMAL, "power on ok");
+ viewer_manager_header_mode_set(HEADER_MODE_ACTIVATING);
+ break;
case WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED:
viewer_manager_header_mode_set(HEADER_MODE_ACTIVATING);
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT, NULL);
+ break;
+ case WLAN_MANAGER_ERR_IN_PROGRESS:
+ /* Do nothing */
break;
default:
viewer_manager_header_mode_set(HEADER_MODE_OFF);
+ INFO_LOG(UG_NAME_NORMAL, "power on failed. ret = %d", ret);
+ break;
}
break;
+
case HEADER_MODE_ON:
+ case HEADER_MODE_CONNECTING:
+ case HEADER_MODE_DISCONNECTING:
+ case HEADER_MODE_CANCEL_CONNECTING:
case HEADER_MODE_CONNECTED:
- INFO_LOG(UG_NAME_NORMAL, "wifi state power on/connected");
+ case HEADER_MODE_SEARCHING:
+
viewer_list_item_clear();
+ INFO_LOG(UG_NAME_NORMAL, "wifi state power on/connected");
ret = wlan_manager_request_power_off();
switch (ret) {
case WLAN_MANAGER_ERR_NONE:
+ viewer_manager_show(VIEWER_WINSET_SEARCHING);
viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS);
- viewer_manager_hide(VIEWER_WINSET_SEARCHING);
viewer_manager_header_mode_set(HEADER_MODE_DEACTIVATING);
+ wlan_manager_disable_scan_result_update(); // Lets ignore all the scan updates because we are powering off now.
+ break;
+ case WLAN_MANAGER_ERR_IN_PROGRESS:
+ /* Do nothing */
break;
default:
+ INFO_LOG(UG_NAME_NORMAL, "power off failed. ret = %d", ret);
break;
}
break;
+
+ case HEADER_MODE_DEACTIVATING:
default:
- INFO_LOG(UG_NAME_NORMAL, "powering on or scanning state, header is not working %d\n", cur_state);
+ INFO_LOG(UG_NAME_NORMAL, "Powering off in progress. Let it complete. \n");
break;
}
- switch (ret) {
- case WLAN_MANAGER_ERR_NONE:
- break;
- case WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED:
- winset_popup_mode_set(NULL, POPUP_MODE_POWER_ON_FAILED, POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT);
+ __COMMON_FUNC_EXIT__;
+ return TRUE;
+}
+
+static void _hide_finished_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ view_manager_view_type_t top_view_id = (view_manager_view_type_t)evas_object_data_get(obj, SCREEN_TYPE_ID_KEY);
+
+ if (data == elm_naviframe_top_item_get(obj)) {
+ /* We are now in main view */
+ evas_object_data_set(obj, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN);
+ top_view_id = VIEW_MANAGER_VIEW_TYPE_MAIN;
+ }
+
+ INFO_LOG(UG_NAME_NORMAL, "top view id = %d", top_view_id);
+
+ switch(top_view_id) {
+ case VIEW_MANAGER_VIEW_TYPE_MAIN:
+ /* Lets enable the scan updates */
+ wlan_manager_enable_scan_result_update();
break;
+
+ case VIEW_MANAGER_VIEW_TYPE_DETAIL:
+ case VIEW_MANAGER_VIEW_TYPE_EAP:
default:
+ /* Lets disable the scan updates so that the UI is not refreshed un-necessarily */
+ wlan_manager_disable_scan_result_update();
break;
}
+}
- __COMMON_FUNC_EXIT__;
- return TRUE;
+void _lbutton_click_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ service_h service;
+ int ret;
+
+ ret = service_create(&service);
+ if (ret != SERVICE_ERROR_NONE) {
+ INFO_LOG(UG_NAME_ERR, "service_create failed: %d", ret);
+ return;
+ }
+
+ service_add_extra_data(service, "result", "lbutton_click");
+ ug_send_result(ug_app_state->ug, service);
+
+ service_destroy(service);
+
+ wifi_exit();
}
-static void _hide_finished_cb(void *data, Evas_Object *obj, void *event_info)
+void _rbutton_click_cb(void *data, Evas_Object *obj, void *event_info)
{
- Elm_Object_Item* top_it = elm_naviframe_top_item_get(obj);
+ service_h service;
+ int ret;
- const char* title = elm_object_item_text_get((Elm_Object_Item*)data);
- const char* title_top = elm_object_item_text_get(top_it);
-
- if(title == title_top) {
- app_state->current_view = VIEW_MAIN;
- }else if(!strcmp(title_top, "Password")) {
- app_state->current_view = VIEW_PASSWORD;
- }else if(!strcmp(title_top, sc(PACKAGE, I18N_TYPE_Hidden_AP))) {
- app_state->current_view = VIEW_HIDDEN_AP;
- }else if(!strcmp(title_top, sc(PACKAGE, I18N_TYPE_Static_IP))) {
- app_state->current_view = VIEW_STATIC_IP;
- }else if(!strcmp(title_top, sc(PACKAGE, I18N_TYPE_Dynamic_IP))) {
- app_state->current_view = VIEW_DHCP_IP;
- }else {
- app_state->current_view = VIEW_DETAIL;
+ ret = service_create(&service);
+ if (ret != SERVICE_ERROR_NONE) {
+ INFO_LOG(UG_NAME_ERR, "service_create failed: %d", ret);
+ return;
}
+
+ service_add_extra_data(service, "result", "rbutton_click");
+ ug_send_result(ug_app_state->ug, service);
+
+ service_destroy(service);
+
+ wifi_exit();
}
void _back_sk_cb(void *data, Evas_Object *obj, void *event_info)
{
__COMMON_FUNC_ENTER__;
- if (app_state->bAlive == EINA_FALSE)
+ if (ug_app_state->bAlive == EINA_FALSE)
return;
int cur_state = -1;
cur_state = viewer_manager_header_mode_get();
- if (app_state->bundle_back_button_show_force_when_connected == EINA_TRUE &&
- cur_state != HEADER_MODE_CONNECTED){
- winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_BACK_ENABLE_WHEN_CONNECTED_ERROR);
- } else {
- wifi_exit();
- }
+ wifi_exit();
}
void _refresh_sk_cb(void *data, Evas_Object *obj, void *event_info)
int ret = WLAN_MANAGER_ERR_NONE;
switch(cur_state){
+ case HEADER_MODE_DEACTIVATING:
case HEADER_MODE_OFF:
- power_control();
+ viewer_manager_show(VIEWER_WINSET_SEARCHING);
break;
+
case HEADER_MODE_ON:
case HEADER_MODE_CONNECTED:
ret = wlan_manager_request_scan();
if(WLAN_MANAGER_ERR_NONE == ret) {
viewer_manager_show(VIEWER_WINSET_SEARCHING);
viewer_manager_header_mode_set(HEADER_MODE_SEARCHING);
+ } else {
+ INFO_LOG(COMMON_NAME_ERR, "Manual scan failed. Err = %d", ret);
}
break;
-
+ default:
+ INFO_LOG(UG_NAME_NORMAL, "Manual scan requested in wrong state: %d", cur_state);
+ break;
}
}
-static void _header_onoff_cb(void *data, Evas_Object *obj, void *event_info)
+static int _genlist_item_disable_later(void* data)
{
- __COMMON_FUNC_ENTER__;
- power_control();
- __COMMON_FUNC_EXIT__;
- return;
+ if(NULL != data) {
+ elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE);
+ }
+ return FALSE;
}
static char *_gl_header_text_get(void *data, Evas_Object *obj, const char *part)
{
- assertm_if(NULL == part, "NULL!!");
-
- if (part != NULL) {
- if (!strncmp(part, "elm.text", strlen(part))) {
- char* det = NULL;
- det = strdup(manager_object->header_text);
- assertm_if(NULL == det, "NULL!!");
- __COMMON_FUNC_EXIT__;
- return det;
- }
+ char* det = NULL;
+
+ __COMMON_FUNC_ENTER__;
+
+ if (manager_object == NULL)
+ return NULL;
+
+ if (!strncmp(part, "elm.text", strlen(part))) {
+ det = g_strdup(manager_object->header_text);
+ assertm_if(NULL == det, "NULL!!");
}
- return NULL;
+ __COMMON_FUNC_EXIT__;
+ return det;
+}
+
+static void _gl_header_sel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ const HEADER_MODES header_mode = viewer_manager_header_mode_get();
+ if (HEADER_MODE_ACTIVATING != header_mode && HEADER_MODE_DEACTIVATING != header_mode)
+ power_control();
+
+ ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, manager_object->item_header);
+
+ elm_genlist_item_update(manager_object->item_header);
+
+ __COMMON_FUNC_EXIT__;
+ return;
}
static Evas_Object *_gl_header_content_get(void *data, Evas_Object *obj, const char *part)
{
+ if (manager_object == NULL)
+ return NULL;
+
Evas_Object* ret = NULL;
- assertm_if(NULL == part, "NULL!!");
- assertm_if(NULL == obj, "NULL!!");
- assertm_if(NULL == manager_object, "NULL!!");
+ Evas_Object *toggle_btn = (Evas_Object *)data;
+ Evas_Object *icon = NULL;
+
+ __COMMON_FUNC_ENTER__;
+
+ assertm_if(NULL == toggle_btn, "NULL!!");
- Evas_Object *header_onoff = NULL;
if (!strncmp(part, "elm.icon", strlen(part))) {
switch (manager_object->header_mode) {
case HEADER_MODE_OFF:
- header_onoff = elm_check_add(obj);
- assertm_if(NULL == header_onoff, "NULL!!");
-
- evas_object_propagate_events_set(header_onoff, EINA_FALSE);
- elm_object_style_set(header_onoff, "on&off");
- elm_check_state_set(header_onoff, EINA_FALSE);
- evas_object_show(header_onoff);
- evas_object_smart_callback_add(header_onoff, "changed", (Evas_Smart_Cb)_header_onoff_cb, NULL);
- ret = header_onoff;
+ /* Show WiFi off indication button */
+ elm_check_state_set(toggle_btn, EINA_FALSE);
+ ret = toggle_btn;
break;
- case HEADER_MODE_ON:
- case HEADER_MODE_CONNECTED:
- header_onoff = elm_check_add(obj);
- assertm_if(NULL == header_onoff, "NULL!!");
-
- evas_object_propagate_events_set(header_onoff, EINA_FALSE);
- elm_object_style_set(header_onoff, "on&off");
- elm_check_state_set(header_onoff, EINA_TRUE);
- evas_object_show(header_onoff);
- evas_object_smart_callback_add(header_onoff, "changed", (Evas_Smart_Cb)_header_onoff_cb, NULL);
- ret = header_onoff;
+
+ case HEADER_MODE_ACTIVATING:
+ case HEADER_MODE_DEACTIVATING:
+ /* Dont display the WiFi on/off indication while it is Activating/Deactivating */
+ icon = elm_progressbar_add(obj);
+ elm_object_style_set(icon, "list_process");
+ evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_pulse(icon, TRUE);
+ ret = icon;
break;
- default:
+
+ default: /* Show WiFi on indication button */
+ elm_check_state_set(toggle_btn, EINA_TRUE);
+ ret = toggle_btn;
break;
}
}
- assertm_if(NULL == ret, "NULL!!");
+ __COMMON_FUNC_EXIT__;
return ret;
}
+static void _gl_header_del(void* data, Evas_Object* obj)
+{
+ if (data == NULL)
+ return;
+
+ __COMMON_FUNC_ENTER__;
+ evas_object_unref(data);
+ __COMMON_FUNC_EXIT__;
+
+ return;
+}
+
static char *_gl_bottom_text_get(void *data, Evas_Object *obj, const char *part)
{
- assertm_if(NULL == part, "NULL!!");
-
- if (part != NULL) {
- if (!strncmp(part, "elm.text", strlen(part))) {
- char* det = NULL;
- det = strdup(sc(PACKAGE, I18N_TYPE_Network_notification));
- assertm_if(NULL == det, "NULL!!");
- __COMMON_FUNC_EXIT__;
- return det;
- }
+ char* det = NULL;
+
+ __COMMON_FUNC_ENTER__;
+
+ if (!strncmp(part, "elm.text", strlen(part))) {
+ det = g_strdup(sc(PACKAGE, I18N_TYPE_Network_notification));
+ assertm_if(NULL == det, "NULL!!");
}
- return NULL;
+ __COMMON_FUNC_EXIT__;
+ return det;
}
-static void _bottom_header_callback(void *data, Evas_Object *obj, void *event_info)
+static char *_gl_bottom_helper_text_get(void *data, Evas_Object *obj, const char *part)
{
+ char* det = NULL;
+
__COMMON_FUNC_ENTER__;
+ det = g_strdup(sc(PACKAGE, I18N_TYPE_Network_notify_me_later));
+
+ __COMMON_FUNC_EXIT__;
+ return det;
+}
+
+static void _gl_bottom_sel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
int ret = -1;
int bottom_ret = (int)elm_check_state_get(obj);
break;
}
+ ecore_idler_add( (Ecore_Task_Cb)_genlist_item_disable_later, manager_object->item_bottom);
+ elm_genlist_item_update(manager_object->item_bottom);
+
__COMMON_FUNC_EXIT__;
}
{
__COMMON_FUNC_ENTER__;
- assertm_if(NULL == obj, "NULL!!");
+ if (manager_object == NULL || obj == NULL)
+ return NULL;
int ret = -1;
- Evas_Object* onoff = elm_check_add(obj);
- elm_object_style_set(onoff, "on&off");
-
- assertm_if(NULL == onoff, "NULL!!");
-
+ Evas_Object *toggle_btn = elm_check_add(obj);
+ assertm_if(NULL == toggle_btn, "NULL!!");
+ elm_object_style_set(toggle_btn, "on&off");
+ evas_object_propagate_events_set(toggle_btn, EINA_TRUE);
ret = wifi_setting_value_get(VCONFKEY_WIFI_ENABLE_QS);
switch (ret) {
case 1:
- elm_check_state_set(onoff, EINA_TRUE);
+ elm_check_state_set(toggle_btn, EINA_TRUE);
break;
case 0:
- elm_check_state_set(onoff, EINA_FALSE);
+ elm_check_state_set(toggle_btn, EINA_FALSE);
break;
default:
assertm_if(TRUE, "Setting fail!!");
break;
}
- evas_object_smart_callback_add(onoff, "changed", (Evas_Smart_Cb)_bottom_header_callback, NULL);
-
__COMMON_FUNC_EXIT__;
- return onoff;
-}
-
-static int _genlist_item_disable_later(void* data)
-{
- if(NULL != data) {
- elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE);
- }
- return FALSE;
-}
-
-static void _gl_header_sel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
- power_control();
- ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, manager_object->item_header);
- __COMMON_FUNC_EXIT__;
- return;
-}
-
-static void _gl_bottom_sel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
- _bottom_header_callback(data, obj, event_info);
- ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, manager_object->item_bottom);
- elm_genlist_item_item_class_update((Elm_Object_Item*)event_info, &bottom_itc_text);
- __COMMON_FUNC_EXIT__;
- return;
+ return toggle_btn;
}
static Evas_Object *_gl_hidden_btn_content_get(void *data, Evas_Object *obj, const char *part)
{
- __COMMON_FUNC_ENTER__;
-
- Evas_Object* ret = NULL;
- assertm_if(NULL == part, "NULL!!");
- assertm_if(NULL == obj, "NULL!!");
-
- DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part);
+ Evas_Object *find_hidden_ap_btn = elm_button_add(obj);
+ elm_object_text_set(find_hidden_ap_btn, sc(PACKAGE, I18N_TYPE_Find_Hidden_Network));
- if (!strncmp(part, "elm.icon", strlen(part))) {
- ret = elm_button_add(obj);
- assertm_if(NULL == ret, "NULL!!");
-
- elm_object_text_set(ret, sc(PACKAGE, I18N_TYPE_Hidden_AP));
- }
-
- if (manager_object->item_hidden_btn != NULL) {
- int state = elm_object_item_disabled_get(manager_object->item_hidden_btn);
- elm_object_disabled_set(ret, state);
- }
-
- __COMMON_FUNC_EXIT__;
- return ret;
+ return find_hidden_ap_btn;
}
-static void _hiddne_button_callback(void* data, Evas_Object* obj, void* event_info)
+static void _hidden_button_callback(void* data, Evas_Object* obj, void* event_info)
{
__COMMON_FUNC_ENTER__;
- viewer_manager_set_enabled_list_click(EINA_FALSE);
- viewer_manager_set_enabled_list_update(EINA_FALSE);
- view_ime_hidden();
+ ug_app_state->hidden_ap_popup = view_hidden_ap_popup_create(ug_app_state->win_main, PACKAGE);
ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info);
__COMMON_FUNC_EXIT__;
}
-int viewer_manager_header_create(Evas_Object* genlist)
+static int viewer_manager_header_create(Evas_Object* genlist)
{
__COMMON_FUNC_ENTER__;
-
- manager_object->header_text = NULL;
- manager_object->header_text = strdup("Wi-Fi");
- assertm_if(NULL == manager_object->header_text, "NULL!!");
-
- header_itc.item_style = "dialogue/seperator";
- header_itc.func.text_get = NULL;
- header_itc.func.content_get = NULL;
- header_itc.func.state_get = NULL;
- header_itc.func.del = NULL;
+ Evas_Object *toggle_btn = NULL;
+ manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi));
header_itc_text.item_style = "dialogue/1text.1icon";
header_itc_text.func.text_get = _gl_header_text_get;
header_itc_text.func.content_get = _gl_header_content_get;
header_itc_text.func.state_get = NULL;
- header_itc_text.func.del = NULL;
+ header_itc_text.func.del = _gl_header_del;
- Elm_Object_Item* dialoguegroup = elm_genlist_item_append(genlist, &header_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- assertm_if(NULL == dialoguegroup, "NULL!!");
- elm_genlist_item_select_mode_set(dialoguegroup, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ common_utils_add_dialogue_separator(genlist, "dialogue/separator");
+
+ toggle_btn = elm_check_add(genlist);
+ elm_object_style_set(toggle_btn, "on&off");
+ evas_object_propagate_events_set(toggle_btn, EINA_TRUE);
+ elm_check_state_set(toggle_btn, EINA_FALSE);
+ evas_object_show(toggle_btn);
+ evas_object_ref(toggle_btn);
assertm_if(NULL != manager_object->item_header, "ERROR!!");
- manager_object->item_header = elm_genlist_item_append(genlist, &header_itc_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_header_sel_cb, NULL);
+ manager_object->item_header = elm_genlist_item_append(genlist, &header_itc_text, toggle_btn, NULL, ELM_GENLIST_ITEM_NONE, _gl_header_sel_cb, NULL);
assertm_if(NULL == manager_object->item_header, "NULL!!");
__COMMON_FUNC_EXIT__;
return TRUE;
}
-int viewer_manager_bottom_create(Evas_Object* genlist)
+static int viewer_manager_bottom_create(Evas_Object* genlist)
{
__COMMON_FUNC_ENTER__;
assertm_if(NULL == genlist, "NULL!!");
bottom_itc_text.func.state_get = NULL;
bottom_itc_text.func.del = NULL;
+ bottom_itc_helper_text.item_style = "multiline/1text";
+ bottom_itc_helper_text.func.text_get = _gl_bottom_helper_text_get;
+ bottom_itc_helper_text.func.content_get = NULL;
+ bottom_itc_helper_text.func.state_get = NULL;
+ bottom_itc_helper_text.func.del = NULL;
+
Elm_Object_Item* dialoguegroup = elm_genlist_item_append(genlist, &bottom_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
assertm_if(NULL == dialoguegroup, "NULL!!");
elm_genlist_item_select_mode_set(dialoguegroup, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
manager_object->item_bottom = elm_genlist_item_append(genlist, &bottom_itc_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_bottom_sel_cb, NULL);
assertm_if(NULL == manager_object->item_bottom, "NULL!!");
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ manager_object->item_bottom_helper_txt = elm_genlist_item_append(genlist, &bottom_itc_helper_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(manager_object->item_bottom_helper_txt, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
__COMMON_FUNC_EXIT__;
return TRUE;
}
-int viewer_manager_hidden_button_create(Evas_Object* genlist)
+static int viewer_manager_hidden_button_create(Evas_Object* genlist)
{
__COMMON_FUNC_ENTER__;
assertm_if(NULL == genlist, "NULL!!");
- hidden_button_seperator_itc.item_style = "dialogue/seperator";
- hidden_button_seperator_itc.func.text_get = NULL;
- hidden_button_seperator_itc.func.content_get = NULL;
- hidden_button_seperator_itc.func.state_get = NULL;
- hidden_button_seperator_itc.func.del = NULL;
-
hidden_button_itc.item_style = "dialogue/bg/1icon";
hidden_button_itc.func.text_get = NULL;
hidden_button_itc.func.content_get = _gl_hidden_btn_content_get;
hidden_button_itc.func.state_get = NULL;
hidden_button_itc.func.del = NULL;
- manager_object->item_sep_above_hidden_button = elm_genlist_item_append(genlist, &hidden_button_seperator_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- assertm_if(NULL == manager_object->item_sep_above_hidden_button, "NULL!!");
- elm_genlist_item_select_mode_set(manager_object->item_sep_above_hidden_button, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- manager_object->item_hidden_btn = elm_genlist_item_append(genlist, &hidden_button_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _hiddne_button_callback, NULL);
+ manager_object->item_sep_above_hidden_button = common_utils_add_dialogue_separator(genlist, "dialogue/separator/20");
+
+ manager_object->item_hidden_btn = elm_genlist_item_append(genlist, &hidden_button_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _hidden_button_callback, NULL);
assertm_if(NULL == manager_object->item_hidden_btn, "NULL!!");
- manager_object->item_sep_below_hidden_button = elm_genlist_item_append(genlist, &hidden_button_seperator_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- assertm_if(NULL == manager_object->item_sep_below_hidden_button, "NULL!!");
- elm_genlist_item_select_mode_set(manager_object->item_sep_below_hidden_button, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ common_utils_add_dialogue_separator(genlist, "dialogue/separator/end");
__COMMON_FUNC_EXIT__;
return TRUE;
}
-Eina_Bool viewer_manager_scan_button_set(Eina_Bool show_state)
+static Eina_Bool viewer_manager_scan_button_set(Eina_Bool show_state)
{
__COMMON_FUNC_ENTER__;
__COMMON_FUNC_EXIT__;
return EINA_FALSE;
}
-
+
if(show_state == EINA_TRUE) {
- if(app_state->current_view == VIEW_MAIN) {
+ Evas_Object* navi_frame = viewer_manager_get_naviframe();
+ view_manager_view_type_t top_view_id = (view_manager_view_type_t)evas_object_data_get(navi_frame, SCREEN_TYPE_ID_KEY);
+ if(VIEW_MANAGER_VIEW_TYPE_MAIN == top_view_id) {
INFO_LOG(UG_NAME_NORMAL,"Show directly");
- elm_object_item_disabled_set(manager_object->scan_button, EINA_FALSE);
+ elm_object_item_disabled_set((Elm_Object_Item *)manager_object->scan_button, EINA_FALSE);
} else {
INFO_LOG(UG_NAME_NORMAL,"Show reserve");
}
} else if (show_state == EINA_FALSE) {
- elm_object_item_disabled_set(manager_object->scan_button, EINA_TRUE);
+ elm_object_item_disabled_set((Elm_Object_Item *)manager_object->scan_button, EINA_TRUE);
}
__COMMON_FUNC_EXIT__;
memset(manager_object, 0, sizeof(viewer_manager_object));
manager_object->list = NULL;
- manager_object->current_selected_item = NULL;
- manager_object->click_enabled = EINA_TRUE;
- manager_object->update_enabled = EINA_TRUE;
manager_object->item_hidden_btn = NULL;
manager_object->item_sep_above_hidden_button = NULL;
manager_object->item_sep_below_hidden_button = NULL;
elm_object_content_set(conform, manager_object->list);
- /* Push in Navigationbar */
- Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), button_back, NULL, view_content, NULL);
- evas_object_smart_callback_add(manager_object->nav, "transition,finished", (Evas_Smart_Cb)_hide_finished_cb, navi_it);
+ if (ug_app_state->ug_type == UG_VIEW_SETUP_WIZARD) {
+ Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), NULL, NULL, view_content, NULL);
+ evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN);
+ evas_object_smart_callback_add(manager_object->nav, "transition,finished", _hide_finished_cb, navi_it);
- /* Add Toolbar */
- Evas_Object *toolbar = elm_toolbar_add(manager_object->nav);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ Evas_Object *toolbar = elm_toolbar_add(manager_object->nav);
+ elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- manager_object->scan_button = elm_toolbar_item_append(toolbar, NULL, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL);
- elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE);
- elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
+ if(ug_app_state->lbutton_setup_wizard_prev_icon != NULL && ug_app_state->lbutton_setup_wizard != NULL) {
+ manager_object->prev_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->lbutton_setup_wizard_prev_icon, ug_app_state->lbutton_setup_wizard, _lbutton_click_cb, NULL);
+ elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE);
+ }
+ if(ug_app_state->rbutton_setup_wizard_scan_icon != NULL) {
+ manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_scan_icon, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL);
+ elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE);
+ }
+ if(ug_app_state->rbutton_setup_wizard_skip_icon != NULL && ug_app_state->rbutton_setup_wizard_skip != NULL) {
+ manager_object->next_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_skip_icon, ug_app_state->rbutton_setup_wizard_skip, _rbutton_click_cb, NULL);
+ }
+ elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
- elm_object_style_set(button_back, "naviframe/back_btn/default");
- evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)_back_sk_cb, NULL);
+ } else {
+ Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), button_back, NULL, view_content, NULL);
+ evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN);
+ evas_object_smart_callback_add(manager_object->nav, "transition,finished", _hide_finished_cb, navi_it);
+
+ Evas_Object *toolbar = elm_toolbar_add(manager_object->nav);
+ elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+
+ manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, NULL, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL);
+ elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE);
+ elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
+
+ elm_object_style_set(button_back, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(button_back, "clicked", _back_sk_cb, NULL);
+ }
evas_object_show(layout);
viewer_list_destroy();
+ if (manager_object->header_text) {
+ g_free(manager_object->header_text);
+ manager_object->header_text = NULL;
+ }
if (manager_object != NULL) {
g_free(manager_object);
manager_object = NULL;
break;
case VIEWER_WINSET_SUB_CONTENTS:
assertm_if(NULL == manager_object->list, "NULL!!");
- viewer_list_title_item_set(manager_object->item_bottom);
+ viewer_list_title_item_set(manager_object->item_bottom_helper_txt);
viewer_manager_hidden_button_create(manager_object->list);
break;
}
break;
case VIEWER_WINSET_SUB_CONTENTS:
/* hidden AP and WPS PBC */
+ if (ug_app_state->passpopup) {
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ }
+ if (ug_app_state->eap_view) {
+ eap_view_close(ug_app_state->eap_view);
+ ug_app_state->eap_view = NULL;
+ }
viewer_list_title_item_del();
assertm_if(NULL == manager_object->item_sep_above_hidden_button, "NULL!!");
assertm_if(NULL == manager_object->item_sep_below_hidden_button, "NULL!!");
assertm_if(NULL == data, "data is NULL!!");
assertm_if(NULL == obj, "obj is NULL!!");
- genlist_data* gdata = (genlist_data*) data;
-
- if (manager_object->click_enabled == EINA_FALSE) {
- INFO_LOG(UG_NAME_NORMAL, "normal callback cancel by proccesing something");
- __COMMON_FUNC_EXIT__;
- return;
- }
+ wifi_device_info_t *device_info = (wifi_device_info_t *) data;
DEBUG_LOG(UG_NAME_NORMAL, "event_info:[%s]", (char*) elm_object_style_get(obj));
- radio_button_cb(gdata->device_info, obj, event_info);
+ radio_button_cb(device_info, obj, event_info);
elm_genlist_item_selected_set((Elm_Object_Item *)event_info, FALSE);
__COMMON_FUNC_EXIT__;
return;
}
-Elm_Object_Item* viewer_manager_item_set(void* entry_data,
- const char* ssid,
- const char* ap_image_path,
- VIEWER_ITEM_RADIO_MODES mode,
- VIEWER_CALLBACK_TYPES type,
- void*callback_data)
-{
- __COMMON_FUNC_ENTER__;
-
- Elm_Object_Item *item = NULL;
- assertm_if(NULL == manager_object, "manager_object is NULL!!");
- assertm_if(NULL == manager_object->list, "manager_object->list is NULL!!");
-
- switch (type) {
- case VIEWER_CALLBACK_TYPE_NORMAL_LIST:
- item = viewer_list_item_set(manager_object->list,
- entry_data,
- ssid,
- ap_image_path,
- mode,
- viewer_manager_genlist_normal_callback,
- callback_data);
- break;
- case VIEWER_CALLBACK_TYPE_NONE_AP_LIST:
- item = viewer_list_item_set(manager_object->list,
- entry_data,
- ssid,
- ap_image_path,
- mode,
- NULL,
- callback_data);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- break;
- default:
- break;
- }
-
- elm_genlist_item_update(item);
-
- __COMMON_FUNC_EXIT__;
- return item;
-}
-
-Elm_Object_Item *viewer_manager_current_selected_item_get(void)
-{
- __COMMON_FUNC_ENTER__;
-
- assertm_if(NULL == manager_object, "manager_object is NULL!!");
- assertm_if(NULL == manager_object->current_selected_item, "manager_object->current_selected_item is NULL!!");
-
- __COMMON_FUNC_EXIT__;
- return manager_object->current_selected_item;
-}
-
-void viewer_manager_current_selected_item_set(Elm_Object_Item *item)
-{
- __COMMON_FUNC_ENTER__;
-
- assertm_if(NULL == manager_object, "manager_object is NULL!!");
- assertm_if(NULL == item, "current is NULL!!");
-
- manager_object->current_selected_item = item;
-
- __COMMON_FUNC_EXIT__;
-}
-
-void viewer_manager_set_enabled_list_click(Eina_Bool enabled)
-{
- __COMMON_FUNC_ENTER__;
- if (manager_object == NULL)
- return;
- manager_object->click_enabled = enabled;
- __COMMON_FUNC_EXIT__;
-}
-
-void viewer_manager_set_enabled_list_update(Eina_Bool enabled)
-{
- __COMMON_FUNC_ENTER__;
- if (manager_object == NULL)
- return;
- manager_object->update_enabled = enabled;
- __COMMON_FUNC_EXIT__;
-}
-
-int viewer_manager_item_radio_mode_all_reset()
-{
- __COMMON_FUNC_ENTER__;
-
- Elm_Object_Item *gli = viewer_list_item_first_get(manager_object->list);
- int searched_device_num = wlan_manager_profile_scanned_length_get();
- int i=0;
-
- for (i=0; i<searched_device_num; i++) {
- viewer_manager_item_radio_mode_set(NULL, gli , VIEWER_ITEM_RADIO_MODE_OFF);
- gli = viewer_list_item_next_get(gli);
- }
-
- __COMMON_FUNC_EXIT__;
- return TRUE;
-}
-
int viewer_manager_item_radio_mode_set(void* object, Elm_Object_Item* item, VIEWER_ITEM_RADIO_MODES mode)
{
+ __COMMON_FUNC_ENTER__;
assertm_if(NULL == manager_object, "manager_object is NULL!!");
assertm_if(NULL == item, "item is NULL!!");
if (NULL == item) {
+ INFO_LOG(COMMON_NAME_ERR, "item is NULL");
return FALSE;
}
- INFO_LOG(UG_NAME_NORMAL, "radio mode %d\n", mode);
-
- genlist_data* gdata = (genlist_data*) viewer_list_item_data_get(item, "data");
- if (NULL == gdata) {
+
+ ug_genlist_data_t* gdata = (ug_genlist_data_t *) elm_object_item_data_get(item);
+ if (NULL == gdata || NULL == gdata->device_info) {
+ INFO_LOG(COMMON_NAME_ERR, "gdata or device_info is NULL");
return FALSE;
}
- gdata->radio_mode = mode;
-
- DEBUG_LOG(UG_NAME_NORMAL, "ssid:[%s], radiomode:[%d]", gdata->ssid, gdata->radio_mode);
-
- switch (mode) {
- case VIEWER_ITEM_RADIO_MODE_NULL:
- INFO_LOG(UG_NAME_NORMAL, "radio mode NULL");
- manager_object->click_enabled = EINA_TRUE;
- break;
- case VIEWER_ITEM_RADIO_MODE_OFF:
- INFO_LOG(UG_NAME_NORMAL, "radio mode off");
- manager_object->click_enabled = EINA_TRUE;
- break;
-
- case VIEWER_ITEM_RADIO_MODE_CONNECTED:
- INFO_LOG(UG_NAME_NORMAL, "radio mode connected");
- manager_object->click_enabled = EINA_TRUE;
- break;
-
- case VIEWER_ITEM_RADIO_MODE_CONNECTING:
- INFO_LOG(UG_NAME_NORMAL, "radio mode connecting");
- manager_object->click_enabled = EINA_TRUE;
- break;
-
- case VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING:
- INFO_LOG(UG_NAME_NORMAL, "radio mode cancel connecting");
- manager_object->click_enabled = EINA_FALSE;
- break;
-
- case VIEWER_ITEM_RADIO_MODE_DISCONNECTING:
- INFO_LOG(UG_NAME_NORMAL, "radio mode disconnecting");
- manager_object->click_enabled = EINA_FALSE;
- break;
+ if (gdata->radio_mode == mode) {
+ INFO_LOG(UG_NAME_NORMAL, "[%s] is already in requested state", gdata->device_info->ssid);
+ return FALSE;
+ }
- default:
- INFO_LOG(UG_NAME_NORMAL, "unsupported modea [%d]", mode);
- break;
+ INFO_LOG(UG_NAME_NORMAL, "[%s] AP Item State Transition from [%d] --> [%d]", gdata->device_info->ssid, gdata->radio_mode, mode);
+ gdata->radio_mode = mode;
+ if (gdata->device_info->ap_status_txt) {
+ g_free(gdata->device_info->ap_status_txt);
+ gdata->device_info->ap_status_txt = viewer_manager_get_device_status_txt(gdata->device_info, mode);
}
- viewer_list_item_data_set(item, "data", gdata);
elm_genlist_item_update(item);
+ __COMMON_FUNC_EXIT__;
return TRUE;
}
return TRUE;
}
+static Eina_Bool _gl_bring_in(void *data)
+{
+ if (manager_object == NULL)
+ return ECORE_CALLBACK_CANCEL;
+
+ if (manager_object->item_header == NULL)
+ return ECORE_CALLBACK_CANCEL;
+
+ elm_genlist_item_bring_in(manager_object->item_header, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ return ECORE_CALLBACK_CANCEL;
+}
+
void viewer_manager_scroll_to_top()
{
if (manager_object->item_header == NULL)
return;
- ecore_idler_add((Ecore_Task_Cb)elm_genlist_item_bring_in, manager_object->item_header);
+ ecore_idler_add((Ecore_Task_Cb)_gl_bring_in, NULL);
+}
+
+static void viewer_manager_setup_wizard_button_controller(HEADER_MODES mode)
+{
+ switch (mode) {
+ case HEADER_MODE_OFF:
+ case HEADER_MODE_ON:
+ if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_skip_icon != NULL)
+ elm_object_item_text_set((Elm_Object_Item *)manager_object->next_button, ug_app_state->rbutton_setup_wizard_skip);
+
+ if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_skip_icon != NULL)
+ elm_toolbar_item_icon_set((Elm_Object_Item *)manager_object->next_button, (const char *)ug_app_state->rbutton_setup_wizard_skip_icon);
+ break;
+ case HEADER_MODE_CONNECTED:
+ if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_next != NULL)
+ elm_object_item_text_set((Elm_Object_Item *)manager_object->next_button, ug_app_state->rbutton_setup_wizard_next);
+
+ if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_next_icon != NULL)
+ elm_toolbar_item_icon_set((Elm_Object_Item *)manager_object->next_button, (const char *) ug_app_state->rbutton_setup_wizard_next_icon);
+ break;
+ default:
+ break;
+ }
}
int viewer_manager_header_mode_set(HEADER_MODES mode)
assertm_if(NULL == manager_object->item_header, "NULL!!");
assertm_if(HEADER_MODE_OFF > mode || HEADER_MODE_MAX <= mode, "Err!!");
- DEBUG_LOG(UG_NAME_NORMAL, "mode [%d]", mode);
- manager_object->header_mode = mode;
+ if (manager_object->header_mode == mode) {
+ return FALSE;
+ }
- if (NULL != manager_object->header_text) {
+ DEBUG_LOG(UG_NAME_NORMAL, "Header mode changing from %d --> %d", manager_object->header_mode, mode);
+ manager_object->header_mode = mode;
+ if (manager_object->header_text) {
g_free(manager_object->header_text);
- manager_object->header_text = NULL;
}
- char buf[30] = {0,};
switch (mode) {
- case HEADER_MODE_OFF:
- viewer_manager_hidden_disable_set(FALSE);
- viewer_manager_scan_button_set(EINA_TRUE);
- manager_object->header_text = strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi));
- break;
- case HEADER_MODE_ON:
- viewer_manager_hidden_disable_set(FALSE);
- viewer_manager_scan_button_set(EINA_TRUE);
- manager_object->header_text = strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi));
- break;
- case HEADER_MODE_ACTIVATING:
- viewer_manager_hidden_disable_set(TRUE);
- snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Activating));
- manager_object->header_text = strdup(buf);
- break;
- case HEADER_MODE_CONNECTING:
- viewer_manager_hidden_disable_set(TRUE);
- snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Connecting));
- manager_object->header_text = strdup(buf);
- break;
- case HEADER_MODE_CONNECTED:
- viewer_manager_hidden_disable_set(FALSE);
- viewer_manager_scan_button_set(EINA_TRUE);
- snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Connected));
- manager_object->header_text = strdup(buf);
- break;
- case HEADER_MODE_DISCONNECTING:
- viewer_manager_hidden_disable_set(TRUE);
- snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Disconnecting));
- manager_object->header_text = strdup(buf);
- break;
- case HEADER_MODE_DEACTIVATING:
- viewer_manager_hidden_disable_set(TRUE);
- snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Deactivating));
- manager_object->header_text = strdup(buf);
- break;
- case HEADER_MODE_CANCEL_CONNECTING:
- viewer_manager_hidden_disable_set(TRUE);
- manager_object->header_text = strdup("Wi-Fi cancel connecting...");
- break;
- case HEADER_MODE_SEARCHING:
- viewer_manager_hidden_disable_set(TRUE);
- snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Searching));
- manager_object->header_text = strdup(buf);
- break;
- default:
- assertm_if(TRUE, "Err!!");
- break;
+ case HEADER_MODE_OFF:
+ case HEADER_MODE_ON:
+ case HEADER_MODE_CONNECTED:
+ viewer_manager_hidden_disable_set(FALSE);
+ viewer_manager_scan_button_set(EINA_TRUE);
+ manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi));
+ break;
+ case HEADER_MODE_ACTIVATING:
+ viewer_manager_hidden_disable_set(TRUE);
+ manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Activating_WiFi));
+ break;
+ case HEADER_MODE_DEACTIVATING:
+ viewer_manager_hidden_disable_set(TRUE);
+ manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Deactivating));
+ break;
+ case HEADER_MODE_CONNECTING:
+ case HEADER_MODE_DISCONNECTING:
+ case HEADER_MODE_CANCEL_CONNECTING:
+ case HEADER_MODE_SEARCHING:
+ viewer_manager_hidden_disable_set(TRUE);
+ manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi));
+ break;
+ default:
+ assertm_if(TRUE, "Err!!");
+ break;
}
+
elm_genlist_item_update(manager_object->item_header);
+ viewer_list_title_item_update();
+
+
+ if (ug_app_state->ug_type == UG_VIEW_SETUP_WIZARD) {
+ viewer_manager_setup_wizard_button_controller(mode);
+ }
__COMMON_FUNC_EXIT__;
return manager_object->nav;
}
-static char* viewer_manager_get_device_icon(int security_mode, int rssi)
+static char *viewer_manager_get_device_status_txt(wifi_device_info_t *wifi_device, VIEWER_ITEM_RADIO_MODES mode)
{
- char tmp_str[128] = {0,};
- char *ret;
-
- sprintf(tmp_str, "%s/37_wifi_icon", WIFI_APP_IMAGE_DIR);
-
- if (security_mode != WLAN_SEC_MODE_NONE) {
- sprintf(tmp_str,"%s_lock", tmp_str);
- }
-
- switch (wlan_manager_get_signal_strength(rssi)) {
- case SIGNAL_STRENGTH_TYPE_EXCELLENT:
- sprintf(tmp_str,"%s_03", tmp_str);
- break;
- case SIGNAL_STRENGTH_TYPE_GOOD:
- sprintf(tmp_str,"%s_02", tmp_str);
- break;
- case SIGNAL_STRENGTH_TYPE_WEAK:
- sprintf(tmp_str,"%s_01", tmp_str);
- break;
- case SIGNAL_STRENGTH_TYPE_VERY_WEAK:
- case SIGNAL_STRENGTH_TYPE_NULL:
- sprintf(tmp_str,"%s_00", tmp_str);
- break;
+ char *status_txt = NULL;
+ char *ret_txt = NULL;
+ /* The strings are currently hard coded. It will be replaced with string ids later */
+ if (VIEWER_ITEM_RADIO_MODE_CONNECTING == mode || VIEWER_ITEM_RADIO_MODE_WPS_CONNECTING == mode) {
+ status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Connecting));
+ } else if (VIEWER_ITEM_RADIO_MODE_CONNECTED == mode) {
+ status_txt = g_strdup_printf("<color=%s><b>%s</b></color>", LIST_ITEM_CONNECTED_AP_FONT_COLOR, sc(PACKAGE, I18N_TYPE_Connected));
+ } else if (VIEWER_ITEM_RADIO_MODE_DISCONNECTING == mode) {
+ status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Disconnecting));
+ } else if (VIEWER_ITEM_RADIO_MODE_OFF == mode) {
+ status_txt = common_utils_get_ap_security_type_info_txt(PACKAGE, wifi_device);
+ } else {
+ status_txt = g_strdup(WIFI_UNKNOWN_DEVICE_STATUS_STR);
+ INFO_LOG(UG_NAME_NORMAL, "Invalid mode: %d", mode);
}
-
- sprintf(tmp_str, "%s.png", tmp_str);
-
- ret = strdup(tmp_str);
- return ret;
+ ret_txt = g_strdup_printf("<font_size=%d>%s</font_size>", LIST_ITEM_CONNECTED_AP_FONT_SIZE, status_txt);
+ g_free(status_txt);
+ return ret_txt;
}
-static void viewer_manager_update_list_one(net_profile_info_t *profile_info)
+Elm_Object_Item *viewer_manager_move_item_to_top(Elm_Object_Item *item)
{
__COMMON_FUNC_ENTER__;
-
- wifi_device_info_t *wifi_device = (wifi_device_info_t*)malloc(sizeof(wifi_device_info_t));
- memset(wifi_device, 0, sizeof(wifi_device_info_t));
-
- wifi_device->profile_name = strdup(profile_info->ProfileName);
- wifi_device->ssid = strdup(profile_info->ProfileInfo.Wlan.essid);
- wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength;
- wifi_device->security_mode = (int)profile_info->ProfileInfo.Wlan.security_info.sec_mode;
- wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support;
-
- char *ap_image = NULL;
- VIEWER_ITEM_RADIO_MODES mode = VIEWER_ITEM_RADIO_MODE_NULL;
- ap_image = viewer_manager_get_device_icon(wifi_device->security_mode, wifi_device->rssi);
- mode = VIEWER_ITEM_RADIO_MODE_NULL;
-
- if (ap_image != NULL) {
- viewer_manager_item_set(wifi_device, wifi_device->ssid, ap_image, mode, VIEWER_CALLBACK_TYPE_NORMAL_LIST, wifi_device);
- g_free(ap_image);
+ if (!item) {
+ return NULL;
}
-
+ ug_genlist_data_t *gdata = elm_object_item_data_get(item);
+ if (!gdata) {
+ return NULL;
+ }
+ wifi_device_info_t *old_wifi_device = gdata->device_info;
+ if (!old_wifi_device) {
+ return NULL;
+ }
+ wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t));
+ wifi_device->profile_name = g_strdup(old_wifi_device->profile_name);
+ wifi_device->ssid = g_strdup(old_wifi_device->ssid);
+ wifi_device->ap_image_path = g_strdup(old_wifi_device->ap_image_path);
+ wifi_device->ap_status_txt = g_strdup(old_wifi_device->ap_status_txt);
+ wifi_device->rssi = old_wifi_device->rssi;
+ wifi_device->security_mode = old_wifi_device->security_mode;
+ wifi_device->wps_mode = old_wifi_device->wps_mode;
+
+ viewer_list_item_del(item);
+ item = viewer_list_item_insert_after(manager_object->list,
+ wifi_device,
+ NULL,
+ viewer_manager_genlist_normal_callback,
+ wifi_device);
__COMMON_FUNC_EXIT__;
+ return item;
}
-static void viewer_manager_update_list_one_connected(net_profile_info_t *profile_info, const char *connected_ssid)
+Elm_Object_Item *viewer_manager_add_new_item(const char *profile_name)
{
- __COMMON_FUNC_ENTER__;
-
- wifi_device_info_t *wifi_device = (wifi_device_info_t*)malloc(sizeof(wifi_device_info_t));
- memset(wifi_device, 0, sizeof(wifi_device_info_t));
-
- wifi_device->profile_name = strdup(profile_info->ProfileName);
- wifi_device->ssid = strdup(profile_info->ProfileInfo.Wlan.essid);
- wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength;
- wifi_device->security_mode = (int)profile_info->ProfileInfo.Wlan.security_info.sec_mode;
- wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support;
-
- char *ap_image = NULL;
- VIEWER_ITEM_RADIO_MODES mode = VIEWER_ITEM_RADIO_MODE_NULL;
- if (strcmp(wifi_device->ssid, connected_ssid) == 0) {
- INFO_LOG(UG_NAME_NORMAL, "update ssid [%s] : connected\n", wifi_device->ssid);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTED);
- ap_image = viewer_manager_get_device_icon(wifi_device->security_mode, wifi_device->rssi);
- mode = VIEWER_ITEM_RADIO_MODE_CONNECTED;
- } else {
- INFO_LOG(UG_NAME_NORMAL, "update ssid [%s]\n", wifi_device->ssid);
- ap_image = viewer_manager_get_device_icon(wifi_device->security_mode, wifi_device->rssi);
- mode = VIEWER_ITEM_RADIO_MODE_NULL;
- }
+ Elm_Object_Item *item = NULL;
+ if (!manager_object)
+ return NULL;
- if (ap_image != NULL) {
- viewer_manager_item_set(wifi_device, wifi_device->ssid, ap_image, mode, VIEWER_CALLBACK_TYPE_NORMAL_LIST, wifi_device);
- g_free(ap_image);
+ /* Looks like we have received a connecting/connected event and the AP item is not present. Lets add the item to the list. */
+ view_datamodel_basic_info_t *data_model = view_basic_detail_datamodel_create(profile_name);
+ if (data_model) {
+ wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t));
+ wifi_device->profile_name = view_detail_datamodel_basic_info_profile_name_get(data_model);
+ wifi_device->ssid = view_detail_datamodel_ap_name_get(data_model);
+ wifi_device->rssi = (int)view_detail_datamodel_sig_strength_get(data_model);
+ wifi_device->security_mode = view_detail_datamodel_sec_mode_get(data_model);
+ wifi_device->wps_mode = (boolean)view_detail_datamodel_wps_support_get(data_model);
+ wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, wifi_device);
+ wifi_device->ap_status_txt = viewer_manager_get_device_status_txt(wifi_device, VIEWER_ITEM_RADIO_MODE_OFF);
+
+ item = viewer_list_item_insert_after(manager_object->list,
+ wifi_device,
+ NULL,
+ viewer_manager_genlist_normal_callback,
+ wifi_device);
+ view_basic_detail_datamodel_destroy(data_model);
}
-
- __COMMON_FUNC_EXIT__;
+ return item;
}
static void viewer_manager_update_list_all()
{
int i = 0;
- struct wifi_appdata *ad = app_state;
+ Elm_Object_Item *item = NULL;
__COMMON_FUNC_ENTER__;
- viewer_list_item_clear();
-
net_profile_info_t *profiles_list = wlan_manager_profile_table_get();
if (profiles_list == NULL)
return;
INFO_LOG(UG_NAME_NORMAL, "profiles list count [%d]\n", profiles_list_size);
if (profiles_list_size > 0) {
- const char *connected_ssid = wlan_manager_get_connected_ssid();
- INFO_LOG(UG_NAME_NORMAL, "connected ssid [%s]\n", connected_ssid);
- if (connected_ssid == NULL) {
- for (i = 0; i < profiles_list_size; i++) {
- viewer_manager_update_list_one(profiles_list+i);
- }
- } else {
- for (i = 0; i < profiles_list_size; i++) {
- viewer_manager_update_list_one_connected(profiles_list+i, connected_ssid);
- }
+ for (i = 0; i < profiles_list_size; i++) {
+ net_profile_info_t *profile_info = profiles_list+i;
+ wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t));
+ wifi_device->profile_name = g_strdup(profile_info->ProfileName);
+ wifi_device->ssid = g_strdup(profile_info->ProfileInfo.Wlan.essid);
+ wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength;
+ wifi_device->security_mode = profile_info->ProfileInfo.Wlan.security_info.sec_mode;
+ wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support;
+ wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, wifi_device);
+ wifi_device->ap_status_txt = viewer_manager_get_device_status_txt(wifi_device, VIEWER_ITEM_RADIO_MODE_OFF);
+
+ item = viewer_list_item_insert_after(manager_object->list,
+ wifi_device,
+ item,
+ viewer_manager_genlist_normal_callback,
+ wifi_device);
}
} else if (profiles_list_size == 0) {
/* if there is no scan_data, generate No-AP item */
wifi_device_info_t *device_info = NULL;
device_info = (wifi_device_info_t *)wlan_manager_profile_device_info_blank_create();
- const char* ssid_name = device_info->ssid;
- const char* ap_image = NULL;
- viewer_manager_item_set(device_info, ssid_name, ap_image, VIEWER_ITEM_RADIO_MODE_NULL, VIEWER_CALLBACK_TYPE_NONE_AP_LIST, ad);
+ device_info->ap_status_txt = g_strdup("");
+ device_info->ap_image_path = NULL;
+ item = viewer_list_item_insert_after(manager_object->list,
+ device_info,
+ NULL,
+ NULL,
+ NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
} else {
ERROR_LOG(UG_NAME_NORMAL, "Err!");
}
__COMMON_FUNC_EXIT__;
}
-Eina_Bool viewer_manager_refresh(int is_scan)
+Eina_Bool viewer_manager_refresh(void)
{
INFO_LOG(UG_NAME_SCAN, "UI update start");
+ int profile_state;
if (manager_object == NULL)
return EINA_FALSE;
- if (manager_object->update_enabled == EINA_FALSE) {
- INFO_LOG(UG_NAME_SCAN, "UI update disabled");
+ /* Remove the list */
+ viewer_list_item_clear();
+
+ char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = "";
+ profile_state = wlan_manager_state_get(profile_name);
+ if (WLAN_MANAGER_ERROR == profile_state || WLAN_MANAGER_OFF == profile_state) {
+ /* Some body requested to refresh the list while the WLAN manager is OFF or Unable to get the profile state */
+ INFO_LOG(UG_NAME_ERR, "Refresh requested in wrong state or Unable to get the state !!! ");
+
+ Elm_Object_Item* target_item = item_get_for_profile_name(profile_name);
+ viewer_manager_header_mode_set(HEADER_MODE_OFF);
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
return EINA_FALSE;
}
- if (is_scan) {
- viewer_manager_hide(VIEWER_WINSET_SEARCHING);
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- viewer_manager_update_list_all();
+ viewer_manager_update_list_all();
+
+ if (WLAN_MANAGER_CONNECTING == profile_state) {
+ INFO_LOG(UG_NAME_NORMAL, "Profile is connecting...");
+ Elm_Object_Item* target_item = item_get_for_profile_name(profile_name);
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING);
+ } else if (WLAN_MANAGER_CONNECTED == profile_state) {
+ INFO_LOG(UG_NAME_NORMAL, "Profile is connected");
+ Elm_Object_Item* target_item = item_get_for_profile_name(profile_name);
+ target_item = viewer_manager_move_item_to_top(target_item);
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTED);
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTED);
+ } else if (WLAN_MANAGER_DISCONNECTING == profile_state) {
+ INFO_LOG(UG_NAME_NORMAL, "Profile is disconnecting");
+ Elm_Object_Item* target_item = item_get_for_profile_name(profile_name);
+ viewer_manager_header_mode_set(HEADER_MODE_DISCONNECTING);
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_DISCONNECTING);
} else {
- viewer_manager_update_list_all();
-
- char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = "";
- if (wlan_manager_state_get(profile_name) == WLAN_MANAGER_CONNECTING) {
- Elm_Object_Item* target_item = item_get_for_profile_name(profile_name);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING);
- }
+ INFO_LOG(UG_NAME_NORMAL, "Profile state = %d", profile_state);
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
}
INFO_LOG(UG_NAME_SCAN, "UI update finish");
return EINA_TRUE;
}
+
+static void hidden_ap_connect_ok_cb (void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+
+ hidden_ap_data_t *hidden_ap_data = (hidden_ap_data_t *)data;
+ if (!hidden_ap_data)
+ return;
+
+ char* szPassword = NULL;
+ net_wifi_connection_info_t conninfo;
+ memset(&conninfo, 0, sizeof(conninfo));
+ g_strlcpy(conninfo.essid, hidden_ap_data->ssid, NET_WLAN_ESSID_LEN);
+ conninfo.security_info.sec_mode = hidden_ap_data->sec_mode;
+ conninfo.wlan_mode = NETPM_WLAN_CONNMODE_INFRA;
+ INFO_LOG(UG_NAME_NORMAL, "Hidden AP[%s]. Sec mode = %d. Connect ok cb", conninfo.essid, conninfo.security_info.sec_mode);
+
+ switch (conninfo.security_info.sec_mode) {
+ case WLAN_SEC_MODE_NONE:
+ INFO_LOG(UG_NAME_NORMAL, "This hidden AP is Open. event info = %x; passpopup = %x", event_info, ug_app_state->passpopup);
+ evas_object_del(hidden_ap_data->confirmation_popup);
+ hidden_ap_data->confirmation_popup = NULL;
+ break;
+
+ case WLAN_SEC_MODE_WEP:
+ szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup);
+ g_strlcpy(conninfo.security_info.authentication.wep.wepKey, szPassword, NETPM_WLAN_MAX_WEP_KEY_LEN);
+ g_free(szPassword);
+ INFO_LOG(UG_NAME_NORMAL, "Hidden AP WEP paswd = [%s]", conninfo.security_info.authentication.wep.wepKey);
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ break;
+
+ case WLAN_SEC_MODE_WPA_PSK:
+ case WLAN_SEC_MODE_WPA2_PSK:
+ szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup);
+ g_strlcpy(conninfo.security_info.authentication.psk.pskKey, szPassword, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN);
+ g_free(szPassword);
+ INFO_LOG(UG_NAME_NORMAL, "Hidden AP PSK paswd = [%s]", conninfo.security_info.authentication.psk.pskKey);
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ break;
+
+ default:
+ INFO_LOG(UG_NAME_NORMAL, "Fatal: Unknown Sec mode: %d", hidden_ap_data->sec_mode);
+ goto hidden_ap_connect_end;
+ }
+
+ connman_request_connection_open_hidden_ap(&conninfo);
+
+hidden_ap_connect_end:
+ g_free(hidden_ap_data->ssid);
+ g_free(hidden_ap_data);
+ __COMMON_FUNC_EXIT__;
+ return;
+}
+
+static void hidden_ap_connect_cacel_cb (void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ hidden_ap_data_t *hidden_ap_data = (hidden_ap_data_t *)data;
+ if (!hidden_ap_data)
+ return;
+
+ switch (hidden_ap_data->sec_mode) {
+ case WLAN_SEC_MODE_NONE:
+ INFO_LOG(UG_NAME_NORMAL, "This hidden AP is Open");
+ evas_object_del(hidden_ap_data->confirmation_popup);
+ hidden_ap_data->confirmation_popup = NULL;
+ break;
+
+ case WLAN_SEC_MODE_WEP:
+ case WLAN_SEC_MODE_WPA_PSK:
+ case WLAN_SEC_MODE_WPA2_PSK:
+ INFO_LOG(UG_NAME_NORMAL, "Hidden AP Secured");
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ break;
+
+ default:
+ INFO_LOG(UG_NAME_NORMAL, "Fatal: Unknown Sec mode: %d", hidden_ap_data->sec_mode);
+ break;
+ }
+
+ g_free(hidden_ap_data->ssid);
+ g_free(hidden_ap_data);
+ __COMMON_FUNC_EXIT__;
+ return;
+}
+
+void viewer_manager_specific_scan_response_hlr(GSList *bss_info_list)
+{
+ hidden_ap_data_t *hidden_ap_data = NULL;
+ const char *ssid = view_ime_hidden_popup_get_ssid(ug_app_state->hidden_ap_popup);
+ wlan_security_mode_type_t sec_mode;
+ if (!ssid) {
+ return;
+ }
+ INFO_LOG(UG_NAME_RESP, "Specific scan complete response received for AP[%s]", ssid);
+ int ap_count = g_slist_length(bss_info_list);
+ net_wifi_connection_info_t *bss_info = NULL;
+
+ if (ap_count == 1) {
+ bss_info = g_slist_nth_data(bss_info_list, 0);
+ if (!bss_info || g_strcmp0(ssid, bss_info->essid)) {
+ INFO_LOG(UG_NAME_RESP, "Fatal: Bss info is NULL OR response received for wrong ssid. ", ssid);
+ /* Bss info not available or Response recieved for wrong ssid */
+ ap_count = 0;
+ } else {
+ sec_mode = bss_info->security_info.sec_mode;
+ }
+ }
+
+ if (ap_count == 1) {
+ /* Only if there is one AP found then we need Users further action */
+ switch (sec_mode) {
+ case WLAN_SEC_MODE_NONE:
+ INFO_LOG(UG_NAME_NORMAL, "One AP item with ssid[%s] found. Its security is Open.", ssid);
+ /* This is an Open AP. Ask for confirmation to connect. */
+ hidden_ap_data = g_try_new0(hidden_ap_data_t, 1);
+
+ popup_btn_info_t popup_btn_data;
+ memset(&popup_btn_data, 0, sizeof(popup_btn_data));
+ popup_btn_data.info_txt = "Wi-Fi network detected. Connect?";
+ popup_btn_data.btn1_cb = hidden_ap_connect_ok_cb;
+ popup_btn_data.btn2_cb = hidden_ap_connect_cacel_cb;
+ hidden_ap_data->sec_mode = WLAN_SEC_MODE_NONE;
+ hidden_ap_data->ssid = g_strdup(ssid);
+ popup_btn_data.btn2_data = popup_btn_data.btn1_data = hidden_ap_data;
+ popup_btn_data.btn1_txt = sc(PACKAGE, I18N_TYPE_Connect);
+ popup_btn_data.btn2_txt = sc(PACKAGE, I18N_TYPE_Cancel);
+ hidden_ap_data->confirmation_popup = common_utils_show_info_popup(ug_app_state->win_main, &popup_btn_data);
+ break;
+ case WLAN_SEC_MODE_IEEE8021X:
+ INFO_LOG(UG_NAME_NORMAL, "One AP item with ssid[%s] found. Its security is EAP.", ssid);
+ /* This is a EAP secured AP. Ask for confirmation to connect. */
+ Evas_Object* navi_frame = viewer_manager_get_naviframe();
+ wifi_device_info_t device_info;
+ if (navi_frame == NULL) {
+ ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe");
+ return;
+ }
+ memset(&device_info, 0, sizeof(device_info));
+ device_info.security_mode = sec_mode;
+ device_info.ssid = (char *)ssid;
+
+ ug_app_state->eap_view = create_eap_connect(ug_app_state->win_main, navi_frame, PACKAGE, &device_info, eap_view_close_cb);
+ break;
+ case WLAN_SEC_MODE_WEP:
+ case WLAN_SEC_MODE_WPA_PSK:
+ case WLAN_SEC_MODE_WPA2_PSK:
+ INFO_LOG(UG_NAME_NORMAL, "One AP item with ssid[%s] found. Its security is %d", ssid, sec_mode);
+ /* This is a WEP/WPA/WPA-2 secured AP. Ask for confirmation to connect. */
+ hidden_ap_data = g_try_new0(hidden_ap_data_t, 1);
+ pswd_popup_create_req_data_t popup_info;
+ hidden_ap_data->sec_mode = sec_mode;
+ hidden_ap_data->ssid = g_strdup(ssid);
+ popup_info.title = bss_info->essid;
+ popup_info.ok_cb = hidden_ap_connect_ok_cb;
+ popup_info.cancel_cb = hidden_ap_connect_cacel_cb;
+ popup_info.show_wps_btn = FALSE;
+ popup_info.wps_btn_cb = NULL;
+ popup_info.cb_data = hidden_ap_data;
+ INFO_LOG(UG_NAME_NORMAL, "Going to create a popup. ug_app_state = 0x%x", ug_app_state);
+ ug_app_state->passpopup = common_pswd_popup_create(ug_app_state->win_main, PACKAGE, &popup_info);
+ INFO_LOG(UG_NAME_NORMAL, "After create a popup");
+ if (ug_app_state->passpopup == NULL) {
+ INFO_LOG(UG_NAME_ERR, "pass popup create failed !");
+ }
+ break;
+ default:
+ INFO_LOG(UG_NAME_NORMAL, "Unkown security mode: %d", sec_mode);
+ break;
+ }
+ } else if (ap_count == 0) {
+ INFO_LOG(UG_NAME_NORMAL, "No AP item with ssid[%s] found", ssid);
+ char *disp_msg = g_strdup_printf("Unable to find %s", ssid);
+ common_utils_show_info_ok_popup(ug_app_state->win_main, PACKAGE, disp_msg);
+ g_free(disp_msg);
+ } else {
+ INFO_LOG(UG_NAME_NORMAL, "More than one AP items with ssid[%s] found", ssid);
+ }
+
+ /* If the hidden AP found on first and second scan OR not found even after first and second scan then delete the popup */
+ view_hidden_ap_popup_destroy(ug_app_state->hidden_ap_popup);
+ ug_app_state->hidden_ap_popup = NULL;
+ return;
+}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
static Elm_Genlist_Item_Class grouptitle_itc;
static Elm_Object_Item* grouptitle=NULL;
-
static char* _gl_listview_text_get(void *data, Evas_Object *obj, const char *part)
{
+ char* det = NULL;
assertm_if(NULL == obj, "NULL!!");
assertm_if(NULL == part, "NULL!!");
assertm_if(NULL == data, "NULL!!");
- genlist_data* gdata = (genlist_data*) data;
+ ug_genlist_data_t* gdata = (ug_genlist_data_t*) data;
assertm_if(NULL == gdata, "NULL!!");
- assertm_if(NULL == gdata->ssid, "NULL!!");
-
- char* det = (char*) strdup(gdata->ssid);
- assertm_if(NULL == det, "NULL!!");
+ assertm_if(NULL == gdata->device_info, "NULL!!");
+ assertm_if(NULL == gdata->device_info->ssid, "NULL!!");
+ assertm_if(NULL == gdata->device_info->ap_status_txt, "NULL!!");
+ if (!strncmp(part, "elm.text.1", strlen(part))) {
+ det = g_strdup(gdata->device_info->ssid);
+ assertm_if(NULL == det, "NULL!!");
+ } else if (!strncmp(part, "elm.text.2", strlen(part))) {
+ det = g_strdup(gdata->device_info->ap_status_txt);
+ assertm_if(NULL == det, "NULL!!");
+ }
return det;
}
assertm_if(NULL == data, "NULL!!");
assertm_if(NULL == part, "NULL!!");
- genlist_data* gdata = (genlist_data*) data;
+ ug_genlist_data_t* gdata = (ug_genlist_data_t*) data;
Evas_Object* icon = NULL;
- if (!strncmp(part, "elm.icon.1", strlen(part))) {
- if (gdata->ap_image_path == NULL) {
- return NULL;
- }
-
- icon = elm_radio_add(obj);
+ if (gdata->device_info->ap_image_path == NULL) {
+ /* if there is no ap_image_path (NO AP Found situation) */
+ DEBUG_LOG(UG_NAME_ERR, "Fatal: Image path is NULL");
+ } else if (!strncmp(part, "elm.icon.1", strlen(part))) {
+ /* for strength */
+ icon = elm_icon_add(obj);
assertm_if(NULL == icon, "NULL!!");
-
- switch (gdata->radio_mode) {
- case VIEWER_ITEM_RADIO_MODE_CONNECTED:
- elm_radio_state_value_set(icon, 0);
- break;
- case VIEWER_ITEM_RADIO_MODE_OFF:
- case VIEWER_ITEM_RADIO_MODE_NULL:
- case VIEWER_ITEM_RADIO_MODE_CONNECTING:
- case VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING:
- case VIEWER_ITEM_RADIO_MODE_DISCONNECTING:
- elm_radio_state_value_set(icon, 1);
- break;
- default:
- assertm_if(TRUE, "Err!");
- break;
- }
-
- Evas_Object *fake_icon = appcore_load_edj(obj, WIFI_UG_FAKE_ICON_PATH, "fake_radio");
- elm_object_part_content_set(fake_icon, "radio", icon);
-
- return fake_icon;
-
+ elm_icon_file_set(icon, gdata->device_info->ap_image_path, NULL);
} else if (!strncmp(part, "elm.icon.2", strlen(part))) {
- /* if there is no ap_image_path (NO AP Found situlation) */
- if (gdata->ap_image_path == NULL) {
- return NULL;
- }
-
- switch (gdata->radio_mode) {
- case VIEWER_ITEM_RADIO_MODE_OFF:
- case VIEWER_ITEM_RADIO_MODE_NULL:
- case VIEWER_ITEM_RADIO_MODE_CONNECTED:
- /* for strength */
- icon = elm_icon_add(obj);
- assertm_if(NULL == icon, "NULL!!");
- if(NULL != gdata->ap_image_path) {
- elm_icon_file_set(icon, gdata->ap_image_path, NULL);
- }
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
-
- case VIEWER_ITEM_RADIO_MODE_CONNECTING:
- case VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING:
- case VIEWER_ITEM_RADIO_MODE_DISCONNECTING:
- /* for processing animation */
+ if (VIEWER_ITEM_RADIO_MODE_CONNECTING == gdata->radio_mode) {
icon = elm_progressbar_add(obj);
- assertm_if(NULL == icon, "NULL!!");
elm_object_style_set(icon, "list_process");
evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_pulse(icon, EINA_TRUE);
- return icon;
-
- default:
- assertm_if(TRUE, "Err!");
- break;
- }
- } else if (!strncmp(part, "elm.icon.3", strlen(part))) {
- /* if there is no ap_image_path (NO AP Found situlation) */
- if (gdata->ap_image_path == NULL) {
- return NULL;
+ elm_progressbar_pulse(icon, TRUE);
+ } else {
+ icon = elm_button_add(obj);
+ assertm_if(NULL == icon, "NULL!!");
+ elm_object_style_set(icon, "reveal");
+ evas_object_smart_callback_add(icon, "clicked", (Evas_Smart_Cb)list_select_cb, gdata->device_info);
+ evas_object_propagate_events_set(icon, EINA_FALSE);
}
-
- icon = elm_button_add(obj);
- assertm_if(NULL == icon, "NULL!!");
- elm_object_style_set(icon, "reveal");
- evas_object_smart_callback_add(icon, "clicked", (Evas_Smart_Cb)list_select_cb, gdata->device_info);
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
+ } else {
+ DEBUG_LOG(UG_NAME_NORMAL, "Invalid part name [%s]", part);
}
- return NULL;
+ return icon;
}
static void _gl_listview_del(void* data, Evas_Object* obj)
if (data == NULL)
return;
- genlist_data* gdata = (genlist_data*) data;
- assertm_if(NULL == gdata->ssid, "NULL!!");
+ ug_genlist_data_t* gdata = (ug_genlist_data_t*) data;
+ assertm_if(NULL == gdata->device_info->ssid, "NULL!!");
- DEBUG_LOG(UG_NAME_NORMAL, "del target ssid:[%s]", gdata->ssid);
+ DEBUG_LOG(UG_NAME_NORMAL, "del target ssid:[%s]", gdata->device_info->ssid);
+ g_free(gdata->device_info->ap_image_path);
+ g_free(gdata->device_info->ap_status_txt);
+ g_free(gdata->device_info->ssid);
g_free(gdata->device_info);
g_free(gdata);
assertm_if(NULL == obj, "NULL!!");
assertm_if(NULL == part, "NULL!!");
- if (part != NULL) {
- if (!strncmp(part, "elm.text", strlen(part))) {
- return (char*) strdup(sc(PACKAGE, I18N_TYPE_Select_network));
+ return (char*) g_strdup(sc(PACKAGE, I18N_TYPE_WiFi_network));
+}
+
+static Evas_Object *_gl_content_title_get(void *data, Evas_Object *obj, const char *part)
+{
+ __COMMON_FUNC_ENTER__;
+ Evas_Object *title_progressbar = NULL;
+ if (HEADER_MODE_SEARCHING == viewer_manager_header_mode_get()) {
+ if (!strcmp(part, "elm.icon")) {
+ title_progressbar = elm_progressbar_add(obj);
+ elm_object_style_set(title_progressbar, "list_process_small");
+ elm_progressbar_horizontal_set(title_progressbar, EINA_TRUE);
+ elm_progressbar_pulse(title_progressbar, EINA_TRUE);
}
}
-
- return NULL;
+ __COMMON_FUNC_EXIT__;
+ return title_progressbar;
}
Evas_Object* viewer_list_create(Evas_Object *win)
assertm_if(NULL != viewer_list, "Err!!");
viewer_list = elm_genlist_add(win);
+ elm_object_style_set(viewer_list, "dialogue");
assertm_if(NULL == viewer_list, "NULL!!");
elm_genlist_mode_set(viewer_list, ELM_LIST_LIMIT);
+
evas_object_size_hint_weight_set(viewer_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(viewer_list, EVAS_HINT_FILL, EVAS_HINT_FILL);
container = g_slist_alloc();
assertm_if(NULL == container, "NULL!!");
- itc.item_style = "dialogue/1text.3icon";
+ itc.item_style = "dialogue/2text.2icon.3.tb";
itc.func.text_get = _gl_listview_text_get;
itc.func.content_get = _gl_listview_content_get;
itc.func.state_get = NULL;
assertm_if(NULL == viewer_list, "NULL!!");
viewer_list_item_clear();
+ g_slist_free(container);
+ container = NULL;
evas_object_del(viewer_list);
viewer_list = NULL;
}
}
+void viewer_list_title_item_update()
+{
+ elm_genlist_item_update(grouptitle);
+}
+
int viewer_list_title_item_set(Elm_Object_Item *target)
{
if (viewer_list_item_size_get() == 0) {
+ // To use multiline textblock/entry/editfield in genlist, set height_for_width mode
+ // then the item's height is calculated while the item's width fits to genlist width.
+ elm_genlist_mode_set(viewer_list, ELM_LIST_COMPRESS);
- grouptitle_itc.item_style = "grouptitle.dialogue";
+ grouptitle_itc.item_style = "dialogue/title";
grouptitle_itc.func.text_get = _gl_text_title_get;
- grouptitle_itc.func.content_get = NULL;
+ grouptitle_itc.func.content_get = _gl_content_title_get;
grouptitle_itc.func.state_get = NULL;
grouptitle_itc.func.del = NULL;
}
}
-Elm_Object_Item* viewer_list_item_set(Evas_Object* list,
- void* list_data,
- const char* ssid,
- const char* ap_image_path,
- VIEWER_ITEM_RADIO_MODES mode,
- void (*callback_func)(void*data,Evas_Object*obj,void*event_info),
- void*callback_data){
+Elm_Object_Item* viewer_list_item_insert_after(Evas_Object* list,
+ void* list_data,
+ Elm_Object_Item *after,
+ Evas_Smart_Cb callback_func,
+ void* callback_data)
+{
Elm_Object_Item* ret = NULL;
- assertm_if(NULL == list, "NULL!!");
- assertm_if(NULL == list_data, "NULL!!");
- assertm_if(NULL == ssid, "NULL!!");
- /* FIX ME LATER - NOT TO USE VIEWER_ITEM_RADIO_MODE_NULL */
- //assertm_if(VIEWER_ITEM_RADIO_MODE_NULL >= mode || VIEWER_ITEM_RADIO_MODE_MAX <= mode, "Wrong mode");
- /*assertm_if(NULL == ap_image_path, "NULL!!");*/ // It can be NULL when it is NO-AP
- assertm_if(NULL == callback_func, "NULL!!");
assertm_if(NULL == callback_data, "NULL!!");
+ if (!list || !list_data) {
+ assertm_if(NULL == list, "NULL!!");
+ assertm_if(NULL == list_data, "NULL!!");
+ return NULL;
+ }
- genlist_data* gdata = NULL;
- gdata = (genlist_data*) malloc(sizeof(genlist_data));
+ ug_genlist_data_t* gdata = NULL;
+ gdata = (ug_genlist_data_t*) g_malloc0(sizeof(ug_genlist_data_t));
assertm_if(NULL == gdata, "NULL!!");
- memset(gdata, 0, sizeof(genlist_data));
- gdata->ssid = (char*) strdup( ssid );
- if(NULL != ap_image_path) {
- gdata->ap_image_path = (char*) strdup(ap_image_path);
- } else {
- gdata->ap_image_path = NULL;
- }
gdata->device_info = (wifi_device_info_t *)list_data;
+ gdata->radio_mode = VIEWER_ITEM_RADIO_MODE_OFF;
- DEBUG_LOG(UG_NAME_NORMAL, "ssid[%s] image[%s]", ssid, ap_image_path);
+// DEBUG_LOG(UG_NAME_NORMAL, "ssid[%s] image[%s]", gdata->device_info->ssid, gdata->device_info->ap_image_path);
- Elm_Object_Item* target = NULL;
-
- int count = viewer_list_item_size_get();
-
- if (0 == count || VIEWER_ITEM_RADIO_MODE_CONNECTED == mode) {
- DEBUG_LOG(UG_NAME_NORMAL, "first added AP item!");
- target = grouptitle;
- } else {
- DEBUG_LOG(UG_NAME_NORMAL, "current size [%d]", count);
- int last_index = count - 1;
- target = viewer_list_item_at_index(last_index);
+ if (!after) { /* If the after item is NULL then insert it as first item */
+// DEBUG_LOG(UG_NAME_NORMAL, "first added AP item!");
+ after = grouptitle;
}
ret = elm_genlist_item_insert_after(
- viewer_list, /*obj*/
+ list, /*obj*/
&itc,/*itc*/
gdata,/*data*/
NULL,/*parent*/
- target, //grouptitle, //target, , /*after than*/
+ after, /*after than*/
ELM_GENLIST_ITEM_NONE, /*flags*/
callback_func,/*func*/
- gdata);/*func_data*/
-
- assertm_if(NULL == ret, "NULL!!");
-
- gdata->callback_data = callback_data;
- gdata->radio_mode = mode;
-
- elm_object_item_data_set(ret, gdata);
-
- if (mode == VIEWER_ITEM_RADIO_MODE_CONNECTED) {
- g_slist_insert(container, ret, 1);
- } else {
- container = g_slist_append(container, ret);
+ callback_data);/*func_data*/
+
+ if (!ret) {
+ assertm_if(NULL == ret, "NULL!!");
+ g_free(gdata->device_info->ap_image_path);
+ g_free(gdata->device_info->ap_status_txt);
+ g_free(gdata->device_info->ssid);
+ g_free(gdata->device_info);
+ g_free(gdata);
+ return NULL;
}
-
+
+ container = g_slist_append(container, ret);
DEBUG_LOG(UG_NAME_NORMAL,
"* item add complete ssid:[%s] size:[%d]",
- ssid,
+ gdata->device_info->ssid,
viewer_list_item_size_get());
+ elm_genlist_item_update(ret);
return ret;
}
+void viewer_list_item_del(Elm_Object_Item *item)
+{
+ if (!item)
+ return;
+
+ elm_object_item_del(item);
+ container = g_slist_remove(container, item);
+ return;
+}
+
int viewer_list_item_size_get()
{
__COMMON_FUNC_ENTER__;
/* remove AP items (size) */
Elm_Object_Item* det = NULL;
- for (index = 0; index < size; index++) {
- DEBUG_LOG(UG_NAME_NORMAL, "* remove");
+ for (index = size-1; index >= 0; index--) {
det = viewer_list_item_at_index(index);
assertm_if(NULL == det, "NULL!!");
-
- genlist_data* gdata = viewer_list_item_data_get(det, "data");
- assertm_if(NULL == gdata, "NULL!!");
-
- DEBUG_LOG(UG_NAME_NORMAL,"remove ssid:[%s]", gdata->device_info->ssid);
- elm_object_item_del(det);
+ viewer_list_item_del(det);
}
- g_slist_free(container);
- container = g_slist_alloc();
-
__COMMON_FUNC_EXIT__;
return TRUE;
}
int size = viewer_list_item_size_get();
assertm_if(0 > size, "query error! (i == zero base)");
- DEBUG_LOG(UG_NAME_NORMAL, "(index_to_get:%d total:%d)", index, size);
Elm_Object_Item *gli = NULL;
gli = (Elm_Object_Item*) g_slist_nth_data(container, index+1);
assertm_if(NULL == gli, "NULL!!");
- genlist_data* gdata = NULL;
- gdata = viewer_list_item_data_get(gli, "data");
- assertm_if(NULL == gdata, "NULL!!");
-
- INFO_LOG(UG_NAME_NORMAL,"selected_gli ssid:[%s]", gdata->device_info->ssid);
-
+ if (gli) {
+ ug_genlist_data_t* gdata = NULL;
+ gdata = elm_object_item_data_get(gli);
+ assertm_if(NULL == gdata, "NULL!!");
+ if (!gdata)
+ gli = NULL;
+ }
__COMMON_FUNC_EXIT__;
return gli;
}
return ret;
}
-int viewer_list_item_data_set(Elm_Object_Item* item, const char* key, void* data)
-{
- assertm_if(NULL == item, "NULL!!");
- if(NULL == item) {
- ERROR_LOG(UG_NAME_NORMAL, "Err!");
- return FALSE;
- }
- assertm_if(NULL == key, "NULL!!");
- if(NULL == key) {
- ERROR_LOG(UG_NAME_NORMAL, "Err!");
- return FALSE;
- }
-
- genlist_data* gdata = NULL;
- gdata = elm_object_item_data_get(item);
- if(NULL == gdata) {
- ERROR_LOG(UG_NAME_NORMAL, "Err!");
- return FALSE;
- }
-
- assertm_if(NULL == gdata, "NULL!!");
-
- DEBUG_LOG(UG_NAME_REQ, "dataset ssid:[%s] key:[%s]", gdata->device_info->ssid, key);
-
- if (strncmp(key, "data", strlen(key)) == 0) {
- genlist_data* g_data = (genlist_data*)data;
- gdata->radio_mode = g_data->radio_mode;
- elm_object_item_data_set(item, gdata);
- g_data = elm_object_item_data_get(item);
- DEBUG_LOG(UG_NAME_REQ, "radio_mode:[%d], [%d]", gdata->radio_mode, g_data->radio_mode);
- return TRUE;
- } else {
- assertm_if(TRUE, "unvalid key [%s]", key);
- return FALSE;
- }
- return FALSE;
-}
-
-void* viewer_list_item_data_get(const Elm_Object_Item* item, const char* key)
-{
- assertm_if(NULL == item, "NULL!!");
- assertm_if(NULL == key, "NULL!!");
-
- genlist_data* gdata = NULL;
- gdata = elm_object_item_data_get(item);
- assertm_if(NULL == gdata, "NULL!!");
- if(NULL == gdata) {
- return NULL;
- }
-
- DEBUG_LOG(UG_NAME_NORMAL, "dataget ssid:[%s] key:[%s]", gdata->device_info->ssid, key);
-
- if (strncmp(key, "data", strlen(key)) == 0) {
- return (void*) gdata;
- } else {
- assertm_if(TRUE, "unvalid key [%s]", key);
- return NULL;
- }
-
- return NULL;
-}
-
int viewer_list_item_enable_all(void)
{
__COMMON_FUNC_ENTER__;
return TRUE;
}
+static gint __viewer_list_compare_profile_names (gconstpointer a, gconstpointer b)
+{
+ Elm_Object_Item *item = (Elm_Object_Item *)a;
+ if (item) {
+ ug_genlist_data_t* gdata = elm_object_item_data_get(item);
+ if (gdata && gdata->device_info) {
+ return g_strcmp0((const char *)b, (const char *)gdata->device_info->profile_name);
+ }
+ }
+ return -1;
+}
+
+static gint __viewer_list_compare_ssid (gconstpointer a, gconstpointer b)
+{
+ Elm_Object_Item *item = (Elm_Object_Item *)a;
+ if (item) {
+ ug_genlist_data_t* gdata = elm_object_item_data_get(item);
+ if (gdata && gdata->device_info) {
+ return g_strcmp0((const char *)b, (const char *)gdata->device_info->ssid);
+ }
+ }
+ return -1;
+}
+
Elm_Object_Item* item_get_for_profile_name(char* profile_name)
{
__COMMON_FUNC_ENTER__;
return NULL;
}
- INFO_LOG(UG_NAME_RESP, "profile_name [%s]", profile_name);
-
- int index = 0;
- int size = viewer_list_item_size_get();
- INFO_LOG(UG_NAME_RESP, "total size [%d]", size);
-
- for (index =0; index < size; index++) {
- Elm_Object_Item* item = viewer_list_item_at_index(index);
- if (item == NULL) {
- DEBUG_LOG(UG_NAME_NORMAL, "continue");
- continue;
- }
+ Elm_Object_Item* item = NULL;
+ GSList *found = g_slist_find_custom(container, (gconstpointer)profile_name, __viewer_list_compare_profile_names);
+ if (found) {
+ INFO_LOG(UG_NAME_NORMAL, "item found for profile_name [%s]", profile_name);
+ item = found->data;
+ }
+ __COMMON_FUNC_EXIT__;
+ return item;
+}
- genlist_data* gdata = (genlist_data*) viewer_list_item_data_get(item, "data");
- if (gdata == NULL) {
- __COMMON_FUNC_EXIT__;
- return NULL;
- }
+/* If there is a single profile with the ssid then this function will return the item.
+ * If there are no profiles with the ssid OR if there are more than one profiles with
+ * ssid then this function will return NULL and the number of aps found will be update in *ap_count
+ */
+Elm_Object_Item *item_get_for_ssid(const char* ssid, int *ap_count)
+{
+ __COMMON_FUNC_ENTER__;
- INFO_LOG(UG_NAME_RESP, "profile_name [%s]\n", gdata->device_info->profile_name);
+ if (ssid == NULL || ap_count == NULL) {
+ __COMMON_FUNC_EXIT__;
+ return NULL;
+ }
- if (!strcmp(profile_name, gdata->device_info->profile_name)) {
- __COMMON_FUNC_EXIT__;
- return item;
+ Elm_Object_Item* item = NULL;
+ GSList *found = g_slist_find_custom(container, (gconstpointer)ssid, __viewer_list_compare_ssid);
+ if (found) {
+ *ap_count = 1;
+ INFO_LOG(UG_NAME_NORMAL, "item found for ssid [%s]", ssid);
+ item = found->data;
+
+ /* Lets check if there are more than one profiles with same ssid */
+ found = g_slist_find_custom(found->next, (gconstpointer)ssid, __viewer_list_compare_ssid);
+ if (found) {
+ *ap_count = 2;
+ INFO_LOG(UG_NAME_NORMAL, "two items found for ssid [%s]", ssid);
+ item = NULL;
}
+ } else {
+ *ap_count = 0;
}
-
+
__COMMON_FUNC_EXIT__;
- return NULL;
+ return item;
}
-
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#ifndef UG_MODULE_API
#define UG_MODULE_API __attribute__ ((visibility("default")))
#endif
-#include <ui-gadget-module.h>
#include "wifi.h"
#include "wlan_manager.h"
-#include "popup.h"
+#include "winset_popup.h"
#include "viewer_manager.h"
#include "wifi-engine-callback.h"
#include "i18nmanager.h"
#include "wifi-setting.h"
#include "view_detail.h"
-#include "view_dhcpip.h"
-#include "view_staticip.h"
-#include "view_ime_password.h"
#include "view_ime_hidden.h"
-
+#include "motion_control.h"
static int wifi_exit_end = FALSE;
-struct wifi_appdata *app_state = NULL;
+wifi_appdata *ug_app_state = NULL;
struct ug_data
{
Evas_Object *base;
- struct ui_gadget *ug;
+ ui_gadget_h ug;
};
-
-static void *on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, void *priv)
+static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv)
{
__COMMON_FUNC_ENTER__;
return NULL;
}
- app_state = (struct wifi_appdata *) g_malloc0(sizeof(struct wifi_appdata));
- assertm_if(NULL == app_state, "Err!! app_state == NULL");
- memset(app_state, 0x0, sizeof(struct wifi_appdata));
+ ug_app_state = (wifi_appdata *) g_malloc0(sizeof(wifi_appdata));
+ assertm_if(NULL == ug_app_state, "Err!! ug_app_state == NULL");
+ memset(ug_app_state, 0x0, sizeof(wifi_appdata));
struct ug_data *ugd;
ugd = (struct ug_data*)priv;
ugd->ug = ug;
- if (NULL != data) {
+ if (NULL != service) {
INFO_LOG(UG_NAME_NORMAL, "message load from caller");
- const char* force_connected = (const char*) bundle_get_val(data,"back-button-show-force-when-connected");
- INFO_LOG(UG_NAME_NORMAL, "* bundle:back-button-show-force-when-connected [%s]", force_connected);
+ char *caller = NULL;
+ if (service_get_extra_data(service, UG_CALLER, &caller)) {
+ ERROR_LOG(UG_NAME_NORMAL, "Failed to get service extra data");
+ return NULL;
+ }
- if (force_connected != NULL) {
- if(strcmp(force_connected, "TRUE")==0) {
- app_state->bundle_back_button_show_force_when_connected = EINA_TRUE;
+ if (caller != NULL) {
+ INFO_LOG(UG_NAME_NORMAL, "caller = [%s]", caller);
+ if (strcmp(caller, "pwlock") == 0) {
+ ug_app_state->ug_type = UG_VIEW_SETUP_WIZARD;
+ service_get_extra_data(service, "lbutton", &ug_app_state->lbutton_setup_wizard);
+ service_get_extra_data(service, "rbutton_skip", &ug_app_state->rbutton_setup_wizard_skip);
+ service_get_extra_data(service, "rbutton_next", &ug_app_state->rbutton_setup_wizard_next);
+ service_get_extra_data(service, "lbutton_icon", &ug_app_state->lbutton_setup_wizard_prev_icon);
+ service_get_extra_data(service, "rbutton_skip_icon", &ug_app_state->rbutton_setup_wizard_skip_icon);
+ service_get_extra_data(service, "scan_icon", &ug_app_state->rbutton_setup_wizard_scan_icon);
+ service_get_extra_data(service, "rbutton_next_icon", &ug_app_state->rbutton_setup_wizard_next_icon);
+ } else {
+ ug_app_state->ug_type = UG_VIEW_DEFAULT;
}
+
+ free(caller);
} else {
- app_state->bundle_back_button_show_force_when_connected = EINA_FALSE;
+ INFO_LOG(UG_NAME_NORMAL, "caller is not defined");
+ ug_app_state->ug_type = UG_VIEW_DEFAULT;
}
} else {
- INFO_LOG(UG_NAME_NORMAL, "I don`t know about my caller, I will just call him < Setting");
- app_state->bundle_back_button_show_force_when_connected = EINA_FALSE;
+ INFO_LOG(UG_NAME_NORMAL, "caller is not defined");
+ ug_app_state->ug_type = UG_VIEW_DEFAULT;
}
- INFO_LOG(UG_NAME_NORMAL, "bundle process end");
- INFO_LOG(UG_NAME_NORMAL, "back button show when connected force set [%d]", app_state->bundle_back_button_show_force_when_connected);
-
bindtextdomain(PACKAGE, LOCALEDIR);
- app_state->win_main = ug_get_parent_layout(ug);
- assertm_if( NULL == app_state->win_main, "Err!! win_main == NULL");
+ ug_app_state->win_main = ug_get_parent_layout(ug);
+ assertm_if( NULL == ug_app_state->win_main, "Err!! win_main == NULL");
- elm_win_conformant_set(app_state->win_main, TRUE);
- app_state->gadget= ugd;
- app_state->ug = ug;
+ elm_win_conformant_set(ug_app_state->win_main, TRUE);
+ ug_app_state->gadget= ugd;
+ ug_app_state->ug = ug;
if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND) < 0) {
INFO_LOG(UG_NAME_ERR, "[Error]Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND");
}
- evas_object_show(app_state->win_main);
- elm_win_indicator_mode_set(app_state->win_main, ELM_WIN_INDICATOR_SHOW);
+ evas_object_show(ug_app_state->win_main);
+ elm_win_indicator_mode_set(ug_app_state->win_main, ELM_WIN_INDICATOR_SHOW);
memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t));
- Evas_Object* base = viewer_manager_create(app_state->win_main);
+ Evas_Object* base = viewer_manager_create(ug_app_state->win_main);
assertm_if(NULL == base, "Err!! main_layout == NULL");
ugd->base = base;
- winset_popup_create(app_state->win_main);
+ ug_app_state->popup_manager = winset_popup_manager_create(ug_app_state->win_main, PACKAGE);
- app_state->bAlive = EINA_TRUE;
- app_state->current_view = VIEW_MAIN;
+ ug_app_state->bAlive = EINA_TRUE;
wlan_manager_create();
wlan_manager_set_message_callback(wlan_engine_callback);
case WLAN_MANAGER_ERR_NONE:
break;
case WLAN_MANAGER_ERR_ALREADY_REGISTERED:
- winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_NONE);
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_REGISTER_FAILED_UNKNOWN, NULL);
return ugd->base;
case WLAN_MANAGER_ERR_UNKNOWN:
- winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED);
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, NULL);
return ugd->base;
default:
__COMMON_FUNC_EXIT__;
case WLAN_MANAGER_OFF:
ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-off\n");
viewer_manager_header_mode_set(HEADER_MODE_OFF);
+ viewer_manager_show(VIEWER_WINSET_SEARCHING);
viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS);
break;
case WLAN_MANAGER_CONNECTING:
- ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connecting\n");
case WLAN_MANAGER_UNCONNECTED:
- ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-on\n");
- viewer_manager_header_mode_set(HEADER_MODE_SEARCHING);
- viewer_manager_hide(VIEWER_WINSET_SEARCHING);
- viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS);
- if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) {
- DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC");
- }
- break;
case WLAN_MANAGER_CONNECTED:
- ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connected\n");
+ connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC);
viewer_manager_header_mode_set(HEADER_MODE_SEARCHING);
viewer_manager_hide(VIEWER_WINSET_SEARCHING);
viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS);
- if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) {
- DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC");
- }
break;
case WLAN_MANAGER_ERROR:
default:
- winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR);
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR, NULL);
break;
}
+ motion_create(ug_app_state->win_main);
+
__COMMON_FUNC_EXIT__;
return ugd->base;
}
-static void on_start(struct ui_gadget *ug, bundle *data, void *priv)
+static Eina_Bool load_initial_ap_list(void *data)
+{
+ wlan_manager_scanned_profile_refresh_with_count((int)data);
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static void on_start(ui_gadget_h ug, service_h service, void *priv)
{
__COMMON_FUNC_ENTER__;
- if(app_state->bAlive)
- ecore_idler_add((Ecore_Task_Cb)wlan_manager_scanned_profile_refresh_with_count, (void *)8);
+ ecore_idler_add(load_initial_ap_list, (void *)8);
+
+ motion_start();
+
__COMMON_FUNC_EXIT__;
+ return;
}
-static void on_pause(struct ui_gadget *ug, bundle *data, void *priv)
+static void on_pause(ui_gadget_h ug, service_h service, void *priv)
{
__COMMON_FUNC_ENTER__;
+ motion_stop();
+
+ if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_EXPONENTIAL) == WLAN_MANAGER_ERR_NONE) {
+ DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - EXPONENTIAL");
+ }
+
if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_ON_BACKGROUND) < 0) {
INFO_LOG(UG_NAME_NORMAL, "Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_ON_BACKGROUND");
}
__COMMON_FUNC_EXIT__;
}
-static void on_resume(struct ui_gadget *ug, bundle *data, void *priv)
+static void on_resume(ui_gadget_h ug, service_h service, void *priv)
{
__COMMON_FUNC_ENTER__;
+ motion_start();
+
+ if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) {
+ DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC");
+ }
+
if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND) < 0) {
INFO_LOG(UG_NAME_NORMAL, "Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND");
}
__COMMON_FUNC_EXIT__;
}
-static void on_destroy(struct ui_gadget *ug, bundle *data, void *priv)
+static void on_destroy(ui_gadget_h ug, service_h service, void *priv)
{
__COMMON_FUNC_ENTER__;
-
if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_OFF) < 0) {
INFO_LOG(UG_NAME_NORMAL, "Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_OFF");
}
-
if (!ug || !priv){
__COMMON_FUNC_EXIT__;
return;
}
- wifi_exit();
+ motion_destroy();
+ wifi_exit();
struct ug_data* ugd = priv;
-
if(ugd->base){
evas_object_del(ugd->base);
ugd->base = NULL;
}
-
- __COMMON_FUNC_EXIT__;
}
-static void on_message(struct ui_gadget *ug, bundle *msg, bundle *data, void *priv)
+static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv)
{
}
-static void on_event(struct ui_gadget *ug, enum ug_event event, bundle *data, void *priv)
+static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv)
{
switch (event) {
case UG_EVENT_LOW_MEMORY:
}
}
-static void on_key_event(struct ui_gadget *ug, enum ug_key_event event, bundle *data, void *priv)
+static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv)
{
__COMMON_FUNC_ENTER__;
INFO_LOG(UG_NAME_NORMAL, "UG_KEY_EVENT_END");
/* popup key event determine */
- Evas_Object* det = winset_popup_content_get(NULL);
-
- if(det == NULL) {
- INFO_LOG(UG_NAME_NORMAL, "No POPUP");
- } else {
- INFO_LOG(UG_NAME_NORMAL, "POPUP Removed");
- winset_popup_timer_remove();
- winset_popup_content_clear();
- return;
- }
-
- if(app_state->current_view == VIEW_MAIN) {
+ winset_popup_hide_popup(ug_app_state->popup_manager);
+
+ Evas_Object* navi_frame = viewer_manager_get_naviframe();
+ view_manager_view_type_t top_view_id = (view_manager_view_type_t)evas_object_data_get(navi_frame, SCREEN_TYPE_ID_KEY);
+ if(VIEW_MANAGER_VIEW_TYPE_MAIN == top_view_id) {
INFO_LOG(UG_NAME_NORMAL, "same");
} else {
INFO_LOG(UG_NAME_NORMAL, "differ");
}
DEBUG_LOG(UG_NAME_NORMAL, "* popup manager destroying...");
- winset_popup_destroy(NULL);
+ winset_popup_manager_destroy(ug_app_state->popup_manager);
+ ug_app_state->popup_manager = NULL;
DEBUG_LOG(UG_NAME_NORMAL, "* wlan manager destroying...");
wlan_manager_destroy();
DEBUG_LOG(UG_NAME_NORMAL, "* view_main destroying...");
DEBUG_LOG(UG_NAME_NORMAL, "* manager destroy complete");
struct ug_data *ugd;
- ugd = app_state->gadget;
- app_state->bAlive = EINA_FALSE;
+ ugd = ug_app_state->gadget;
+ ug_app_state->bAlive = EINA_FALSE;
if(g_pending_call.is_handled == FALSE)
{
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "wlan_manager.h"
#include "view_detail.h"
#include "viewer_list.h"
-#include "view_ime_password.h"
-#include "view_eap.h"
-#include "popup.h"
+#include "common_pswd_popup.h"
+#include "common_eap_connect.h"
+#include "winset_popup.h"
+#include "i18nmanager.h"
+#include "common_datamodel.h"
+extern wifi_appdata *ug_app_state;
-void radio_button_cb(void *data, Evas_Object *obj, void *event_info)
+static void _popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
{
__COMMON_FUNC_ENTER__;
+ if (!ug_app_state->passpopup || !data) {
+ return;
+ }
- int ret = WLAN_MANAGER_ERR_UNKNOWN;
- if (data == NULL) {
- ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid argument device_info");
- goto radio_button_cb_process_end;
+ char *profile_name = (char *)data;
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ g_free(profile_name);
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ if (!ug_app_state->passpopup || !data) {
+ return;
+ }
+
+ char *profile_name = (char *)data;
+ wlan_security_mode_type_t sec_mode;
+ view_datamodel_basic_info_t *basic_data_model = view_basic_detail_datamodel_create(profile_name);
+ if (!basic_data_model) {
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ g_free(profile_name);
+ return;
+ }
+ int ret = WLAN_MANAGER_ERR_NONE;
+ int nLen = 0;
+ const char* szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup);
+ nLen = strlen(szPassword);
+ INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword);
+
+ sec_mode = view_detail_datamodel_sec_mode_get(basic_data_model);
+ switch (sec_mode) {
+ case WLAN_SEC_MODE_WEP:
+
+ if (nLen != 5 && nLen != 13 && nLen != 26 && nLen != 10) {
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WEP_PSWD_LEN_ERROR, NULL);
+ goto popup_ok_cb_exit;
+ }
+
+ break;
+
+ case WLAN_SEC_MODE_WPA_PSK:
+ case WLAN_SEC_MODE_WPA2_PSK:
+
+ if (nLen < 8 || nLen > 63) {
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WPA_PSWD_LEN_ERROR, NULL);
+ goto popup_ok_cb_exit;
+ }
+ break;
+
+ default:
+ ERROR_LOG(UG_NAME_SCAN, "Fatal: Wrong security mode : %d", sec_mode);
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ g_free(profile_name);
+ goto popup_ok_cb_exit;
+ }
+
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+
+ INFO_LOG(UG_NAME_SCAN, "connect with password comp");
+ wlan_manager_password_data param;
+ memset(¶m, 0, sizeof(wlan_manager_password_data));
+ param.wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE;
+ param.password = szPassword;
+ ret = wlan_manager_connect_with_password(profile_name, sec_mode, ¶m);
+ if (WLAN_MANAGER_ERR_NONE == ret) {
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
+ } else {
+ ERROR_LOG(UG_NAME_SCAN, "wlan error %d", ret);
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
+ }
+
+ g_free(profile_name);
+
+popup_ok_cb_exit:
+ g_free((gpointer)szPassword);
+ view_basic_detail_datamodel_destroy(basic_data_model);
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _wps_pbc_popup_cancel_connecting(void* data, Evas_Object* obj, void* event_info)
+{
+ if (!ug_app_state->passpopup || !data) {
+ return;
+ }
+
+ char *profile_name = (char *)data;
+ int ret = wlan_manager_request_cancel_wps_connection(profile_name);
+ if (ret == WLAN_MANAGER_ERR_NONE) {
+ INFO_LOG(UG_NAME_NORMAL, "WPS conection cancelled successfully for AP[%s]", profile_name);
+ } else {
+ ERROR_LOG(UG_NAME_NORMAL, "Error!!! wlan_manager_request_cancel_wps_connection failed for AP[%s]", profile_name);
+ }
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
+ g_free(profile_name);
+ return;
+}
+
+static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ if (!ug_app_state->passpopup || !data) {
+ return;
}
- //selected UI and it`s data
+ char *profile_name = (char *)data;
+ int ret = wlan_manager_request_wps_connection(profile_name);
+ if (ret == WLAN_MANAGER_ERR_NONE) {
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
+ common_pswd_popup_pbc_popup_create(ug_app_state->passpopup, _wps_pbc_popup_cancel_connecting, profile_name);
+ } else {
+ ERROR_LOG(UG_NAME_NORMAL, "Error!!! wlan_manager_request_wps_connection failed");
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
+ g_free(profile_name);
+ }
+ __COMMON_FUNC_EXIT__;
+}
+
+void eap_view_close_cb(void)
+{
+ ug_app_state->eap_view = NULL;
+}
+
+void radio_button_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+
+ int ret = WLAN_MANAGER_ERR_UNKNOWN;
Elm_Object_Item *it = (Elm_Object_Item *)event_info;
wifi_device_info_t *device_info = (wifi_device_info_t *)data;
- if (device_info->ssid == NULL) {
- ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid argument device_info ssid");
- goto radio_button_cb_process_end;
+ if (!it || !device_info || device_info->ssid == NULL) {
+ ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid inout params");
+ __COMMON_FUNC_EXIT__;
+ return;
}
- viewer_manager_set_enabled_list_update(EINA_FALSE);
- viewer_manager_current_selected_item_set(it);
-
- genlist_data* gdata = (genlist_data*) viewer_list_item_data_get((Elm_Object_Item*)it, "data");
+ ug_genlist_data_t *gdata = (ug_genlist_data_t *) elm_object_item_data_get((Elm_Object_Item*)it);
if(NULL == gdata) {
ERROR_LOG(UG_NAME_NORMAL, "Error!!! list item data null");
- goto radio_button_cb_process_end;
+ __COMMON_FUNC_EXIT__;
+ return;
}
int item_state = gdata->radio_mode;
+ int current_state = 0;
INFO_LOG(UG_NAME_NORMAL, "ssid --- %s", device_info->ssid);
INFO_LOG(UG_NAME_NORMAL, "current item_state state is --- %d\n", item_state);
- INFO_LOG(UG_NAME_NORMAL, "selected item_state %d", item_state);
switch (item_state) {
- case VIEWER_ITEM_RADIO_MODE_NULL: //this is OFF too. of course, NULL should be un-state
case VIEWER_ITEM_RADIO_MODE_OFF:
+ current_state = viewer_manager_header_mode_get();
+
+ INFO_LOG(UG_NAME_NORMAL, "Clicked AP`s information\n");
+ INFO_LOG(UG_NAME_NORMAL, "header mode [%d]", current_state);
+
+ switch (current_state) {
+ case HEADER_MODE_CONNECTED:
+ case HEADER_MODE_ON:
+ ret = wlan_manager_request_connection(device_info);
+ if (ret == WLAN_MANAGER_ERR_NONE) {
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
+ }
+ break;
+
+ case HEADER_MODE_OFF:
+ case HEADER_MODE_SEARCHING:
+ case HEADER_MODE_ACTIVATING:
+ case HEADER_MODE_CONNECTING:
+ case HEADER_MODE_DISCONNECTING:
+ case HEADER_MODE_DEACTIVATING:
+ default:
+ INFO_LOG(UG_NAME_NORMAL, "Ignore the item click");
+ break;
+ }
break;
+
case VIEWER_ITEM_RADIO_MODE_CONNECTED:
INFO_LOG(UG_NAME_NORMAL, "want to disconnect for connected item");
- viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_DISCONNECTING);
ret = wlan_manager_request_disconnection(device_info);
if(ret == WLAN_MANAGER_ERR_NONE){
- viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_DISCONNECTING);
viewer_manager_header_mode_set(HEADER_MODE_DISCONNECTING);
- viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_DISCONNECTING);
-
- } else {
- viewer_manager_item_radio_mode_set(NULL, it , VIEWER_ITEM_RADIO_MODE_OFF);
}
-
- goto radio_button_cb_process_end;
+ break;
case VIEWER_ITEM_RADIO_MODE_CONNECTING:
INFO_LOG(UG_NAME_NORMAL, "want to cancel connecting for connected item");
-
ret = wlan_manager_request_cancel_connecting(device_info->profile_name);
if(ret == WLAN_MANAGER_ERR_NONE){
- viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING);
viewer_manager_header_mode_set(HEADER_MODE_CANCEL_CONNECTING);
- viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING);
}
- goto radio_button_cb_process_end;
-
- default:
- ret = WLAN_MANAGER_ERR_UNKNOWN;
- goto radio_button_cb_process_end;
- }
-
- int current_state = -1;
- current_state = viewer_manager_header_mode_get();
-
- INFO_LOG(UG_NAME_NORMAL, "Clicked AP`s information\n");
- INFO_LOG(UG_NAME_NORMAL, "header mode [%d]", current_state);
-
- switch (current_state) {
- case HEADER_MODE_OFF:
- INFO_LOG(UG_NAME_NORMAL, "you can not connect when header off");
- break;
- case HEADER_MODE_CONNECTED:
- INFO_LOG(UG_NAME_NORMAL, "header mode connected. disconnect and connect needed");
- case HEADER_MODE_ON:
- viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_CONNECTING);
-
- ret = wlan_manager_request_connection(device_info);
- if (ret == WLAN_MANAGER_ERR_NONE) {
- Elm_Object_Item* target_item = viewer_manager_current_selected_item_get();
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING);
- } else {
- viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_OFF);
- }
break;
- case HEADER_MODE_SEARCHING:
- case HEADER_MODE_ACTIVATING:
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_DISCONNECTING:
- case HEADER_MODE_DEACTIVATING:
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_current_selected_item_set(NULL);
- INFO_LOG(UG_NAME_NORMAL, "Disable input");
- return;
-
default:
- INFO_LOG(UG_NAME_NORMAL, "default");
+ ret = WLAN_MANAGER_ERR_UNKNOWN;
break;
}
-radio_button_cb_process_end:
-
switch (ret) {
case WLAN_MANAGER_ERR_NONE:
INFO_LOG(UG_NAME_NORMAL, "ERROR_NONE");
break;
case WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED:
- view_ime_password(device_info);
- break;
+ {
+ pswd_popup_create_req_data_t popup_info;
+ popup_info.title = device_info->ssid;
+ popup_info.ok_cb = _popup_ok_cb;
+ popup_info.cancel_cb = _popup_cancel_cb;
+ popup_info.show_wps_btn = device_info->wps_mode;
+ popup_info.wps_btn_cb = _wps_btn_cb;
+ popup_info.cb_data = g_strdup(gdata->device_info->profile_name);
+ INFO_LOG(UG_NAME_NORMAL, "Going to create a popup. ug_app_state = 0x%x", ug_app_state);
+ ug_app_state->passpopup = common_pswd_popup_create(ug_app_state->win_main, PACKAGE, &popup_info);
+ INFO_LOG(UG_NAME_NORMAL, "After create a popup");
+ if (ug_app_state->passpopup == NULL) {
+ INFO_LOG(UG_NAME_ERR, "pass popup create failed !");
+ }
+ }
+ break;
+
case WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE:
- view_eap(device_info);
- break;
+ {
+ Evas_Object* navi_frame = viewer_manager_get_naviframe();
+ if (navi_frame == NULL) {
+ ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe");
+ return;
+ }
+ ug_app_state->eap_view = create_eap_connect(ug_app_state->win_main, navi_frame, PACKAGE, device_info, eap_view_close_cb);
+ }
+ break;
+
case WLAN_MANAGER_ERR_NOSERVICE:
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- wlan_manager_scanned_profile_refresh(TRUE);
break;
+
default:
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTING_FAILED_INVALID_OPERATION);
ERROR_LOG(UG_NAME_NORMAL, "errro code [%d]", ret);
break;
}
__COMMON_FUNC_EXIT__;
+ return;
}
void list_select_cb(void *data, Evas_Object *obj, void *event_info)
DEBUG_LOG(UG_NAME_NORMAL, "ssid [%s]", device_info->ssid);
- viewer_manager_current_selected_item_set((Elm_Object_Item *)obj);
-
view_detail(device_info);
__COMMON_FUNC_EXIT__;
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "wifi-ui-list-callbacks.h"
#include "wlan_manager.h"
#include "viewer_manager.h"
-#include "popup.h"
+#include "winset_popup.h"
#include "wifi-engine-callback.h"
-#include "view_ime_password.h"
#include "viewer_list.h"
+#include "motion_control.h"
+extern wifi_appdata *ug_app_state;
void wlan_engine_callback(void *user_data, void *wlan_data)
{
Elm_Object_Item* target_item = NULL;
callback_data* det = (callback_data*) wlan_data;
+ ug_genlist_data_t* gdata = NULL;
int header_state = -1;
header_state = viewer_manager_header_mode_get();
INFO_LOG(UG_NAME_NORMAL, "header state [%d]", header_state);
INFO_LOG(UG_NAME_NORMAL, "daemon message [%d]", det->type);
+ INFO_LOG(UG_NAME_NORMAL, "profile_name [%s]", det->profile_name);
+
+ if (det->profile_name[0]) { /* Is it a response with a profile name? */
+
+ /* All responses with profile names should have an associated genlist item
+ * Verify if the genlist item exists and associated genlist item data exists
+ */
+ target_item = item_get_for_profile_name(det->profile_name);
+ if (!target_item ||
+ !(gdata = (ug_genlist_data_t *)elm_object_item_data_get(target_item))) {
+ /* This is a case where the profile name exists but no
+ * associated genlist item OR genlist item data exists.
+ * This condition can come when an AP action(Example connect)
+ * is triggered and by the time the response came the genlist is cleared.
+ */
+ ERROR_LOG(UG_NAME_RESP,"Error!!! Target item[0x%x] is NULL OR item data[0x%x] is NULL", target_item, gdata);
+ if (det->type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTING ||
+ det->type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK ||
+ det->type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND) {
+ /* This situation comes during hidden AP connecting/connected event.
+ * Anyways its always better to add the connecting/connected AP */
+ target_item = viewer_manager_add_new_item(det->profile_name);
+ if (!target_item ||
+ !(gdata = (ug_genlist_data_t *)elm_object_item_data_get(target_item))) {
+ ERROR_LOG(UG_NAME_RESP, "Error!!! Fatal: Unable to add a connecting/connected item.");
+ __COMMON_FUNC_EXIT__;
+ return;
+ }
+ } else {
+ ERROR_LOG(UG_NAME_RESP, "Fatal: target_item or gdata is NULL");
+ __COMMON_FUNC_EXIT__;
+ return;
+ }
+
+ }
+ }
+
+ /* All OK to process the response */
switch (det->type) {
case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK:
- INFO_LOG(UG_NAME_RESP,"Power ok..\n");
-
- if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) {
- DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC");
+ if (WLAN_MANAGER_ERR_NONE == wlan_manager_request_scan()) { /* First scan request after power on */
+ INFO_LOG(UG_NAME_RESP,"Scan request is success\n");
+ connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC);
+ viewer_manager_header_mode_set(HEADER_MODE_SEARCHING);
+ viewer_manager_hidden_disable_set(TRUE);
+ viewer_manager_show(VIEWER_WINSET_SEARCHING);
+ viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS);
+ } else { /* First scan request failed. Anyways lets set the state to ON and allow user to continue */
+ INFO_LOG(UG_NAME_RESP,"Scan request failed\n");
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
+ viewer_manager_hidden_disable_set(FALSE);
+ viewer_manager_hide(VIEWER_WINSET_SEARCHING);
+ viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS);
}
- viewer_manager_header_mode_set(HEADER_MODE_SEARCHING);
- viewer_manager_hidden_disable_set(TRUE);
- viewer_manager_show(VIEWER_WINSET_SEARCHING);
- viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS);
+ motion_stop();
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK:
viewer_list_item_clear();
wlan_manager_reset_connected_AP();
viewer_manager_header_mode_set(HEADER_MODE_OFF);
-
- viewer_manager_hide(VIEWER_WINSET_SEARCHING);
+ viewer_manager_show(VIEWER_WINSET_SEARCHING);
viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS);
+
+ motion_start();
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED:
viewer_manager_header_mode_set(HEADER_MODE_OFF);
- wlan_manager_network_syspopup_message("Network connection popup", "not support");
+ wlan_manager_network_syspopup_message("Network connection popup", "not support", "notification");
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED:
viewer_manager_header_mode_set(HEADER_MODE_OFF);
- wlan_manager_network_syspopup_message("Network connection popup", "wifi restricted");
+ wlan_manager_network_syspopup_message("Network connection popup", "wifi restricted", "popup");
break;
- case WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK:
- INFO_LOG(UG_NAME_RESP,"Scan ok..\n");
- wlan_manager_scanned_profile_refresh(TRUE);
- if (HEADER_MODE_CONNECTED == header_state) {
- viewer_manager_hidden_disable_set(FALSE);
- } else if (HEADER_MODE_ON == header_state) {
- viewer_manager_hidden_disable_set(FALSE);
- }
- break;
- case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND:
- INFO_LOG(UG_NAME_RESP,"Scan result ind");
- switch (header_state) {
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- case HEADER_MODE_ON:
- case HEADER_MODE_SEARCHING:
- wlan_manager_scanned_profile_refresh(TRUE);
- break;
- case HEADER_MODE_DEACTIVATING:
- case HEADER_MODE_OFF:
- case HEADER_MODE_ACTIVATING:
- default:
+ case WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK: /* Manual scan complete response */
+ if (HEADER_MODE_DEACTIVATING == header_state || HEADER_MODE_OFF == header_state) {
break;
}
+ viewer_manager_hidden_disable_set(FALSE);
+ viewer_manager_hide(VIEWER_WINSET_SEARCHING);
+ case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND: /* Auto scan complete response */
+ INFO_LOG(UG_NAME_RESP,"Scan complete..\n");
+ wlan_manager_scanned_profile_refresh();
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND:
- target_item = item_get_for_profile_name(det->profile_name);
- switch (header_state) {
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- case HEADER_MODE_ON:
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED);
- }
-
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTED);
- viewer_manager_scroll_to_top();
- break;
- case HEADER_MODE_DEACTIVATING:
- case HEADER_MODE_OFF:
- case HEADER_MODE_ACTIVATING:
- default:
- break;
- }
- break;
case WLAN_MANAGER_RESPONSE_TYPE_CONNECTING:
- switch (header_state) {
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_DISCONNECTING:
- case HEADER_MODE_DEACTIVATING:
- case HEADER_MODE_CONNECTED:
- break;
- default:
- target_item = item_get_for_profile_name(det->profile_name);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING);
- break;
- }
- break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK:
- target_item = item_get_for_profile_name(det->profile_name);
- switch (header_state) {
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- case HEADER_MODE_ON:
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED);
- }
-
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTED);
- viewer_manager_scroll_to_top();
- break;
- case HEADER_MODE_DEACTIVATING:
- case HEADER_MODE_OFF:
- case HEADER_MODE_ACTIVATING:
- default:
- break;
- }
+ target_item = viewer_manager_move_item_to_top(target_item);
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTING);
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING);
+ viewer_manager_scroll_to_top();
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS:
- target_item = item_get_for_profile_name(det->profile_name);
- viewer_manager_header_mode_set(HEADER_MODE_ON);
-
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF);
- }
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK:
+ target_item = viewer_manager_move_item_to_top(target_item);
+ viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED);
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTED);
+ viewer_manager_scroll_to_top();
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN:
- target_item = item_get_for_profile_name(det->profile_name);
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF);
+ case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK:
+ target_item = viewer_manager_move_item_to_top(target_item);
+ viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED);
+ viewer_manager_header_mode_set(HEADER_MODE_CONNECTED);
+ viewer_manager_scroll_to_top();
+ if (ug_app_state->passpopup) { /* This is needed to remove the PBC timer popup */
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
}
-
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
-
- wlan_manager_network_syspopup_message("Network connection popup", "unable to connect");
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT:
- target_item = item_get_for_profile_name(det->profile_name);
- viewer_manager_header_mode_set(HEADER_MODE_ON);
-
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- }
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
- winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTING_FAILED_TIMEOUT);
- break;
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN:
case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ALREADY_EXIST:
- target_item = item_get_for_profile_name(det->profile_name);
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED:
viewer_manager_header_mode_set(HEADER_MODE_ON);
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF);
+ if (ug_app_state->passpopup) {
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
}
-
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- wlan_manager_scanned_profile_refresh(TRUE);
break;
+
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT:
case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD:
- target_item = item_get_for_profile_name(det->profile_name);
viewer_manager_header_mode_set(HEADER_MODE_ON);
+ viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF);
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP, "Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF);
+ if (ug_app_state->passpopup) {
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
}
-
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- wlan_manager_scanned_profile_refresh(TRUE);
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED:
- target_item = item_get_for_profile_name(det->profile_name);
- viewer_manager_header_mode_set(HEADER_MODE_ON);
-
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP, "Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF);
- }
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- wlan_manager_scanned_profile_refresh(TRUE);
- break;
case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND:
+ case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK:
INFO_LOG(UG_NAME_RESP, "DISCONNECTION IND");
- target_item = item_get_for_profile_name(det->profile_name);
- switch (header_state) {
- case HEADER_MODE_CONNECTING:
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- genlist_data* gdata = (genlist_data*) viewer_list_item_data_get(target_item, "data");
- if (gdata->radio_mode == VIEWER_ITEM_RADIO_MODE_CONNECTING)
- viewer_manager_header_mode_set(HEADER_MODE_ON);
-
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- }
- break;
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- case HEADER_MODE_ON:
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- }
-
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
- break;
- case HEADER_MODE_CANCEL_CONNECTING:
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
- break;
- case HEADER_MODE_DEACTIVATING:
- case HEADER_MODE_OFF:
- case HEADER_MODE_ACTIVATING:
- default:
- INFO_LOG(UG_NAME_RESP,"DISCONNECTION IND will not applied at header mode [%d]", header_state);
- break;
- }
-
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
break;
- case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK:
- INFO_LOG(UG_NAME_RESP,"DISCONNECTION_OK");
- target_item = item_get_for_profile_name(det->profile_name);
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- genlist_data* gdata = (genlist_data*) viewer_list_item_data_get(target_item, "data");
- if (gdata->radio_mode == VIEWER_ITEM_RADIO_MODE_WPS_CONNECTING) {
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- return;
- }
-
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- }
+ case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL:
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
- switch (header_state) {
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_CANCEL_CONNECTING:
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- break;
- case HEADER_MODE_DEACTIVATING:
- viewer_manager_header_mode_set(HEADER_MODE_OFF);
- break;
- case HEADER_MODE_OFF:
- viewer_manager_header_mode_set(HEADER_MODE_OFF);
- break;
- case HEADER_MODE_ON:
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- break;
- case HEADER_MODE_ACTIVATING:
- default:
- if (det) {
- if (det->profile_name)
- g_free(det->profile_name);
- g_free(det);
- }
- return;
+ if (ug_app_state->passpopup) {
+ common_pswd_popup_destroy(ug_app_state->passpopup);
+ ug_app_state->passpopup = NULL;
}
-
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_current_selected_item_set(NULL);
-
break;
- case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK:
- target_item = item_get_for_profile_name(det->profile_name);
- switch(header_state) {
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- case HEADER_MODE_ON:
- if(target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- winset_popup_mode_set(NULL, POPUP_MODE_OFF, POPUP_OPTION_NONE);
- view_ime_password_destroy();
- viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED);
- }
- viewer_manager_set_enabled_list_update(EINA_TRUE);
- viewer_manager_refresh(TRUE);
-
- viewer_manager_header_mode_set(HEADER_MODE_CONNECTED);
- break;
- case HEADER_MODE_DEACTIVATING:
- case HEADER_MODE_OFF:
- case HEADER_MODE_ACTIVATING:
- default:
- break;
- }
+ case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK:
+ viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
+ viewer_manager_header_mode_set(HEADER_MODE_ON);
break;
- case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL:
- target_item = item_get_for_profile_name(det->profile_name);
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- }
- switch (header_state) {
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_CANCEL_CONNECTING:
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- break;
- case HEADER_MODE_DEACTIVATING:
- viewer_manager_header_mode_set(HEADER_MODE_OFF);
- break;
- case HEADER_MODE_OFF:
- viewer_manager_header_mode_set(HEADER_MODE_OFF);
- break;
- case HEADER_MODE_ON:
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- break;
- case HEADER_MODE_ACTIVATING:
- default:
- if (det) {
- if (det->profile_name)
- g_free(det->profile_name);
- g_free(det);
- }
- return;
- }
+ case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL:
+ INFO_LOG(UG_NAME_RESP, "CANCEL_WPS_ENROLL_FAIL");
+ break;
- winset_popup_mode_set(NULL, POPUP_MODE_OFF, POPUP_OPTION_NONE);
- wlan_manager_network_syspopup_message("Network connection popup", "unable to connect");
+ case WLAN_MANAGER_RESPONSE_TYPE_MAC_ID_IND:
+ INFO_LOG(UG_NAME_RESP, "MAC_ID_IND");
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK:
- target_item = item_get_for_profile_name(det->profile_name);
- if (target_item == NULL) {
- ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL");
- } else {
- viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF);
- }
- switch(header_state){
- case HEADER_MODE_CONNECTING:
- case HEADER_MODE_CANCEL_CONNECTING:
- case HEADER_MODE_CONNECTED:
- case HEADER_MODE_DISCONNECTING:
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- break;
- case HEADER_MODE_DEACTIVATING:
- viewer_manager_header_mode_set(HEADER_MODE_OFF);
- break;
- case HEADER_MODE_OFF:
- viewer_manager_header_mode_set(HEADER_MODE_OFF);
- break;
- case HEADER_MODE_ON:
- viewer_manager_header_mode_set(HEADER_MODE_ON);
- break;
- case HEADER_MODE_ACTIVATING:
- default:
- if (det) {
- if (det->profile_name)
- g_free(det->profile_name);
- g_free(det);
- }
- return;
+ case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_IND:
+ if (ug_app_state->hidden_ap_popup) {
+ viewer_manager_specific_scan_response_hlr(user_data);
}
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL:
+ case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL:
+ if (ug_app_state->hidden_ap_popup) {
+ INFO_LOG(UG_NAME_RESP, "Hidden AP destroy \n");
+ view_hidden_ap_popup_destroy(ug_app_state->hidden_ap_popup);
+ ug_app_state->hidden_ap_popup = NULL;
+ }
break;
- case WLAN_MANAGER_RESPONSE_TYPE_MAC_ID_IND:
- INFO_LOG(UG_NAME_RESP, "MAC_ID_IND");
+ case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK:
+ INFO_LOG(UG_NAME_RESP, "WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK");
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_NONE:
default:
- winset_popup_simple_set("[ERROR] Unregistered WLAN_EVENT number");
- break;
+ winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_UNREG_WLAN_EVENT_ERROR, NULL);
}
__COMMON_FUNC_EXIT__;
-
- if (det) {
- if (det->profile_name)
- g_free(det->profile_name);
- g_free(det);
- }
-
return;
}
-void wlan_engine_refresh_callback(int is_scan)
+void wlan_engine_refresh_callback(void)
{
__COMMON_FUNC_ENTER__;
- viewer_manager_refresh(is_scan);
+ viewer_manager_refresh();
__COMMON_FUNC_EXIT__;
}
--- /dev/null
+/*
+* Wi-Fi UG
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#include "wifi.h"
+#include "common.h"
+#include "common_utils.h"
+#include "winset_popup.h"
+#include "wlan_manager.h"
+#include "i18nmanager.h"
+#include "viewer_manager.h"
+
+
+struct popup_manager_object {
+ /* General popup attributes */
+ Evas_Object* win;
+ Evas_Object* popup;
+ Evas_Object *popup_user_prompt;
+ char *str_pkg_name;
+};
+
+static void _mobilehotspot_disable_cb(DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data)
+{
+ __COMMON_FUNC_ENTER__;
+
+ GError *err = NULL;
+ guint type;
+ guint result;
+ DBusGConnection *bus = user_data;
+
+ dbus_g_proxy_end_call(proxy, call, &err, G_TYPE_UINT, &type,
+ G_TYPE_UINT, &result, G_TYPE_INVALID);
+ if (err != NULL) {
+ INFO_LOG(COMMON_NAME_LIB, "Error occured [%s]\n", err->message);
+ g_error_free(err);
+ viewer_manager_header_mode_set(HEADER_MODE_OFF);
+ } else {
+ INFO_LOG(COMMON_NAME_LIB, "TYPE = %d, Result = %d\n", type, result);
+ if (3 == type && (0 == result || 5 == result)) {
+ INFO_LOG(COMMON_NAME_LIB, "OK\n");
+ /* Tithering is now disabled. All OK to switch on Wi-Fi */
+ power_control();
+ } else {
+ viewer_manager_header_mode_set(HEADER_MODE_OFF);
+ }
+ }
+
+ g_pending_call.is_handled = TRUE;
+
+ g_object_unref(proxy);
+ dbus_g_connection_unref(bus);
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _retry_clicked_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ popup_manager_object_t *manager_object = (popup_manager_object_t *)data;
+ if (!manager_object) {
+ return;
+ }
+
+ INFO_LOG(UG_NAME_NORMAL, "Response OK");
+
+ switch (wlan_manager_start()) {
+ case WLAN_MANAGER_ERR_NONE:
+ break;
+ case WLAN_MANAGER_ERR_ALREADY_REGISTERED:
+ winset_popup_mode_set(manager_object, POPUP_OPTION_REGISTER_FAILED_UNKNOWN, NULL);
+ __COMMON_FUNC_EXIT__;
+ return;
+ case WLAN_MANAGER_ERR_UNKNOWN:
+ winset_popup_mode_set(manager_object, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, NULL);
+ __COMMON_FUNC_EXIT__;
+ return;
+ default:
+ __COMMON_FUNC_EXIT__;
+ return;
+ }
+
+ char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = "";
+ switch (wlan_manager_state_get(profile_name)) {
+ case WLAN_MANAGER_OFF:
+ ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-off\n");
+ viewer_manager_header_mode_set(HEADER_MODE_OFF);
+ viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS);
+ break;
+ case WLAN_MANAGER_UNCONNECTED:
+ case WLAN_MANAGER_CONNECTING:
+ case WLAN_MANAGER_CONNECTED:
+ connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC);
+ viewer_manager_header_mode_set(HEADER_MODE_SEARCHING);
+ viewer_manager_hide(VIEWER_WINSET_SEARCHING);
+ viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS);
+ break;
+ case WLAN_MANAGER_ERROR:
+ default:
+ winset_popup_mode_set(manager_object, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR, NULL);
+ break;
+ }
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _back_clicked_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ INFO_LOG(UG_NAME_NORMAL, "Response CANCEL");
+ wifi_exit();
+}
+
+static int mobilehotspot_deactivate()
+{
+ __COMMON_FUNC_ENTER__;
+
+ DBusGConnection *bus;
+ DBusGProxy *proxy;
+ GError *error= NULL;
+
+ bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
+ if (error != NULL) {
+ INFO_LOG(COMMON_NAME_LIB, "Couldn't connect to the system bus");
+ g_error_free(error);
+ return FALSE;
+ }
+
+ proxy = dbus_g_proxy_new_for_name(bus,
+ "com.samsung.mobileap", /* name */
+ "/MobileAP", /* obj path */
+ "com.samsung.mobileap");/* interface */
+ if (proxy == NULL) {
+ INFO_LOG(COMMON_NAME_LIB, "Couldn't create the proxy object");
+ dbus_g_connection_unref(bus);
+ return FALSE;
+ }
+
+ g_pending_call.pending_call = dbus_g_proxy_begin_call(proxy, "disable_wifi_tethering",
+ _mobilehotspot_disable_cb, bus, NULL, G_TYPE_INVALID);
+
+ g_pending_call.proxy = proxy;
+ g_pending_call.is_handled = FALSE;
+
+ __COMMON_FUNC_EXIT__;
+ return TRUE;
+}
+
+static void _turn_off_mobileap_yes_clicked_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ popup_manager_object_t *manager_object = (popup_manager_object_t *)data;
+ INFO_LOG(UG_NAME_NORMAL, "Response OK");
+ if(manager_object && NULL != manager_object->popup_user_prompt) {
+ evas_object_hide(manager_object->popup_user_prompt);
+ evas_object_del(manager_object->popup_user_prompt);
+ manager_object->popup_user_prompt = NULL;
+ }
+
+ if (FALSE != mobilehotspot_deactivate()) {
+ INFO_LOG(UG_NAME_NORMAL, "Mobile AP return value TRUE");
+ } else {
+ INFO_LOG(UG_NAME_NORMAL, "Mobile AP return value FALSE");
+ }
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _turn_off_mobileap_no_clicked_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ popup_manager_object_t *manager_object = (popup_manager_object_t *)data;
+
+ INFO_LOG(UG_NAME_NORMAL, "Response CANCEL");
+
+ if(manager_object && NULL != manager_object->popup_user_prompt) {
+ evas_object_hide(manager_object->popup_user_prompt);
+ evas_object_del(manager_object->popup_user_prompt);
+ manager_object->popup_user_prompt = NULL;
+ }
+ __COMMON_FUNC_EXIT__;
+}
+
+#if 0
+static void _winset_popup_close_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ popup_manager_object_t *manager_object = (popup_manager_object_t *)data;
+ if (manager_object && manager_object->popup) {
+ evas_object_del(manager_object->popup);
+ manager_object->popup = NULL;
+ }
+ return;
+}
+#endif
+
+popup_manager_object_t *winset_popup_manager_create(Evas_Object* win, const char *str_pkg_name)
+{
+ popup_manager_object_t *manager_object;
+ manager_object = (popup_manager_object_t *)g_malloc0(sizeof(popup_manager_object_t));
+ manager_object->win = win;
+ manager_object->str_pkg_name = (char *)str_pkg_name;
+
+ return manager_object;
+}
+
+/**
+ * FIX ME LATER
+ *
+ * This function had re-factored as elm_popup's bug
+ *
+ */
+void winset_popup_mode_set(popup_manager_object_t *manager_object, POPUP_MODE_OPTIONS option, void *input_data)
+{
+ char *info_txt;
+ popup_btn_info_t popup_btn_data;
+ if (!manager_object)
+ return;
+
+ __COMMON_FUNC_ENTER__;
+ if (!manager_object)
+ return;
+
+ if(NULL != manager_object->popup) {
+ evas_object_hide(manager_object->popup);
+ evas_object_del(manager_object->popup);
+ manager_object->popup = NULL;
+ }
+
+ memset(&popup_btn_data, 0, sizeof(popup_btn_data));
+ switch (option) {
+ case POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED:
+ popup_btn_data.info_txt = "connman is not working now";
+ popup_btn_data.btn1_cb = _retry_clicked_cb;
+ popup_btn_data.btn2_cb = _back_clicked_cb;
+ popup_btn_data.btn1_data = manager_object;
+ popup_btn_data.btn1_txt = "Retry";
+ popup_btn_data.btn2_txt = "Back";
+ manager_object->popup = common_utils_show_info_popup(manager_object->win, &popup_btn_data);
+ break;
+
+ case POPUP_OPTION_REGISTER_FAILED_UNKNOWN:
+ info_txt = _("[ERROR] wlan_client func<br>wlan_client_register");
+ manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt);
+ break;
+
+ case POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT:
+ if(NULL == manager_object->popup_user_prompt) {
+ popup_btn_data.info_txt = "Connecting Wi-Fi will turn off Mobile hotspot. Continue?";
+ popup_btn_data.btn1_cb = _turn_off_mobileap_yes_clicked_cb;
+ popup_btn_data.btn2_cb = _turn_off_mobileap_no_clicked_cb;
+ popup_btn_data.btn1_data = popup_btn_data.btn2_data = manager_object;
+ popup_btn_data.btn1_txt = sc(manager_object->str_pkg_name, I18N_TYPE_Yes);
+ popup_btn_data.btn2_txt = sc(manager_object->str_pkg_name, I18N_TYPE_No);
+ manager_object->popup_user_prompt = common_utils_show_info_popup(manager_object->win, &popup_btn_data);
+ }
+ break;
+
+ case POPUP_OPTION_CONNECTING_FAILED:
+ if (input_data) {
+ info_txt = g_strdup_printf("Unable to connect %s", (char *)input_data);
+ } else {
+ info_txt = g_strdup("Unable to connect");
+ }
+ manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt);
+ g_free(info_txt);
+ break;
+
+ case POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR:
+ info_txt = _("[ERROR] wlan_client func<br>wlan_client_get_state");
+ manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt);
+ break;
+
+ case POPUP_OPTION_HIDDEN_AP_SSID_LEN_ERROR:
+ info_txt = _("SSID can be up to 32 letters.<br>Check your input.");
+ manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt);
+ break;
+
+ case POPUP_OPTION_UNREG_WLAN_EVENT_ERROR:
+ info_txt = _("[ERROR] Unregistered WLAN_EVENT number");
+ manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt);
+ break;
+
+ case POPUP_OPTION_WEP_PSWD_LEN_ERROR:
+ info_txt = WEP_WRONG_PASSWORD_LEN_ERR_MSG_STR;
+ manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt);
+ break;
+
+ case POPUP_OPTION_WPA_PSWD_LEN_ERROR:
+ info_txt = WPA_WRONG_PASSWORD_LEN_ERR_MSG_STR;
+ manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt);
+ break;
+
+ default:
+ break;
+ }
+ __COMMON_FUNC_EXIT__;
+ return;
+}
+
+boolean winset_popup_manager_destroy(popup_manager_object_t *manager_object)
+{
+ if (!manager_object)
+ return FALSE;
+
+ if (NULL != manager_object->popup) {
+ evas_object_del(manager_object->popup);
+ manager_object->popup = NULL;
+ }
+
+ g_free(manager_object);
+ return TRUE;
+}
+
+boolean winset_popup_hide_popup(popup_manager_object_t *manager_object)
+{
+ if (!manager_object)
+ return FALSE;
+ evas_object_hide(manager_object->popup);
+ evas_object_del(manager_object->popup);
+ manager_object->popup = NULL;
+
+ if(manager_object && NULL != manager_object->popup_user_prompt) {
+ evas_object_hide(manager_object->popup_user_prompt);
+ evas_object_del(manager_object->popup_user_prompt);
+ manager_object->popup_user_prompt = NULL;
+ }
+ return TRUE;
+}
../libraries/i18nManager/i18nmanager.c
../libraries/appcoreWrapper/appcoreWrapper.c
../libraries/WlanManager/wlan-manager/wlan_manager.c
+ ../libraries/Common/common_pswd_popup.c
+ ../libraries/Common/common_ip_info.c
+ ../libraries/Common/common_eap_connect.c
+ ../libraries/Common/common_utils.c
+ ../libraries/Common/common_datamodel.c
${ENGINE_SOURCES}
viewer-popups/view-main.c
- viewer-popups/view-password.c
viewer-popups/view-alerts.c
wifi-syspopup.c
wifi-syspopup-engine-callback.c)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_lock_02.png DESTINATION /usr/share/icon)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_lock_03.png DESTINATION /usr/share/icon)
-# install desktop file & icon
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.desktop.in ${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.desktop)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.desktop DESTINATION /opt/share/applications/)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.xml DESTINATION /usr/share/packages/)
# install ini file
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.ini DESTINATION /usr/share/process-info)
-ADD_SUBDIRECTORY(po)
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#define __WIFI_SYSPOPUP_ENGINE_CALLBACK_H__
void wlan_engine_callback( void *user_data, void *wlan_data);
-void wlan_engine_refresh_callback( void );
+void wlan_engine_refresh_callback(void);
#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "common.h"
+#include "common_pswd_popup.h"
#include "wlan_manager.h"
#define PACKAGE "wifi-qs"
WIFI_SYSPOPUP_SUPPORT_MAX
} WIFI_SYSPOPUP_SUPPORTS;
+typedef enum {
+ WIFI_SYSPOPUP_WITH_AP_LIST = 0,
+ WIFI_SYSPOPUP_WITHOUT_AP_LIST
+} WIFI_SYSPOPUP_TYPE;
+
#define MAX_PROFILE_NUM NETPM_PROFILES_PERSISTENT_MAX
typedef struct wifi_object {
/* connection_result */
int connection_result;
+ Eina_Bool update_enabled;
+
+ /* caller type */
+ WIFI_SYSPOPUP_TYPE syspopup_type;
+
/* window */
Evas_Object* win_main;
Evas* evas;
bundle* b;
- Evas_Object* layout_main;
/* popups */
Evas_Object* syspopup;
- Evas_Object* passpopup;
+ pswd_popup_t *passpopup;
Evas_Object* alertpopup;
} wifi_object;
ITEM_CONNECTION_MODE_MAX
} ITEM_CONNECTION_MODES;
-typedef struct _genlist_data {
+typedef struct {
Elm_Object_Item *it;
- Evas_Object *progressbar;
ITEM_CONNECTION_MODES connection_mode;
wifi_device_info_t *dev_info;
-} genlist_data;
+} syspopup_genlist_data_t;
int wifi_syspopup_create(void);
int wifi_syspopup_destroy(void);
+++ /dev/null
-Name=Wi-Fi System Popup
-Type=Application
-Exec=/usr/bin/wifi-qs
-Icon=NULL
-Comment=wifi-qs
-nodisplay=true
-x-tizen-taskmanage=false
-x-tizen-removable=false
-Version=0.1.0
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="net.wifi-qs" version="0.4.55-7" install-location="internal-only">
+ <label>Wi-Fi device picker</label>
+ <author email="sanghoon80.cho@samsung.com" href="www.samsung.com">Sanghoon Cho</author>
+ <description>Wi-Fi device picker</description>
+ <ui-application appid="net.wifi-qs" exec="/usr/bin/wifi-qs" nodisplay="true" multiple="false" type="capp" taskmanage="false">
+ <label>Wi-Fi device picker</label>
+ </ui-application>
+</manifest>
+++ /dev/null
-# for i18n
-
-SET(POFILES de_DE.po el_GR.po en.po es_ES.po fr_FR.po it_IT.po ja_JP.po ko_KR.po nl_NL.po pt_PT.po ru_RU.po tr_TR.po zh_CN.po zh_HK.po zh_TW.po)
-
-SET(MSGFMT "/usr/bin/msgfmt")
-
-FOREACH(pofile ${POFILES})
- SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
- MESSAGE("PO: ${pofile}")
- GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
- GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
- SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${moFile}
- COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
- DEPENDS ${absPofile}
- )
- INSTALL(FILES ${moFile}
- DESTINATION /usr/share/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
- SET(moFiles ${moFiles} ${moFile})
-ENDFOREACH(pofile)
-
-MESSAGE(".mo files: ${moFiles}")
-ADD_CUSTOM_TARGET(po_sp ALL DEPENDS ${moFiles})
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Passwort eingeben"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Passwort anzeigen"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Netz auswählen"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Εισαγωγή κωδικού πρόσβασης"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Εμφάνιση κωδικού πρόσβασης"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Επιλογή δικτύου"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Input password"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Show password"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Select network"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Introducir contraseña"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Mostrar contraseña"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Seleccionar red"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Entrez le mot de passe"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Afficher le mot de passe"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Sélectionner un réseau"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Inserisci password"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Mostra password"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Selezione rete"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "パスワードを入力してください"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "パスワードを表示"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "ネットワークを選択"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "비밀번호를 입력하세요"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "비밀번호 표시"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "네트워크 선택"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Wachtwoord ingeven"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Wachtwoord tonen"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Netwerk kiezen"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Introduzir palavra-passe"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Mostrar palavra-passe"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Seleccionar rede"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Введите пароль"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Показать пароль"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Выбор сети"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "Şifre giriniz"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "Parolayı göster"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "Şebeke seçimi"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "输入密码"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "显示密码"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "选择网络"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "輸入密碼"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "顯示密碼"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "選擇網絡"
-
+++ /dev/null
-msgid "IDS_CST_BODY_INPUT_PASSWORD"
-msgstr "輸入密碼"
-
-msgid "IDS_ST_BODY_SHOW_PASSWORD"
-msgstr "顯示密碼"
-
-msgid "IDS_WIFI_HEADER_SELECT_NETWORK"
-msgstr "選擇網路"
-
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#define __DEF_WIFI_SYSPOPUP_VIEW_ALERTS_H_
int view_alerts_powering_on_show(void);
-int view_alerts_connection_fail_show(void);
-int view_alerts_connection_fail_timeout_show(void);
-int view_alerts_password_length_error_show(void);
+void view_alerts_popup_show(const char *err_msg);
+void view_alerts_popup_ok_show(const char *err_msg);
#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
void *view_main_item_set(net_profile_info_t *profile_info);
int view_main_refresh(void);
-int view_main_show(void);
-int view_main_item_connection_mode_set(genlist_data *data, ITEM_CONNECTION_MODES mode);
+Eina_Bool view_main_show(void *data);
+int view_main_item_connection_mode_set(syspopup_genlist_data_t *data, ITEM_CONNECTION_MODES mode);
#endif
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#ifndef __DEF_WIFI_SYSPOPUP_VIEW_PASSWORD_H_
-#define __DEF_WIFI_SYSPOPUP_VIEW_PASSWORD_H_
-
-#include "wifi-syspopup.h"
-
-int view_password_show(genlist_data *gdata);
-
-#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "common.h"
+#include "common_utils.h"
#include "wifi-syspopup.h"
#include "view-alerts.h"
#include "i18nmanager.h"
-extern wifi_object* app_state;
-
-static void _timeout_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (obj)
- evas_object_del(obj);
-}
+extern wifi_object* syspopup_app_state;
int view_alerts_powering_on_show(void)
{
__COMMON_FUNC_ENTER__;
- if(WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support){
+ if(WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == syspopup_app_state->wifi_syspopup_support){
__COMMON_FUNC_EXIT__;
return TRUE;
}
- if(NULL != app_state->alertpopup) {
- evas_object_del(app_state->alertpopup);
- app_state->alertpopup = NULL;
+ if(NULL != syspopup_app_state->alertpopup) {
+ evas_object_del(syspopup_app_state->alertpopup);
+ syspopup_app_state->alertpopup = NULL;
}
Evas_Object *conformant = NULL;
- conformant = elm_conformant_add(app_state->win_main);
- elm_win_conformant_set(app_state->win_main, EINA_TRUE);
- elm_win_resize_object_add(app_state->win_main, conformant);
+ conformant = elm_conformant_add(syspopup_app_state->win_main);
+ elm_win_conformant_set(syspopup_app_state->win_main, EINA_TRUE);
+ elm_win_resize_object_add(syspopup_app_state->win_main, conformant);
evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(conformant);
Evas_Object *content = elm_layout_add(conformant);
elm_object_content_set(conformant, content);
- app_state->alertpopup = elm_popup_add(content);
+ syspopup_app_state->alertpopup = elm_popup_add(content);
- Evas_Object *box = elm_box_add(app_state->alertpopup);
+ Evas_Object *box = elm_box_add(syspopup_app_state->alertpopup);
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(box);
evas_object_show(label);
elm_box_pack_end(box, label);
- elm_object_content_set(app_state->alertpopup, box);
- evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(app_state->alertpopup);
-
- __COMMON_FUNC_EXIT__;
-
- return TRUE;
-}
-
-int view_alerts_connection_fail_show(void)
-{
- __COMMON_FUNC_ENTER__;
-
- if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support) {
- __COMMON_FUNC_EXIT__;
-
- return TRUE;
- }
-
- if (NULL != app_state->alertpopup) {
- evas_object_del(app_state->alertpopup);
- app_state->alertpopup = NULL;
- }
-
- app_state->alertpopup = elm_popup_add(app_state->win_main);
- elm_object_text_set(app_state->alertpopup, "Connection attempt failed.<br>Try again.");
- elm_popup_timeout_set(app_state->alertpopup, 2.0f);
- evas_object_smart_callback_add(app_state->alertpopup, "timeout", _timeout_cb, NULL);
- evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(app_state->alertpopup);
+ elm_object_content_set(syspopup_app_state->alertpopup, box);
+ evas_object_size_hint_weight_set(syspopup_app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(syspopup_app_state->alertpopup);
__COMMON_FUNC_EXIT__;
return TRUE;
}
-int view_alerts_connection_fail_timeout_show(void)
+void view_alerts_popup_show(const char *err_msg)
{
__COMMON_FUNC_ENTER__;
- if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support) {
+ if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == syspopup_app_state->wifi_syspopup_support) {
__COMMON_FUNC_EXIT__;
-
- return TRUE;
+ return;
}
- if (NULL != app_state->alertpopup) {
- evas_object_del(app_state->alertpopup);
- app_state->alertpopup = NULL;
+ if (NULL != syspopup_app_state->alertpopup) {
+ evas_object_del(syspopup_app_state->alertpopup);
+ syspopup_app_state->alertpopup = NULL;
}
- app_state->alertpopup = elm_popup_add(app_state->win_main);
- elm_object_text_set(app_state->alertpopup, "No response from AP");
- elm_popup_timeout_set(app_state->alertpopup, 2.0f);
- evas_object_smart_callback_add(app_state->alertpopup, "timeout", _timeout_cb, NULL);
-
- evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(app_state->alertpopup);
+ syspopup_app_state->alertpopup = common_utils_show_info_timeout_popup(syspopup_app_state->win_main, err_msg, 2.0f);
__COMMON_FUNC_EXIT__;
- return TRUE;
+ return;
}
-int view_alerts_password_length_error_show(void)
+void view_alerts_popup_ok_show(const char *err_msg)
{
__COMMON_FUNC_ENTER__;
- if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support) {
+ if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == syspopup_app_state->wifi_syspopup_support) {
__COMMON_FUNC_EXIT__;
-
- return TRUE;
+ return;
}
- if (NULL != app_state->alertpopup) {
- evas_object_del(app_state->alertpopup);
- app_state->alertpopup = NULL;
+ if (NULL != syspopup_app_state->alertpopup) {
+ evas_object_del(syspopup_app_state->alertpopup);
+ syspopup_app_state->alertpopup = NULL;
}
- app_state->alertpopup = elm_popup_add(app_state->win_main);
- elm_object_text_set(app_state->alertpopup, "WPA2 requires 8 - 63 letters for a password.<br>Please, check your input.");
- elm_popup_timeout_set(app_state->alertpopup, 2.0f);
- evas_object_smart_callback_add(app_state->alertpopup, "timeout", _timeout_cb, NULL);
-
- evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(app_state->alertpopup);
+ syspopup_app_state->alertpopup = common_utils_show_info_ok_popup(syspopup_app_state->win_main, PACKAGE, err_msg);
__COMMON_FUNC_EXIT__;
- return TRUE;
+ return;
}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include "common.h"
#include "view-main.h"
-#include "wifi-syspopup.h"
-#include "view-password.h"
+#include "common_pswd_popup.h"
+#include "common_utils.h"
+#include "view-alerts.h"
+#include "i18nmanager.h"
+#include "common_eap_connect.h"
-extern wifi_object* app_state;
+extern wifi_object* syspopup_app_state;
static Evas_Object* list = NULL;
static Elm_Genlist_Item_Class itc;
-int view_main_item_connection_mode_set(genlist_data *data, ITEM_CONNECTION_MODES mode)
+int view_main_item_connection_mode_set(syspopup_genlist_data_t *data, ITEM_CONNECTION_MODES mode)
{
__COMMON_FUNC_ENTER__;
Elm_Object_Item* it = NULL;
it = elm_genlist_first_item_get(glist);
while (it) {
- genlist_data *gdata = (genlist_data *)elm_object_item_data_get(it);
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)elm_object_item_data_get(it);
if (gdata->connection_mode == ITEM_CONNECTION_MODE_CONNECTING) {
return ITEM_CONNECTION_MODE_CONNECTING;
}
return ITEM_CONNECTION_MODE_OFF;
}
+static void _popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ if (!syspopup_app_state->passpopup) {
+ return;
+ }
+ assertm_if(NULL == data, "data is NULL!!");
+ assertm_if(NULL == obj, "obj is NULL!!");
+ assertm_if(NULL == event_info, "event_info is NULL!!");
+
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)data;
+ char *profile_name = gdata->dev_info->profile_name;
+ wlan_security_mode_type_t sec_mode = gdata->dev_info->security_mode;
+
+ char* password = NULL;
+ int len_password = 0;
+ int ret = WLAN_MANAGER_ERR_UNKNOWN;
+ password = common_pswd_popup_get_txt(syspopup_app_state->passpopup);
+ len_password = strlen(password);
+ INFO_LOG(SP_NAME_NORMAL, "* password len [%d]", len_password);
+
+ switch (sec_mode) {
+ case WLAN_SEC_MODE_WEP:
+ if (len_password == 5 || len_password == 13 || len_password == 26 || len_password == 10) {
+ wlan_manager_password_data* param = (wlan_manager_password_data *)g_malloc0(sizeof(wlan_manager_password_data));
+ assertm_if(NULL == param, "param is NULL!!");
+
+ param->wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE;
+ param->password = password;
+
+ ret = wlan_manager_connect_with_password(profile_name, sec_mode, param);
+ g_free(param);
+
+ } else {
+ view_alerts_popup_show(WEP_WRONG_PASSWORD_LEN_ERR_MSG_STR);
+ goto popup_ok_exit;
+ }
+ break;
+
+ case WLAN_SEC_MODE_WPA_PSK:
+ case WLAN_SEC_MODE_WPA2_PSK:
+ if (len_password < 8 || len_password > 63) {
+ view_alerts_popup_show(WPA_WRONG_PASSWORD_LEN_ERR_MSG_STR);
+ goto popup_ok_exit;
+ } else {
+ wlan_manager_password_data* param = (wlan_manager_password_data *)g_malloc0(sizeof(wlan_manager_password_data));
+ assertm_if(NULL == param, "param is NULL!!");
+
+ param->wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE;
+ param->password = password;
+
+ ret = wlan_manager_connect_with_password(profile_name, sec_mode, param);
+ g_free(param);
+ }
+ break;
+
+ default:
+ ret = WLAN_MANAGER_ERR_UNKNOWN;
+ ERROR_LOG(SP_NAME_ERR, "Fatal: Wrong security mode : %d", sec_mode);
+ break;
+ }
+
+ if (WLAN_MANAGER_ERR_NONE == ret)
+ view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_CONNECTING);
+ else
+ view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_OFF);
+
+ common_pswd_popup_destroy(syspopup_app_state->passpopup);
+ syspopup_app_state->passpopup = NULL;
+
+popup_ok_exit:
+ g_free(password);
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __COMMON_FUNC_ENTER__;
+
+ INFO_LOG(SP_NAME_NORMAL, "button cancel");
+
+ common_pswd_popup_destroy(syspopup_app_state->passpopup);
+ syspopup_app_state->passpopup = NULL;
+
+ __COMMON_FUNC_EXIT__;
+}
+
+static void _wps_pbc_popup_cancel_connecting(void* data, Evas_Object* obj, void* event_info)
+{
+ if (!syspopup_app_state->passpopup || !data) {
+ return;
+ }
+
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)data;
+ char *profile_name = gdata->dev_info->profile_name;
+ int ret = wlan_manager_request_cancel_wps_connection(profile_name);
+ if (ret == WLAN_MANAGER_ERR_NONE) {
+ INFO_LOG(SP_NAME_NORMAL, "WPS conection cancelled successfully for AP[%s]", profile_name);
+ } else {
+ ERROR_LOG(SP_NAME_ERR, "Error!!! wlan_manager_request_cancel_wps_connection failed for AP[%s]", profile_name);
+ }
+ common_pswd_popup_destroy(syspopup_app_state->passpopup);
+ syspopup_app_state->passpopup = NULL;
+ return;
+}
+
+static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info)
+{
+ __COMMON_FUNC_ENTER__;
+ if (!syspopup_app_state->passpopup || !data) {
+ return;
+ }
+
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)data;
+ int ret = wlan_manager_request_wps_connection(gdata->dev_info->profile_name);
+ if (ret == WLAN_MANAGER_ERR_NONE) {
+ common_pswd_popup_pbc_popup_create(syspopup_app_state->passpopup, _wps_pbc_popup_cancel_connecting, gdata);
+ } else {
+ ERROR_LOG(SP_NAME_ERR, "Error!!! wlan_manager_request_wps_connection failed");
+ }
+ __COMMON_FUNC_EXIT__;
+}
+
+
static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
{
__COMMON_FUNC_ENTER__;
+ assertm_if(NULL == data, "data is NULL!!");
+ assertm_if(NULL == obj, "obj is NULL!!");
+ assertm_if(NULL == event_info, "event_info is NULL!!");
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+
if (view_main_state_get(obj) != ITEM_CONNECTION_MODE_OFF) {
INFO_LOG(SP_NAME_NORMAL, "In connecting state, nothing can do" );
+ elm_genlist_item_selected_set(item, 0);
__COMMON_FUNC_EXIT__;
return;
}
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
-
- assertm_if(NULL == data, "data is NULL!!");
- assertm_if(NULL == obj, "obj is NULL!!");
- genlist_data *gdata = (genlist_data*) data;
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t*) data;
int ret = WLAN_MANAGER_ERR_UNKNOWN;
case ITEM_CONNECTION_MODE_OFF:
INFO_LOG( SP_NAME_NORMAL, "item state: off");
ret = wlan_manager_request_connection(gdata->dev_info);
-
break;
case ITEM_CONNECTION_MODE_CONNECTING:
INFO_LOG( SP_NAME_NORMAL, "item state: connecting");
break;
case WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED:
INFO_LOG( SP_NAME_NORMAL, "Password view will show up");
- view_password_show(gdata);
+ pswd_popup_create_req_data_t popup_info;
+ popup_info.title = gdata->dev_info->ssid;
+ popup_info.ok_cb = _popup_ok_cb;
+ popup_info.cancel_cb = _popup_cancel_cb;
+ popup_info.show_wps_btn = gdata->dev_info->wps_mode;
+ popup_info.wps_btn_cb = _wps_btn_cb;
+ popup_info.cb_data = gdata;
+ syspopup_app_state->passpopup = common_pswd_popup_create(syspopup_app_state->win_main, PACKAGE, &popup_info);
+ break;
+ case WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE:
+ create_eap_connect(syspopup_app_state->win_main, NULL, PACKAGE, gdata->dev_info, NULL);
break;
default:
view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_OFF);
static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
{
__COMMON_FUNC_ENTER__;
+ char *ret = NULL;
assertm_if(NULL == data, "data param is NULL!!");
assertm_if(NULL == obj, "obj param is NULL!!");
assertm_if(NULL == part, "part param is NULL!!");
- genlist_data *gdata = (genlist_data *) data;
- const char* ssid_name = gdata->dev_info->ssid;
-
- if (ssid_name == NULL) {
- __COMMON_FUNC_EXIT__;
- ERROR_LOG(SP_NAME_NORMAL, "ssid name is NULL!!");
- return NULL;
- }
- __COMMON_FUNC_EXIT__;
-
- return strdup(ssid_name);
-}
-
-static char *wifi_get_device_icon(wifi_device_info_t *device_info)
-{
- __COMMON_FUNC_ENTER__;
- assertm_if(NULL == device_info, "device param is NULL!!");
-
- char tmp_str[128] = {0,};
- char* ret;
-
- sprintf(tmp_str, "%s/37_wifi_icon", WIFI_SP_ICON_PATH);
-
- if (device_info->security_mode != WLAN_SEC_MODE_NONE) {
- sprintf(tmp_str,"%s_lock", tmp_str);
- }
-
- switch (wlan_manager_get_signal_strength(device_info->rssi)) {
- case SIGNAL_STRENGTH_TYPE_EXCELLENT:
- sprintf(tmp_str,"%s_03", tmp_str);
- break;
- case SIGNAL_STRENGTH_TYPE_GOOD:
- sprintf(tmp_str,"%s_02", tmp_str);
- break;
- case SIGNAL_STRENGTH_TYPE_WEAK:
- sprintf(tmp_str,"%s_01", tmp_str);
- break;
- case SIGNAL_STRENGTH_TYPE_VERY_WEAK:
- case SIGNAL_STRENGTH_TYPE_NULL:
- sprintf(tmp_str,"%s_00", tmp_str);
- break;
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *) data;
+ if (!strncmp(part, "elm.text.1", strlen(part))) {
+ ret = gdata->dev_info->ssid;
+ if (ret == NULL) {
+ ERROR_LOG(SP_NAME_NORMAL, "ssid name is NULL!!");
+ }
+ } else if (!strncmp(part, "elm.text.2", strlen(part))) {
+ if (ITEM_CONNECTION_MODE_CONNECTING == gdata->connection_mode) {
+ ret = sc(PACKAGE, I18N_TYPE_Connecting);
+ } else {
+ ret = gdata->dev_info->ap_status_txt;
+ }
+ if (ret == NULL) {
+ ERROR_LOG(SP_NAME_NORMAL, "ap_status_txt is NULL!!");
+ }
}
- sprintf(tmp_str, "%s.png", tmp_str);
-
- ret = strdup(tmp_str);
__COMMON_FUNC_EXIT__;
- return ret;
+ return g_strdup(ret);
}
static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
if (data == NULL)
return NULL;
- genlist_data *gdata = (genlist_data *) data;
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *) data;
const char* ssid_name = gdata->dev_info->ssid;
INFO_LOG(SP_NAME_NORMAL, "ssid name [%s]", ssid_name);
- char*dev_icon_file = NULL;
Evas_Object* icon = NULL;
if (!strncmp(part, "elm.icon.1", strlen(part))) {
+ icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, gdata->dev_info->ap_image_path, NULL);
+ evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 5, 5);
+ } else if (!strncmp(part, "elm.icon.2", strlen(part))) {
switch (gdata->connection_mode) {
case ITEM_CONNECTION_MODE_OFF:
- if (gdata->progressbar != NULL) {
- elm_progressbar_pulse(gdata->progressbar, EINA_FALSE);
- evas_object_del(gdata->progressbar);
- gdata->progressbar = NULL;
- }
-
- icon = elm_icon_add(obj);
- dev_icon_file = wifi_get_device_icon(gdata->dev_info);
- INFO_LOG(SP_NAME_NORMAL, "icon name [%s]", dev_icon_file);
- elm_icon_file_set(icon, dev_icon_file, NULL);
- g_free(dev_icon_file);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 5, 5);
- return icon;
-
- case ITEM_CONNECTION_MODE_CONNECTING:
- gdata->progressbar = elm_progressbar_add(obj);
- if (gdata->progressbar == NULL)
- return NULL;
-
- elm_object_style_set(gdata->progressbar, "list_process");
- evas_object_size_hint_align_set(gdata->progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(gdata->progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_pulse(gdata->progressbar, TRUE);
- return gdata->progressbar;
default:
break;
+ case ITEM_CONNECTION_MODE_CONNECTING:
+ icon = elm_progressbar_add(obj);
+ elm_object_style_set(icon, "list_process");
+ evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_pulse(icon, TRUE);
+ break;
}
+
}
__COMMON_FUNC_EXIT__;
- return NULL;
+ return icon;
+}
+
+static void _gl_list_del(void* data, Evas_Object* obj)
+{
+ if (data == NULL)
+ return;
+
+ syspopup_genlist_data_t* gdata = (syspopup_genlist_data_t *) data;
+
+ if (gdata->dev_info) {
+ DEBUG_LOG(UG_NAME_NORMAL, "del target ssid:[%s]", gdata->dev_info->ssid);
+ g_free(gdata->dev_info->ap_image_path);
+ g_free(gdata->dev_info->ap_status_txt);
+ g_free(gdata->dev_info->ssid);
+ g_free(gdata->dev_info);
+ }
+ elm_object_item_data_set(gdata->it, NULL);
+ g_free(gdata);
+
+ return;
}
Evas_Object *view_main_create(Evas_Object* parent)
__COMMON_FUNC_ENTER__;
assertm_if(NULL == parent, "parent is NULL!!");
- list = elm_genlist_add(parent); //app_state->win_main);
+ list = elm_genlist_add(parent); //syspopup_app_state->win_main);
assertm_if(NULL == list, "list allocation fail!!");
- elm_genlist_mode_set(list, ELM_LIST_LIMIT);
evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
if (list == NULL)
return;
-
- Elm_Object_Item* it = NULL;
- it = elm_genlist_first_item_get(list);
- while (it) {
- genlist_data *gdata = (genlist_data *)elm_object_item_data_get(it);
- if (gdata)
- g_free(gdata);
-
- it = elm_genlist_item_next_get(it);
- }
-
elm_genlist_clear(list);
__COMMON_FUNC_EXIT__;
{
__COMMON_FUNC_ENTER__;
- wifi_device_info_t *wifi_device = (wifi_device_info_t*)malloc(sizeof(wifi_device_info_t));
- memset(wifi_device, 0, sizeof(wifi_device_info_t));
+ wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t));
- wifi_device->profile_name = strdup(profile_info->ProfileName);
- wifi_device->ssid = strdup(profile_info->ProfileInfo.Wlan.essid);
+ wifi_device->profile_name = g_strdup(profile_info->ProfileName);
+ wifi_device->ssid = g_strdup(profile_info->ProfileInfo.Wlan.essid);
wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength;
wifi_device->security_mode = (int)profile_info->ProfileInfo.Wlan.security_info.sec_mode;
wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support;
+ wifi_device->ap_status_txt = common_utils_get_ap_security_type_info_txt(PACKAGE, wifi_device);
+ wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_SP_ICON_PATH, wifi_device);
__COMMON_FUNC_EXIT__;
return wifi_device;
int view_main_refresh()
{
- view_main_scan_ui_clear();
- view_main_show();
+ view_main_show(NULL);
+
return TRUE;
}
-int view_main_show(void)
+Eina_Bool view_main_show(void *data)
{
__COMMON_FUNC_ENTER__;
if (list == NULL) {
ERROR_LOG( SP_NAME_NORMAL, "list is NULL!!" );
- return FALSE;
+ return ECORE_CALLBACK_CANCEL;
}
+ view_main_scan_ui_clear();
+
char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = "";
int state = wlan_manager_state_get(profile_name);
- switch (state) {
- case WLAN_MANAGER_ERROR:
- case WLAN_MANAGER_OFF:
- return FALSE;
- case WLAN_MANAGER_UNCONNECTED:
- case WLAN_MANAGER_CONNECTED:
- case WLAN_MANAGER_DISCONNECTING:
- profile_name[0] = '\0';
- break;
- case WLAN_MANAGER_CONNECTING:
- break;
- }
- view_main_scan_ui_clear();
+ if (WLAN_MANAGER_ERROR == state || WLAN_MANAGER_OFF == state) {
+ return ECORE_CALLBACK_CANCEL;
+ }
net_profile_info_t *profiles_list = wlan_manager_profile_table_get();
if (profiles_list == NULL)
- return FALSE;
+ return ECORE_CALLBACK_CANCEL;
int profiles_list_size = wlan_manager_profile_scanned_length_get();
INFO_LOG(SP_NAME_NORMAL, "profiles list count [%d]\n", profiles_list_size);
+ if (profiles_list_size <= 0) {
+ WARN_LOG(SP_NAME_NORMAL, "scan size is ZERO");
+ return ECORE_CALLBACK_CANCEL;
+ }
- itc.item_style = "1text.1icon.4";
+ itc.item_style = "2text.2icon.4";
itc.func.text_get = _gl_text_get;
itc.func.content_get = _gl_content_get;
itc.func.state_get = NULL;
- itc.func.del = NULL;
+ itc.func.del = _gl_list_del;
int i = 0;
- wifi_device_info_t *device_info = NULL;
- if (profiles_list_size > 0) {
- if (profile_name[0] == '\0') {
- for (i = 0; i < profiles_list_size; i++) {
- device_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i);
-
- genlist_data *gdata = (genlist_data *) malloc(sizeof(genlist_data));
- gdata->dev_info = device_info;
- gdata->connection_mode = ITEM_CONNECTION_MODE_OFF;
- gdata->progressbar = NULL;
-
+ if (WLAN_MANAGER_CONNECTING == state) {
+ for (; i < profiles_list_size; i++) {
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)g_malloc0(sizeof(syspopup_genlist_data_t));
+ gdata->dev_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i);
+ if (!g_strcmp0((profiles_list+i)->ProfileName, profile_name)) {
+ gdata->connection_mode = ITEM_CONNECTION_MODE_CONNECTING;
gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata);
- elm_object_item_data_set(gdata->it, gdata);
- }
- } else {
- for (i = 0; i < profiles_list_size; i++) {
- device_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i);
-
- genlist_data *gdata = (genlist_data *) malloc(sizeof(genlist_data));
- gdata->dev_info = device_info;
- gdata->progressbar = NULL;
- if (!strcmp((profiles_list+i)->ProfileName, profile_name)) {
- gdata->connection_mode = ITEM_CONNECTION_MODE_CONNECTING;
- } else {
- gdata->connection_mode = ITEM_CONNECTION_MODE_OFF;
- }
-
- gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata);
- elm_object_item_data_set(gdata->it, gdata);
+ /* We have found the connecting AP, so lets break here and continue list
+ * the remaining in the below for loop. The below for loop doesnt have comparison.
+ * So it makes things little fast.
+ */
+ break;
}
- }
- } else if (profiles_list_size == 0) {
- WARN_LOG(SP_NAME_NORMAL, "scan size is ZERO");
+ gdata->connection_mode = ITEM_CONNECTION_MODE_OFF;
+ gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata);
+ }
+ }
+
+ for (; i < profiles_list_size; i++) {
+ syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)g_malloc0(sizeof(syspopup_genlist_data_t));
+ gdata->dev_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i);
+ gdata->connection_mode = ITEM_CONNECTION_MODE_OFF;
+
+ gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata);
+ elm_object_item_data_set(gdata->it, gdata);
}
evas_object_show(list);
__COMMON_FUNC_EXIT__;
- return TRUE;
+ return ECORE_CALLBACK_CANCEL;
}
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "common.h"
-#include "wifi-syspopup.h"
-#include "view-password.h"
-#include "wlan_manager.h"
-#include "view-main.h"
-#include "view-alerts.h"
-#include "i18nmanager.h"
-
-
-extern wifi_object* app_state;
-static Evas_Object* _entry = NULL;
-
-typedef struct _qs_view_password_data {
- char *profile_name;
- int security_mode;
-} qs_view_password_data;
-static qs_view_password_data *_qs_password_data = NULL;
-
-static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void _entry_focused_cb(void* data, Evas_Object* obj, void* event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
-
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _entry_unfocused_cb(void* data, Evas_Object* obj, void* event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
-
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void* data, Evas_Object* obj, const char* emission, const char* source)
-{
- elm_entry_entry_set(data, "");
-}
-
-static void _popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- assertm_if(NULL == data, "data is NULL!!");
- assertm_if(NULL == obj, "obj is NULL!!");
- assertm_if(NULL == event_info, "event_info is NULL!!");
-
- char* password = NULL;
- int len_password = 0;
- int ret = -1;
-
- password = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry));
- len_password = strlen(password);
- INFO_LOG(SP_NAME_NORMAL, "* password len [%d]", len_password);
-
- if(len_password == 5 || (len_password > 7 && len_password < 64) ) {
- wlan_manager_password_data* param= (wlan_manager_password_data*) g_malloc0(sizeof(wlan_manager_password_data));
- assertm_if(NULL == param, "param is NULL!!");
-
- param->wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE;
- param->password = strdup(password);
- g_free(password);
-
- genlist_data *gdata = (genlist_data *)data;
- ret = wlan_manager_connect_with_password(_qs_password_data->profile_name, _qs_password_data->security_mode, param);
- g_free(param->password);
- g_free(param);
-
- view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_CONNECTING);
- } else {
- view_alerts_password_length_error_show();
- return;
- }
-
- if (_qs_password_data) {
- g_free(_qs_password_data);
- _qs_password_data = NULL;
- }
-
- evas_object_del(app_state->passpopup);
- app_state->passpopup = NULL;
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void _popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- __COMMON_FUNC_ENTER__;
-
- INFO_LOG(SP_NAME_NORMAL, "button cancel");
- if (_qs_password_data) {
- g_free(_qs_password_data);
- _qs_password_data = NULL;
- }
-
- evas_object_del(app_state->passpopup);
- app_state->passpopup = NULL;
-
- __COMMON_FUNC_EXIT__;
-}
-
-static void _check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (obj == NULL)
- return;
-
- Eina_Bool state = elm_check_state_get(obj);
- elm_entry_password_set(_entry, !state);
-}
-
-int view_password_show(genlist_data *gdata)
-{
- __COMMON_FUNC_ENTER__;
-
- if (gdata == NULL)
- return FALSE;
-
- assertm_if(NULL == app_state, "app_state is NULL!!");
- assertm_if(NULL == app_state->win_main, "app_state->win_main is NULL!!");
-
- _qs_password_data = (qs_view_password_data *) malloc(sizeof(qs_view_password_data));
- if (_qs_password_data == NULL)
- return FALSE;
-
- memset(_qs_password_data, 0, sizeof(qs_view_password_data));
- _qs_password_data->profile_name = strdup(gdata->dev_info->profile_name);
- _qs_password_data->security_mode = gdata->dev_info->security_mode;
-
- Evas_Object *conformant = NULL;
- conformant = elm_conformant_add(app_state->win_main);
- assertm_if(NULL == conformant, "conformant is NULL!!");
- elm_win_conformant_set(app_state->win_main, EINA_TRUE);
- elm_win_resize_object_add(app_state->win_main, conformant);
- evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(conformant);
-
- Evas_Object *content = elm_layout_add(conformant);
- elm_object_content_set(conformant, content);
- app_state->passpopup = NULL;
- app_state->passpopup = elm_popup_add(content);
- assertm_if(NULL == app_state->syspopup, "app_state->syspopup is NULL!!");
- elm_object_part_text_set(app_state->passpopup, "title,text", sc(PACKAGE, I18N_TYPE_Password));
-
- Evas_Object *box = elm_box_add(app_state->syspopup);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(box);
-
- Evas_Object *ly_editfield = elm_layout_add(box);
- elm_layout_theme_set(ly_editfield, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(ly_editfield, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(ly_editfield, EVAS_HINT_FILL, EVAS_HINT_FILL);
- _entry = elm_entry_add(box);
- elm_object_part_content_set(ly_editfield, "elm.swallow.content", _entry);
- elm_object_part_text_set(ly_editfield, "elm.text", sc(PACKAGE, I18N_TYPE_Input_password));
- elm_entry_single_line_set(_entry, EINA_TRUE);
- elm_entry_scrollable_set(_entry, EINA_TRUE);
-
- evas_object_smart_callback_add(_entry, "changed", _entry_changed_cb, ly_editfield);
- evas_object_smart_callback_add(_entry, "focused", _entry_focused_cb, ly_editfield);
- evas_object_smart_callback_add(_entry, "unfocused", _entry_unfocused_cb, ly_editfield);
- elm_object_signal_callback_add(ly_editfield, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry);
-
- elm_entry_password_set(_entry, TRUE);
- evas_object_show(_entry);
- evas_object_show(ly_editfield);
- elm_box_pack_end(box, ly_editfield);
-
- Evas_Object *check = elm_check_add(box);
- elm_object_text_set(check, sc(PACKAGE, I18N_TYPE_Show_password));
- elm_object_focus_allow_set(check, EINA_FALSE);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(check, "changed", _check_changed_cb, NULL);
- evas_object_show(check);
- elm_box_pack_end(box, check);
-
- elm_object_content_set(app_state->passpopup, box);
- Evas_Object *btn_ok = elm_button_add(app_state->passpopup);
- elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok));
- elm_object_part_content_set(app_state->passpopup, "button1", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", _popup_ok_cb, gdata);
- Evas_Object *btn_cancel = elm_button_add(app_state->passpopup);
- elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel));
- elm_object_part_content_set(app_state->passpopup, "button2", btn_cancel);
- evas_object_smart_callback_add(btn_cancel, "clicked", _popup_cancel_cb, gdata);
- evas_object_show(app_state->passpopup);
-
- __COMMON_FUNC_EXIT__;
-
- return TRUE;
-}
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <vconf-keys.h>
#include <syspopup_caller.h>
#include "common.h"
+#include "common_datamodel.h"
#include "wifi-syspopup-engine-callback.h"
#include "wlan_manager.h"
#include "view-main.h"
#include "view-alerts.h"
-extern wifi_object* app_state;
+extern wifi_object* syspopup_app_state;
-int wlan_show_network_syspopup_message(const char *title, const char *content, const char *ssid)
+int wlan_show_network_syspopup_message(const char *title, const char *content, const char *type, const char *ssid)
{
int ret = 0;
bundle *b = bundle_create();
bundle_add(b, "_SYSPOPUP_TITLE_", title);
bundle_add(b, "_SYSPOPUP_CONTENT_", content);
+ bundle_add(b, "_SYSPOPUP_TYPE_", type);
bundle_add(b, "_AP_NAME_", ssid);
ret = syspopup_launch("net-popup", b);
case WLAN_MANAGER_RESPONSE_TYPE_NONE:
ERROR_LOG(SP_NAME_ERR, "case NONE:");
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK:
- INFO_LOG(SP_NAME_NORMAL, "case CONNECTION_OK:");
- app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED;
+ case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK:
+ INFO_LOG(SP_NAME_NORMAL, "case WPS ENROLL OK:");
+ syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED;
wifi_syspopup_destroy();
-
break;
- case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS:
- INFO_LOG(SP_NAME_NORMAL, "case CONNECTION FAIL:");
-
- view_main_refresh();
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK:
+ INFO_LOG(SP_NAME_NORMAL, "case CONNECTION_OK:");
+ syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED;
+ wifi_syspopup_destroy();
break;
+
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ALREADY_EXIST:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED:
case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN:
- INFO_LOG(SP_NAME_NORMAL, "case CONNECTION FAIL UNKNOWN:");
+ ERROR_LOG(SP_NAME_NORMAL, "Connection failed.");
- wlan_show_network_syspopup_message("Network connection popup", "unable to connect", NULL);
- view_main_refresh();
+ if (syspopup_app_state->passpopup) {
+ common_pswd_popup_destroy(syspopup_app_state->passpopup);
+ syspopup_app_state->passpopup = NULL;
+ }
+ view_main_refresh();
break;
+
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED:
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD:
case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT:
- INFO_LOG(SP_NAME_NORMAL, "case CONNECTION FAIL TIMEOUT:");
+ case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL:
+ INFO_LOG(SP_NAME_NORMAL, "Connection failed.");
- view_alerts_connection_fail_timeout_show();
- view_main_refresh();
+ if (syspopup_app_state->passpopup) {
+ common_pswd_popup_destroy(syspopup_app_state->passpopup);
+ syspopup_app_state->passpopup = NULL;
+ }
+ view_main_refresh();
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK:
ERROR_LOG(SP_NAME_NORMAL, "case DISCONNECTION OK:");
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK:
INFO_LOG(SP_NAME_NORMAL, "case POWER ON OK:");
+ wlan_manager_request_scan(); /* First scan request after power on */
+ if (syspopup_app_state->syspopup_type == WIFI_SYSPOPUP_WITHOUT_AP_LIST) {
+ wifi_syspopup_destroy();
+ }
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED:
INFO_LOG(SP_NAME_NORMAL, "case POWER ON NOT SUPPORTED:");
- wlan_show_network_syspopup_message("Network connection popup", "not support", NULL);
+ if (syspopup_app_state->alertpopup) {
+ evas_object_del(syspopup_app_state->alertpopup);
+ syspopup_app_state->alertpopup = NULL;
+ }
+ wlan_show_network_syspopup_message("Network connection popup", "not support", "notification", NULL);
+ wifi_syspopup_destroy();
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED:
INFO_LOG(SP_NAME_NORMAL, "case POWER ON RESTRICTED:");
- wlan_show_network_syspopup_message("Network connection popup", "wifi restricted", NULL);
+ if (syspopup_app_state->alertpopup) {
+ evas_object_del(syspopup_app_state->alertpopup);
+ syspopup_app_state->alertpopup = NULL;
+ }
+ wlan_show_network_syspopup_message("Network connection popup", "wifi restricted", "popup", NULL);
+ wifi_syspopup_destroy();
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK:
INFO_LOG(SP_NAME_NORMAL, "case POWER OFF OK:");
+ wifi_syspopup_destroy();
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK:
INFO_LOG(SP_NAME_NORMAL, "case SCAN OK:");
- wlan_manager_scanned_profile_refresh(TRUE);
- break;
- case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK:
- INFO_LOG(SP_NAME_NORMAL, "case WPS ENROLL OK:");
- break;
- case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL:
- INFO_LOG(SP_NAME_NORMAL, "case WPS ENROLL FAIL:");
+ wlan_manager_scanned_profile_refresh();
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK:
INFO_LOG(SP_NAME_NORMAL, "case CANCEL WPS ENROLL OK:");
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL:
INFO_LOG(SP_NAME_NORMAL, "case CANCEL WPS ENROLL FAIL:");
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND:
INFO_LOG(SP_NAME_NORMAL, "case CONNECTION IND:");
-
const char *ssid = wlan_manager_get_connected_ssid();
- wlan_show_network_syspopup_message("Network connection popup", "wifi connected", ssid);
- app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED;
+ wlan_show_network_syspopup_message("Network connection popup", "wifi connected", "notification", ssid);
+ syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED;
wifi_syspopup_destroy();
+ break;
+ case WLAN_MANAGER_RESPONSE_TYPE_CONNECTING:
+ /* TODO: We need to show the connecting progress indi. Check this later. */
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND:
INFO_LOG(SP_NAME_NORMAL, "case DISCONNECTION IND:");
break;
+
case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND:
INFO_LOG(SP_NAME_NORMAL, "case SCAN RESULT IND:");
- wlan_manager_scanned_profile_refresh(TRUE);
+ wlan_manager_scanned_profile_refresh();
break;
+
default:
ERROR_LOG(SP_NAME_ERR, "case Err [%d]", det->type);
break;
}
- if (det) {
- if (det->profile_name)
- g_free(det->profile_name);
- g_free(det);
- }
-
__COMMON_FUNC_EXIT__;
return;
}
{
__COMMON_FUNC_ENTER__;
- if (NULL == app_state) {
- INFO_LOG(SP_NAME_ERR, "app_state is NULL!! Is it test mode?");
+ if (NULL == syspopup_app_state) {
+ INFO_LOG(SP_NAME_ERR, "syspopup_app_state is NULL!! Is it test mode?");
__COMMON_FUNC_EXIT__;
return;
}
- if (NULL == app_state->layout_main) {
- /* Make System popup filled, if it was first launched */
- if (NULL != app_state->alertpopup) {
- /* deallocate alert popup if it has allocated */
- evas_object_del(app_state->alertpopup);
- app_state->alertpopup = NULL;
- }
-
- INFO_LOG(SP_NAME_NORMAL, "Wi-Fi QS launch");
- wifi_syspopup_create();
+ /* Make System popup filled, if it was first launched */
+ if (NULL != syspopup_app_state->alertpopup) {
+ /* deallocate alert popup if it has allocated */
+ evas_object_del(syspopup_app_state->alertpopup);
+ syspopup_app_state->alertpopup = NULL;
}
- if (view_main_show() == FALSE) {
- ERROR_LOG(SP_NAME_ERR, "view_main_show == FALSE");
- }
+ INFO_LOG(SP_NAME_NORMAL, "Wi-Fi QS launch");
+
+ ecore_idler_add(view_main_show, NULL);
__COMMON_FUNC_EXIT__;
return;
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Wi-Fi syspopup
+*
+* Copyright 2012 Samsung Electronics Co., Ltd
+
+* Licensed under the Flora License, Version 1.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.tizenopensource.org/license
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <syspopup.h>
#include "common.h"
+#include "common_utils.h"
#include "wlan_manager.h"
#include "appcoreWrapper.h"
#include "wifi-syspopup.h"
#include "wifi-setting.h"
#include "i18nmanager.h"
+#define DEVICE_PICKER_POPUP_W 656
+#define DEVICE_PICKER_POPUP_H 918
+#define MAX_INITIAL_QS_POPUP_LIST_SIZE 8
-wifi_object* app_state = NULL;
+wifi_object* syspopup_app_state = NULL;
/* static */
static int myterm(bundle* b, void* data);
static int app_exit(void *data);
static int app_start(void *data);
static int app_stop(void *data);
+#if 0 /* This function is not called from anywhere. Unused. */
static int _power_on (void);
-
+#endif
/* implements */
static int myterm(bundle* b, void* data)
memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t));
}
- if (VCONFKEY_WIFI_QS_WIFI_CONNECTED == app_state->connection_result) {
+ if (VCONFKEY_WIFI_QS_WIFI_CONNECTED == syspopup_app_state->connection_result) {
INFO_LOG(SP_NAME_NORMAL, "Result : WIFI");
- } else if (VCONFKEY_WIFI_QS_3G == app_state->connection_result) {
+ } else if (VCONFKEY_WIFI_QS_3G == syspopup_app_state->connection_result) {
INFO_LOG(SP_NAME_NORMAL, "Result : 3G");
} else {
- WARN_LOG(SP_NAME_NORMAL, "Result : ?? [%d]", app_state->connection_result);
- app_state->connection_result = VCONFKEY_WIFI_QS_3G;
+ WARN_LOG(SP_NAME_NORMAL, "Result : ?? [%d]", syspopup_app_state->connection_result);
+ syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_3G;
}
- wifi_setting_value_set("memory/wifi/wifi_qs_exit", app_state->connection_result);
+ wifi_setting_value_set("memory/wifi/wifi_qs_exit", syspopup_app_state->connection_result);
elm_exit();
int wifi_syspopup_destroy(void)
{
- if (app_state->syspopup)
- evas_object_del(app_state->syspopup);
+ if (syspopup_app_state->passpopup) {
+ common_pswd_popup_destroy(syspopup_app_state->passpopup);
+ syspopup_app_state->passpopup = NULL;
+ }
- if (app_state->layout_main)
- evas_object_del(app_state->layout_main);
+ if (syspopup_app_state->syspopup) {
+ evas_object_del(syspopup_app_state->syspopup);
+ syspopup_app_state->syspopup = NULL;
+ }
- if (app_state->win_main)
- evas_object_del(app_state->win_main);
+ if (syspopup_app_state->win_main) {
+ evas_object_del(syspopup_app_state->win_main);
+ syspopup_app_state->win_main = NULL;
+ }
wifi_syspopup_exit();
int wifi_syspopup_create(void)
{
__COMMON_FUNC_ENTER__;
- app_state->layout_main = elm_layout_add(app_state->win_main);
- assertm_if(NULL == app_state->layout_main, "layout_main is NULL!!");
- evas_object_hide(app_state->layout_main);
-
- app_state->syspopup = elm_popup_add(app_state->win_main);
- assertm_if(NULL == app_state->syspopup, "syspopup is NULL!!");
-
- elm_object_style_set(app_state->syspopup,"menustyle");
- elm_object_part_text_set(app_state->syspopup, "title,text", sc(PACKAGE, I18N_TYPE_Select_network));
- evas_object_size_hint_weight_set(app_state->syspopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ if (NULL == syspopup_app_state->syspopup) {
+ syspopup_app_state->syspopup = elm_popup_add(syspopup_app_state->win_main);
+ assertm_if(NULL == syspopup_app_state->syspopup, "syspopup is NULL!!");
+ }
+ elm_object_style_set(syspopup_app_state->syspopup,"content_expand");
+ elm_object_part_text_set(syspopup_app_state->syspopup, "title,text", sc(PACKAGE, I18N_TYPE_WiFi_network));
+ evas_object_size_hint_weight_set(syspopup_app_state->syspopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- Evas_Object *btn_cancel = elm_button_add(app_state->syspopup);
+ Evas_Object *btn_cancel = elm_button_add(syspopup_app_state->syspopup);
elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel));
- elm_object_part_content_set(app_state->syspopup, "button1", btn_cancel);
+ elm_object_part_content_set(syspopup_app_state->syspopup, "button1", btn_cancel);
evas_object_smart_callback_add(btn_cancel, "clicked", _exit_cb, NULL);
- elm_popup_orient_set(app_state->syspopup, ELM_POPUP_ORIENT_CENTER);
- evas_object_show(app_state->syspopup);
-
- Evas_Object *main_list = view_main_create(app_state->syspopup);
- if (main_list == NULL)
- return FALSE;
-
- elm_object_content_set(app_state->syspopup, main_list);
+ /* Create and add a box into the layout. */
+ Evas_Object *box = elm_box_add(syspopup_app_state->syspopup);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ Evas_Object *main_list = view_main_create(box);
+ elm_box_pack_end(box, main_list);
+ evas_object_show(main_list);
+ evas_object_size_hint_min_set(box, DEVICE_PICKER_POPUP_W * elm_config_scale_get(), DEVICE_PICKER_POPUP_H * elm_config_scale_get());
+ elm_object_content_set(syspopup_app_state->syspopup, box);
+ evas_object_show(syspopup_app_state->syspopup);
+ evas_object_show(syspopup_app_state->win_main);
memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t));
static int syspopup_support_set(const char* support) {
__COMMON_FUNC_ENTER__;
-
if(NULL == support) {
__COMMON_FUNC_EXIT__;
return FALSE;
}
if(strcmp("WIFI_SYSPOPUP_SUPPORT_QUICKPANEL",support) == 0) {
- app_state->wifi_syspopup_support = WIFI_SYSPOPUP_SUPPORT_QUICKPANEL;
+ syspopup_app_state->wifi_syspopup_support = WIFI_SYSPOPUP_SUPPORT_QUICKPANEL;
} else {
__COMMON_FUNC_EXIT__;
return FALSE;
return TRUE;
}
+#if 0 /* This function is not called from anywhere. Unused. */
static void _mobilehotspot_disable_cb(DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data)
{
__COMMON_FUNC_ENTER__;
}
proxy = dbus_g_proxy_new_for_name(bus,
- "org.tizen.mobileap",
+ "com.samsung.mobileap",
"/MobileAP",
- "org.tizen.mobileap");
+ "com.samsung.mobileap");
if (proxy == NULL) {
INFO_LOG(SP_NAME_ERR, "Couldn't create the proxy object");
dbus_g_connection_unref(bus);
__COMMON_FUNC_EXIT__;
return TRUE;
}
+#endif
static int _power_on_check(void)
{
return TRUE;
}
+#if 0 /* This function is not called from anywhere. Unused. */
static int _power_on(void)
{
__COMMON_FUNC_ENTER__;
__COMMON_FUNC_EXIT__;
return TRUE;
}
+#endif
static int app_reset(bundle *b, void *data)
{
__COMMON_FUNC_ENTER__;
+ Evas_Object *win_main = NULL;
+ Evas *evas = NULL;
const char* val = NULL;
- int ret =0;
+ int ret = 0;
int w, h = 0;
assertm_if(NULL == data, "data param is NULL!!");
assertm_if(NULL == b, "bundle is NULL!!");
- Evas_Object* win_main = appcore_create_win(PACKAGE);
- assertm_if(NULL == win_main, "win_main is NULL!!");
- Evas* evas = evas_object_evas_get(win_main);
- assertm_if(NULL == evas, "evas is NULL!!");
-
- app_state = data;
- app_state->win_main = win_main;
- app_state->evas = evas;
- app_state->b = bundle_dup(b);
-
- elm_win_alpha_set(app_state->win_main, EINA_TRUE); /* invisible window */
- elm_win_borderless_set(app_state->win_main, EINA_TRUE); /* No borders */
- elm_win_indicator_mode_set(app_state->win_main, ELM_WIN_INDICATOR_SHOW); /* indicator allow */
- elm_win_conformant_set(app_state->win_main, TRUE); /* Popup autoscroll */
-
- if( syspopup_has_popup(b)){
+ if (syspopup_has_popup(b)) {
INFO_LOG(SP_NAME_NORMAL, "Wi-Fi Syspopup is already launched. So, no more.");
syspopup_reset(b);
} else {
+ win_main = appcore_create_win(PACKAGE);
+ assertm_if(NULL == win_main, "win_main is NULL!!");
+ evas = evas_object_evas_get(win_main);
+ assertm_if(NULL == evas, "evas is NULL!!");
+
+ syspopup_app_state = data;
+ syspopup_app_state->win_main = win_main;
+ syspopup_app_state->evas = evas;
+ syspopup_app_state->b = bundle_dup(b);
+
+ elm_win_alpha_set(syspopup_app_state->win_main, EINA_TRUE); /* invisible window */
+ elm_win_borderless_set(syspopup_app_state->win_main, EINA_TRUE); /* No borders */
+ elm_win_indicator_mode_set(syspopup_app_state->win_main, ELM_WIN_INDICATOR_SHOW); /* indicator allow */
+ elm_win_conformant_set(syspopup_app_state->win_main, TRUE); /* Popup autoscroll */
+
const char* is_onoff = bundle_get_val(b, "-t");
- INFO_LOG(SP_NAME_NORMAL, "is_onoff [%s]", is_onoff);
+
if (is_onoff != NULL) {
- wifi_syspopup_init();
- if (strcmp(is_onoff, "on") == 0) {
+ INFO_LOG(SP_NAME_NORMAL, "is_onoff [%s]", is_onoff);
+
+ syspopup_app_state->syspopup_type = WIFI_SYSPOPUP_WITHOUT_AP_LIST;
+ int wlan_ret = wifi_syspopup_init();
+
+ if (WLAN_MANAGER_ERR_NONE != wlan_ret) {
+ INFO_LOG(SP_NAME_ERR, "wifi_syspopup_init failed. wlan_ret = %d", wlan_ret);
+ } else if (strcmp(is_onoff, "on") == 0) {
INFO_LOG(SP_NAME_NORMAL, "request power on");
ret = wlan_manager_request_power_on();
INFO_LOG(SP_NAME_NORMAL, "* ret [%d]", ret);
ret = wlan_manager_request_power_off();
INFO_LOG(SP_NAME_NORMAL, "* ret [%d]", ret);
}
- wlan_manager_destroy();
- elm_exit();
+
+ wifi_syspopup_destroy();
return 0;
} else {
- wifi_syspopup_init();
- if (_power_on_check() == FALSE) {
- wlan_manager_destroy();
- wifi_setting_value_set("memory/wifi/wifi_qs_exit", VCONFKEY_WIFI_QS_3G);
+ syspopup_app_state->syspopup_type = WIFI_SYSPOPUP_WITH_AP_LIST;
+ int wlan_ret = wifi_syspopup_init();
+ if (WLAN_MANAGER_ERR_NONE != wlan_ret || _power_on_check() == FALSE) {
+ wifi_syspopup_destroy();
__COMMON_FUNC_EXIT__;
- elm_exit();
+ return 0;
}
}
- app_state->syspopup = elm_popup_add(app_state->win_main);
- ret = syspopup_create(b, &handler, app_state->win_main, app_state);
+ syspopup_app_state->syspopup = elm_popup_add(syspopup_app_state->win_main);
+ ret = syspopup_create(b, &handler, syspopup_app_state->win_main, syspopup_app_state);
if(ret != 0){
ERROR_LOG(SP_NAME_ERR, "Syspopup create error!! return [%d]", ret );
+
wlan_manager_destroy();
+
+ __COMMON_FUNC_EXIT__;
elm_exit();
+
+ return 0;
} else {
val = bundle_get_val(b, "_INTERNAL_SYSPOPUP_NAME_");
ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
- evas_object_show(app_state->win_main);
- wlan_manager_scanned_profile_refresh_with_count(5);
+ wifi_syspopup_create();
+ wlan_manager_scanned_profile_refresh_with_count(MAX_INITIAL_QS_POPUP_LIST_SIZE);
}
}
__COMMON_FUNC_EXIT__;
static int app_start(void *data)
{
__COMMON_FUNC_ENTER__;
- ecore_idler_add((Ecore_Task_Cb)wlan_manager_scanned_profile_refresh_with_count, (void *)5);
__COMMON_FUNC_EXIT__;
return 0;
int main(int argc, char* argv[])
{
__COMMON_FUNC_ENTER__;
-
INFO_LOG( SP_NAME_NORMAL, "argc [%d]", argc);
wifi_object ad;
memset(&ad, 0x0, sizeof(wifi_object));
ad.connection_result = VCONFKEY_WIFI_QS_3G;
-
ad.win_main = NULL;
ad.evas = NULL;
ad.b = NULL;
ops.data = &ad;
- /* wlan init */
- int wlan_ret = wifi_syspopup_init();
- if (wlan_ret != WLAN_MANAGER_ERR_NONE) {
- wlan_manager_destroy();
- wifi_setting_value_set("memory/wifi/wifi_qs_exit", VCONFKEY_WIFI_QS_3G);
- __COMMON_FUNC_EXIT__;
- elm_exit();
- }
-
__COMMON_FUNC_EXIT__;
return appcore_efl_main(PACKAGE, &argc, &argv, &ops);
}