[LB] General quality fixes for Guides and synch from 2.4 branch 11/94411/3
authorEditor Lionbridge <TizenEditor.SEL@lionbridge.com>
Fri, 28 Oct 2016 17:27:22 +0000 (20:27 +0300)
committerEditor Lionbridge <TizenEditor.SEL@lionbridge.com>
Tue, 8 Nov 2016 12:35:41 +0000 (14:35 +0200)
- Synch changes from 2.4
- Minor edits to 3.0-specific content to improve and make it consistent

PS2: [LB] Ambient mode pixel size fixed from 20% to 15%
PS3: [LB] Additional changes due to low power mode and color restriction

Change-Id: Ibdbace9c6ef32a1afa0f707787f7ba1bfbd99d74

13 files changed:
org.tizen.guides/html/native/app_management/app_controls_n.htm
org.tizen.guides/html/native/app_management/common_appcontrol_n.htm
org.tizen.guides/html/native/app_management/watch_app_n.htm
org.tizen.guides/html/native/media/media_key_n.htm
org.tizen.guides/html/native/messaging/push_n.htm
org.tizen.guides/html/native/messaging/push_server_n.htm
org.tizen.guides/html/native/personal/fido_n.htm
org.tizen.guides/html/native/security/privilege_n.htm
org.tizen.guides/html/native/ui/efl/component_flipselector_mn.htm
org.tizen.guides/html/web/sensors/task_sensorball_w.htm
org.tizen.guides/html/web/ui/tau/tau_porting_w.htm
org.tizen.guides/html/web/ui/tau/tau_w.htm
org.tizen.guides/html/web/w3c/media/task_selfcamera_w.htm

index bd59f35..35e1aa1 100644 (file)
@@ -214,6 +214,17 @@ else
 app_control_destroy(app_control);
 </pre>
 
+<table class="note">
+<tbody>
+    <tr>
+        <th class="note">Note</th>
+    </tr>
+    <tr>
+        <td class="note">Be careful when using the explicit launch, because if the target application does not exist in the device, you need to handle the <span style="font-family: Courier New,Courier,monospace">APP_CONTROL_ERROR_NOT_FOUND</span> error. If you want to launch any application that supports a certain operation, use the implicit launch.</td>
+    </tr>
+</tbody>
+</table>
+
 <h3 id="implicit" name="implicit">Implicit Launch</h3>
 
 <p>When you request an implicit launch:</p>
@@ -383,6 +394,7 @@ static void app_control(app_control_h app_control, void *user_data)
                <li><a href="common_appcontrol_n.htm#settings_wifi">Settings for Wi-Fi</a></li>
        </ul>
        <li><a href="common_appcontrol_n.htm#voice">Voice Recorder</a></li>
+       <li><a href="common_appcontrol_n.htm#vpnservice">VPN Service</a></li>
        <li><a href="common_appcontrol_n.htm#inputdelegator">Input Delegator</a></li>
 </ul>
 
index 2faa9c4..0f4d81f 100644 (file)
@@ -2373,8 +2373,8 @@ app_control_send_launch_request(service, NULL, NULL);
 <p align="center"><img src="../../images/common_appcontrol_vpn_service1.png" alt="Connecting VPN" /><img src="../../images/common_appcontrol_vpn_service2.png" alt="Disconnecting VPN" /></p>
 <h4>Operation</h4>
 <ul>
-<li><span style="font-family: Courier New,Courier,monospace">http://tizen.org/appcontrol/operation/setting/vpn</span></li>
-<li><span style="font-family: Courier New,Courier,monospace">APP_CONTROL_OPERATION_SETTING_VPN</span></li>
+<li><span style="font-family: Courier New,Courier,monospace">http://tizen.org/appcontrol/operation/setting/vpn</span>  (in <span style="font-family: Courier New,Courier,monospace">.c</span> files and manifest file)</li>
+<li><span style="font-family: Courier New,Courier,monospace">APP_CONTROL_OPERATION_SETTING_VPN</span>  (in <span style="font-family: Courier New,Courier,monospace">.c</span> files only)</li>
 </ul>
 
 <h4>Extra Input</h4>
@@ -2387,12 +2387,7 @@ app_control_send_launch_request(service, NULL, NULL);
                        </tr>
                        <tr>
                                <td><span style="font-family: Courier New,Courier,monospace">APP_CONTROL_DATA_TYPE</span></td>
-                               <td>The method type. This key must be passed as a string. Available values are:
-                                                          <ul>
-                                                          <li><span style="font-family: Courier New,Courier,monospace">up</span>: VPN interface up</li>
-                                                          <li><span style="font-family: Courier New,Courier,monospace">down</span>: VPN interface down</li>
-                                                          </ul>
-                                                          </td>
+                               <td>The method type. The available values are <span style="font-family: Courier New,Courier,monospace">up</span> (VPN interface up) and <span style="font-family: Courier New,Courier,monospace">down</span> (VPN interface down).  This key must be passed as a string.</td>
                                <td rowspan="2">This key is mandatory.</td>
                        </tr>
                        <tr>
@@ -2443,7 +2438,7 @@ vpn_appcontrol_result_cb(app_control_h request, app_control_h reply, app_control
 &nbsp;&nbsp;&nbsp;&nbsp;switch (result) {
 &nbsp;&nbsp;&nbsp;&nbsp;case APP_CONTROL_RESULT_APP_STARTED:
 &nbsp;&nbsp;&nbsp;&nbsp;case APP_CONTROL_RESULT_SUCCEEDED:
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_INFO, LOG_TAG, &quot;Successed!&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_INFO, LOG_TAG, &quot;Success!&quot;);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
 &nbsp;&nbsp;&nbsp;&nbsp;case APP_CONTROL_RESULT_FAILED:
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_INFO, LOG_TAG, &quot;Failed!&quot;);
index d323b91..e0713ae 100644 (file)
@@ -68,7 +68,7 @@
 <p>With the time handle, you can <a href="#timehandle">draw the UI</a> for your watch application.</p></li>
 <li>Managing the ambient mode
 <p>In a low-powered wearable device, an ambient mode is available. In this mode, the watch application shows a limited UI and receives only the ambient tick event every minute to reduce power consumption.</p>
-<p>The details of the limited UI drawn in the ambient mode depend on the device. Usually, when designing the ambient mode UI, draw a black and white UI only, and use less than 15% of the pixels on the screen. If you do not want to draw your own ambient mode UI, set the <span style="font-family: Courier New,Courier,monospace">ambient-support</span> attribute to <span style="font-family: Courier New,Courier,monospace">disable</span> in the watch application <a href="../../../../org.tizen.studio/html/native_tools/manifest_text_editor_n.htm#watch_app">manifest file</a> to allow the platform to show a default ambient mode UI.</p>
+<p>The details of the limited UI drawn in the ambient mode depend on the device. In addition, due to the ambient mode being a low power mode, there are limits to the colors that can be shown on the screen. Usually, when designing the ambient mode UI, draw a black and white UI only, and use less than 15% of the pixels on the screen. If you do not want to draw your own ambient mode UI, set the <span style="font-family: Courier New,Courier,monospace">ambient-support</span> attribute to <span style="font-family: Courier New,Courier,monospace">disable</span> in the watch application <a href="../../../../org.tizen.studio/html/native_tools/manifest_text_editor_n.htm#watch_app">manifest file</a> to allow the platform to show a default ambient mode UI.</p>
 
 <p>Since Tizen 2.3.2, some devices introduce a high color mode for the ambient mode. In the high color mode, you can use more colors (usually, 24-bit color) for drawing the ambient mode UI.</p>
 
index b7775e6..5d5dce1 100644 (file)
@@ -114,6 +114,7 @@ event_cb(media_key_e key, media_key_event_e status, void* user_data)
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_INFO, LOG_TAG, &quot;Key: Unknown&quot;);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
 &nbsp;&nbsp;&nbsp;&nbsp;}
+
 &nbsp;&nbsp;&nbsp;&nbsp;switch (status) {
 &nbsp;&nbsp;&nbsp;&nbsp;case MEDIA_KEY_STATUS_PRESSED:
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_INFO, LOG_TAG, &quot;Event: MEDIA_KEY_STATUS_PRESSED&quot;);
index 4845a4f..a556d2b 100644 (file)
 #include &lt;push-service.h&gt;
 </pre>
 </li>
-
-<li><p>Since Tizen 3.0, the push service supports launching an application in the background. Remember that you can deliver application data to your application without an unwanted UI launch.</p>
-</li>
 </ol>
 
+  <table class="note">
+   <tbody>
+    <tr>
+     <th class="note">Note</th>
+    </tr>
+    <tr>
+     <td class="note">Since Tizen 3.0, the push service supports launching an application in the background. Remember that you can deliver application data to your application without an unwanted UI launch.</td>
+    </tr>
+   </tbody>
+  </table>
+
  <h2 id="connect" name="connect">Connecting to the Push Service</h2>
 
 <p>To request or receive push notifications, establish a socket connection to the push service. All the information regarding this connection must be controlled by a connection handle which can be defined as a global variable:</p>
@@ -235,7 +243,7 @@ app_create(void *data)
 &nbsp;&nbsp;&nbsp;&nbsp;ret = push_service_connect(PUSH_APP_ID, _state_cb, _noti_cb, NULL, &amp;push_conn);
 
 &nbsp;&nbsp;&nbsp;&nbsp;if (ret != PUSH_SERVICE_ERROR_NONE) {
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;push_service_connect() Failed&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;push_service_connect() failed&quot;);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push_conn = NULL;
 
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;
@@ -256,7 +264,7 @@ app_create(void *data)
 
 <p>This sample application establishes a connection to the service when it is launched and disconnects from the service when it terminates. Due to this, the <span style="font-family: Courier New,Courier,monospace;">push_service_connect()</span> function is located in the <span style="font-family: Courier New,Courier,monospace;">app_create()</span> function, which is called when the application is launched.
 </p>
-<p>The application can be resumed after being paused. To ensure that push notifications are handled fluently, the <span style="font-family: Courier New,Courier,monospace;">push_service_connect()</span> function must be located in the <span style="font-family: Courier New,Courier,monospace;">app_resume()</span> function. For more information, see the following example.</p>
+<p>The application can be resumed after being paused. To ensure that push notifications are handled fluently, the <span style="font-family: Courier New,Courier,monospace;">push_service_connect()</span> function must be located in the <span style="font-family: Courier New,Courier,monospace;">app_resume()</span> function:</p>
 <pre class="prettyprint">
 static void
 app_resume(void *data)
@@ -267,7 +275,7 @@ app_resume(void *data)
 &nbsp;&nbsp;&nbsp;&nbsp;if (!push_conn) {
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret = push_service_connect(PUSH_APP_ID, _state_cb, _noti_cb, NULL, &amp;push_conn);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ret != PUSH_SERVICE_ERROR_NONE){
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR : push_service_connect() is failed.&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR : push_service_connect() failed.&quot;);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push_conn = NULL;
 
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
@@ -281,7 +289,7 @@ app_resume(void *data)
 &nbsp;&nbsp;&nbsp;&nbsp;*/
 &nbsp;&nbsp;&nbsp;&nbsp;ret = push_service_request_unread_notification(push_conn);
 &nbsp;&nbsp;&nbsp;&nbsp;if (ret != PUSH_SERVICE_ERROR_NONE)
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR : push_service_request_unread_notification() is failed.&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR : push_service_request_unread_notification() failed.&quot;);
 }
 </pre>
 </li>
@@ -308,7 +316,7 @@ app_terminate(void *data)
 <p>The connection is automatically closed when the application terminates. Hence, if the application uses the push service while being launched, it does not need this function.</p>
 
 <p>The application can also disconnect the service in the middle of the application operation. If you add a toggle switch to the application for switching the push service on and off, call this function when the service is switched off. Do not call this function inside any push callback functions, however, since it can cause the application to crash.</p>
-<p>The application can be paused by pressing home or back key. For a proper push operation, the <span style="font-family: Courier New,Courier,monospace;">push_service_disconnect()</span> function must be located in the <span style="font-family: Courier New,Courier,monospace;">app_pause()</span> function.</p>
+<p>The application can be paused by pressing the <strong>Home</strong> or <strong>Back</strong> key. For a proper push operation, the <span style="font-family: Courier New,Courier,monospace;">push_service_disconnect()</span> function must be located in the <span style="font-family: Courier New,Courier,monospace;">app_pause()</span> function.</p>
 <pre class="prettyprint">
 static void
 app_pause(void *data)
@@ -382,7 +390,7 @@ _on_state_unregistered(void *user_data)
 &nbsp;&nbsp;&nbsp;&nbsp;/* Reset the previously-stored registration ID */
 &nbsp;&nbsp;&nbsp;&nbsp;ret = preference_set_string(PUSH_HASH_KEY, &quot;&quot;);
 &nbsp;&nbsp;&nbsp;&nbsp;if (ret != PREFERENCE_ERROR_NONE)
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR: Fail to initialize hash_value [%d : %s]&quot;, ret, get_error_message(ret));
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR: Failed to initialize hash_value [%d : %s]&quot;, ret, get_error_message(ret));
 
 &nbsp;&nbsp;&nbsp;&nbsp;/* Send a registration request to the push service */
 &nbsp;&nbsp;&nbsp;&nbsp;ret = push_service_register(push_conn, _result_cb, user_data);
@@ -604,7 +612,7 @@ appSecret: dYo/o/m11gmWmjs7+5f+2zLNVOc=
        <p><span style="font-family: Courier New,Courier,monospace;">SILENT</span>: Store the message without alerting the user.</p>
        <p><span style="font-family: Courier New,Courier,monospace;">DISCARD</span>: Discard the message, if the application is not up and running.</p>
        <p><span style="font-family: Courier New,Courier,monospace;">LAUNCH</span>: Forcibly launch the application and deliver the notification.</p>
-       <p><span style="font-family: Courier New,Courier,monospace;">BACKGROUNDLAUNCH</span>: Launch the application in the background and deliver the notification. (Since Tizen 3.0)</p></td>
+       <p><span style="font-family: Courier New,Courier,monospace;">BACKGROUNDLAUNCH</span>: Launch the application in the background and deliver the notification (supported since Tizen 3.0).</p></td>
  <td>Action to be performed if the application is not running. If no action is defined, the default behavior is <span style="font-family: Courier New,Courier,monospace;">SILENT</span>.</td>
 </tr>
 <tr>
@@ -752,11 +760,10 @@ app_control(app_control_h app_control, void *data)
 &nbsp;&nbsp;&nbsp;&nbsp;char *value = NULL;
 &nbsp;&nbsp;&nbsp;&nbsp;app_control_get_extra_data(app_control, APP_CONTROL_DATA_PUSH_LAUNCH_TYPE, &amp;value);
 &nbsp;&nbsp;&nbsp;&nbsp;if (value) {
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!strcmp(value, EXTRA_DATA_FROM_NOTIFICATION)) {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!strcmp(value, EXTRA_DATA_FROM_NOTIFICATION))
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Add your code here when push messages arrive */
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else if (!strcmp(value, EXTRA_DATA_FROM_REGISTRATION_CHANGE)) {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (!strcmp(value, EXTRA_DATA_FROM_REGISTRATION_CHANGE))
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Add your code here when registration state is changed */
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
 &nbsp;&nbsp;&nbsp;&nbsp;}
 }
 </pre>
@@ -764,12 +771,12 @@ app_control(app_control_h app_control, void *data)
 
 <li>Store the notification at the push service database and request it later when the application is launched.
 <p>You need to set the action to <span style="font-family: Courier New,Courier,monospace;">ALERT</span> or <span style="font-family: Courier New,Courier,monospace;">SILENT</span> in the message field when sending the notification from the application server. When such a notification arrives at the device, the push service keeps the notification in the database and waits for the request from the application.</p>
-<p>You can request for unread notifications from the push service. The request can be performed after connected to the push server when the application is launched.</p>
+<p>You can request for unread notifications from the push service. The request can be performed after the connection to the push server when the application is launched.</p>
 <pre class="prettyprint">
 if (push_conn) {
 &nbsp;&nbsp;&nbsp;&nbsp;int ret = push_service_request_unread_notification(push_conn);
 &nbsp;&nbsp;&nbsp;&nbsp;if (ret != PUSH_SERVICE_ERROR_NONE)
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR: push_service_request_unread_notification() is failed.&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;ERROR: push_service_request_unread_notification() failed.&quot;);
 }
 </pre>
 <p>The difference between the <span style="font-family: Courier New,Courier,monospace;">ALERT</span> and <span style="font-family: Courier New,Courier,monospace;">SILENT</span> actions is that the former shows an alert message in the quick panel and changes the badge count, while the latter does not. If the user clicks the alert message in the quick panel, the push service <a href="#force_launch">forcibly launches the application</a> and delivers the notification through the app control callback function.</p></li>
index ebcc8b6..c10d60c 100644 (file)
@@ -42,7 +42,7 @@
 <div id="container"><div id="contents"><div class="content">
 <h1>Push Server</h1>
 
-<p>Push enables you to <a href="#send_server">push events</a> from an application server to your application on a Tizen device. If the message sending fails for any reason, an error code identifying the failure reason is returned. You can <a href="#error_codes">use the error code</a> to determine how to handle the failure.</p> 
+<p>Push enables you to <a href="#send_server">push events</a> from an application server to your application on a Tizen device. You can also <a href="#decorate_noti">decorate the push notification</a> in the quick panel. If the message sending fails for any reason, an error code identifying the failure reason is returned. You can <a href="#error_codes">use the error code</a> to determine how to handle the failure.</p> 
 
 <h2>Warm-up</h2>
 <p>Become familiar with the Push API basics by learning about:</p>
        <p><span style="font-family: Courier New,Courier,monospace;">SILENT</span>: Store the message without alerting the user.</p>
        <p><span style="font-family: Courier New,Courier,monospace;">DISCARD</span>: Discard the message, if the application is not up and running.</p>
        <p><span style="font-family: Courier New,Courier,monospace;">LAUNCH</span>: Forcibly launch the application and deliver the notification.</p>
-       <p><span style="font-family: Courier New,Courier,monospace;">BACKGROUNDLAUNCH</span>: Launch the application in the background and deliver the notification. (Since Tizen 3.0)</p></td>
+       <p><span style="font-family: Courier New,Courier,monospace;">BACKGROUNDLAUNCH</span>: Launch the application in the background and deliver the notification (supported since Tizen 3.0).</p></td>
  <td>Action to be performed if the application is not running. If no action is defined, the default behavior is <span style="font-family: Courier New,Courier,monospace;">SILENT</span>.</td>
 </tr>
 <tr>
@@ -623,7 +623,7 @@ appSecret: dYo/o/m11gmWmjs7+5f+2zLNVOc=
 
 <p>Since Tizen 3.0, you can decorate push notifications you send from the application server to Tizen devices. For example, you can add images and sounds to the notifications. The push service creates a notification using the resources from the application and notifies the user. You can compose the push message using a set of REST APIs.</p>
 <p>To decorate push notifications, you have to understand the notification functions. In addition to the existing <span style="font-family: Courier New,Courier,monospace;">message</span> field, more fields are provided. For more details about the functions to use to create a notification, see the Notification API (in <a href="../../../../org.tizen.native.mobile.apireference/group__NOTIFICATION__MODULE.html">mobile</a> and <a href="../../../../org.tizen.native.wearable.apireference/group__NOTIFICATION__MODULE.html">wearable</a> applications). When you include a key and value in the message field, the push service creates a notification as the application creates a notification using the Notification API.</p>
-<p>Prepare all the resource files under the <span style="font-family: Courier New,Courier,monospace;">/shared/res</span> folder in your application, and you directly address the resource files. For example, <span style="font-family: Courier New,Courier,monospace;">imageTypeIcon=image.png</span> means the <span style="font-family: Courier New,Courier,monospace;">/share/res/image.png</span> image is displayed as an icon in the notification panel. You can perform the same action by calling the <span style="font-family: Courier New,Courier,monospace;">notification_set_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, &quot;image.png&quot;)</span> function.</p>
+<p>Prepare all the resource files under the <span style="font-family: Courier New,Courier,monospace;">/shared/res</span> folder in your application, and you can directly address the resource files. For example, <span style="font-family: Courier New,Courier,monospace;">imageTypeIcon=image.png</span> means that the <span style="font-family: Courier New,Courier,monospace;">/share/res/image.png</span> image is displayed as an icon in the notification panel. You can perform the same action by calling the <span style="font-family: Courier New,Courier,monospace;">notification_set_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, &quot;image.png&quot;)</span> function.</p>
 
 <p>The following table lists the additional key and value pairs for the message field in notifications.</p>
 <table>
@@ -831,31 +831,31 @@ appSecret: dYo/o/m11gmWmjs7+5f+2zLNVOc=
 <tr>
  <td><span style="font-family: Courier New,Courier,monospace;">eventTypeClickOnButton2</span></td>
  <td><span style="font-family: Courier New,Courier,monospace;">app_control_add_extra_data(appcontrol, key, value)</span>
- <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button (noti, NOTIFICATION_BUTTON_2)</span></p>
+ <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button(noti, NOTIFICATION_BUTTON_2)</span></p>
  <p><span style="font-family: Courier New,Courier,monospace;">(noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_2, app_control)</span></p></td>
 </tr>
 <tr>
  <td><span style="font-family: Courier New,Courier,monospace;">eventTypeClickOnButton3</span></td>
  <td><span style="font-family: Courier New,Courier,monospace;">app_control_add_extra_data(appcontrol, key, value)</span>
- <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button (noti, NOTIFICATION_BUTTON_3)</span></p>
+ <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button(noti, NOTIFICATION_BUTTON_3)</span></p>
  <p><span style="font-family: Courier New,Courier,monospace;">(noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_3, app_control)</span></p></td>
 </tr>
 <tr>
  <td><span style="font-family: Courier New,Courier,monospace;">eventTypeClickOnButton4</span></td>
  <td><span style="font-family: Courier New,Courier,monospace;">app_control_add_extra_data(appcontrol, key, value)</span>
- <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button (noti, NOTIFICATION_BUTTON_4)</span></p>
+ <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button(noti, NOTIFICATION_BUTTON_4)</span></p>
  <p><span style="font-family: Courier New,Courier,monospace;">(noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_4, app_control)</span></p></td>
 </tr>
 <tr>
  <td><span style="font-family: Courier New,Courier,monospace;">eventTypeClickOnButton5</span></td>
  <td><span style="font-family: Courier New,Courier,monospace;">app_control_add_extra_data(appcontrol, key, value)</span>
- <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button (noti, NOTIFICATION_BUTTON_5)</span></p>
+ <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button(noti, NOTIFICATION_BUTTON_5)</span></p>
  <p><span style="font-family: Courier New,Courier,monospace;">(noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_5, app_control)</span></p></td>
 </tr>
 <tr>
  <td><span style="font-family: Courier New,Courier,monospace;">eventTypeClickOnButton6</span></td>
  <td><span style="font-family: Courier New,Courier,monospace;">app_control_add_extra_data(appcontrol, key, value)</span>
- <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button (noti, NOTIFICATION_BUTTON_6)</span></p>
+ <p><span style="font-family: Courier New,Courier,monospace;">notification_add_button(noti, NOTIFICATION_BUTTON_6)</span></p>
  <p><span style="font-family: Courier New,Courier,monospace;">(noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_6, app_control)</span></p></td>
 </tr>
 <tr>
@@ -923,7 +923,8 @@ notification&amp;setTime=true&amp;setTimeToText=true\&quot;
 
 <p>The following figure shows a decorated push notification.</p>
 
-<p align="center"><img alt="Push Active notification" src="../../images/push_active_notification.png"/></p>
+<p class="figure">Figure: Decorated notification</p> 
+<p align="center"><img alt="Decorated notification" src="../../images/push_active_notification.png"/></p>
 
 <h2 id="error_codes" name="error_codes">Handling Error Codes</h2>
 
index 0721c13..8851096 100644 (file)
@@ -50,6 +50,8 @@
   
   <p>FIDO covers both password-less authentications, such as fingerprint, iris, and voice, and multi-factor authentication, such as OTP and USB dongle. Tizen currently does not support multi-factor authentication.</p>
   <p>FIDO Alliance provides certification for FIDO-compliant products through FIDO Ready&trade;.</p>
+  
+    <p>Before you start, remember to <a href="#prerequisites">prepare your application to use the FIDO functionality</a>.</p>
 
 <h2 id="fido_uaf_components" name="fido_uaf_components">FIDO UAF Components</h2>
   <p>UAF (Universal Authentication Framework) authenticators can be connected to a user device using various physical interfaces, such as SPI, USB, and Bluetooth. The UAF Authenticator-Specific Module (ASM) is a software interface on top of UAF authenticators, which gives a standardized way for the FIDO UAF clients to <a href="#find_auth">detect and access the functionality of UAF authenticators</a>, and hides the internal communication complexity from the clients.</p>
 
 <p>Become familiar with the FIDO Client API basics by learning about:</p>
 <ul>
+               <li><a href="#prerequisites">Prerequisites</a>
+               <p>Prepare your application to use the FIDO functionality.</p></li>
                
                <li><a href="#find_auth">Finding the FIDO Authenticator</a>
                <p>Find the authenticators supported by the device.</p></li>
index e4e1259..3a004cb 100644 (file)
@@ -47,9 +47,9 @@
 <ul>\r
 <li>Privilege name: Privilege description in a simple present participle form.</li>\r
 <li>Privilege description: Detailed information on permissions, including accessible resources and functionality, that the application can get with this privilege. It also contains information related to billing or device performance, such as cost or increase battery usage.</li>\r
-<li>Privacy name: Privacy represents a group of privileges that are related to a certain common feature.</li>\r
+<li>Privacy name: Privacy name represents a group of privileges that are related to a certain common feature.</li>\r
 </ul> \r
-<p>From Tizen 3.0, some privileges are categorized as privacy related and you can switch those privileges on and off based on their preference. You can change certain privileges&#39; status to allow or deny them at device runtime. This means that the application calling that privileged API can be prevented from using it even if the required privilege is declared in its manifest file. For that reason, the APIs have been added for checking the privacy related privilege&#39;s current status and getting the display name of the privacy that includes the privilege. For example, you can use these APIs to check the privilege&#39;s current status before entering a function that requires the privilege, and if the status is off, a guide message, such as &quot;For using this function, go to the settings and turn the Calendar privacy on&quot; is shown.</p>\r
+<p>From Tizen 3.0, some privileges are categorized as privacy-related, and you can switch those privileges on and off based on the user preference. You can change certain privileges&#39; status to allow or deny them at runtime. This means that the application calling a privileged API can be prevented from using it even if the required privilege is declared in its manifest file. Specific APIs can be used to check the privacy-related privilege&#39;s current status and get the display name of the privacy that includes the privilege. For example, you can use the APIs to check the privilege&#39;s current status before entering a function that requires the privilege, and if the status is off, display a guide message to the user to ask them to go to the device settings and switch the required privacy on.</p>\r
 \r
 <p>Before you start, remember to <a href="#prerequisites">prepare your application to use the privilege info functionality</a>.</p>\r
 \r
@@ -60,7 +60,7 @@
                <li><a href="#prerequisites">Prerequisites</a>\r
                <p>Prepare your application to use the privilege info functionality.</p></li>   \r
                <li><a href="#get">Getting Privilege Information</a>\r
-               <p>Get privilege information, such as the privilege description or current status in runtime.</p></li>\r
+               <p>Get privilege information, such as the privilege description or the current status at runtime.</p></li>\r
        </ul>  \r
 \r
 <h2 id="prerequisites">Prerequisites</h2>\r
@@ -119,7 +119,7 @@ int ret = privilege_info_get_privacy_display_name(&quot;http://tizen.org/privile
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;privacy_display_name);\r
 </pre>\r
 </li>\r
-<li>Get the privacy related privilege's status using the <span style="font-family: Courier New,Courier,monospace;">privilege_info_get_privacy_privilege_status()</span> function:\r
+<li>Get the privacy-related privilege&#39;s status using the <span style="font-family: Courier New,Courier,monospace;">privilege_info_get_privacy_privilege_status()</span> function:\r
 <pre class="prettyprint">\r
 bool status = NULL;\r
 int ret = privilege_info_get_privacy_privilege_status(&quot;http://tizen.org/privilege/account.read&quot;,\r
index e3e6d09..c8f0554 100644 (file)
@@ -202,17 +202,17 @@ elm_flipselector_item_selected_set(flip_it, EINA_TRUE);
       </tr>
       <tr>
          <td><span style="font-family: Courier New,Courier,monospace">selected</span></td>
-         <td>The flipselector's selected text item changes.</td>
+         <td>The flipselector&#39;s selected text item changes.</td>
          <td><span style="font-family: Courier New,Courier,monospace;">NULL</span></td>
       </tr>
       <tr>
          <td><span style="font-family: Courier New,Courier,monospace">overflowed</span></td>
-         <td>The flipselector's current selection changes from the first item to the last one.</td>
+         <td>The flipselector&#39;s current selection changes from the first item to the last one.</td>
          <td><span style="font-family: Courier New,Courier,monospace;">NULL</span></td>
       </tr>
       <tr>
          <td><span style="font-family: Courier New,Courier,monospace">underflowed</span></td>
-         <td>The flipselector's current selection changes from the last item to the first one.</td>
+         <td>The flipselector&#39;s current selection changes from the last item to the first one.</td>
          <td><span style="font-family: Courier New,Courier,monospace;">NULL</span></td>
       </tr>
    </tbody> 
index 0e2a2dd..9f7df53 100644 (file)
@@ -43,7 +43,7 @@
 <div id="container"><div id="contents"><div class="content">
 
   <h1>Task: Sensor Ball</h1> 
-  <p>This task, based on the SensorBall sample delivered with the Tizen Studio, demonstrates how you can use the <a href="../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/sensor.html">Sensor</a> API to read and process gyro sensor data. For more information on the sample functionality and creating the sample with the full source code, see the <a href="https://developer.tizen.org/development/sample/web/Sensor/Sensor_Ball" target="blank">Sensor Ball</a>.</p> 
+  <p>This task, based on the SensorBall sample delivered with the Tizen Studio, demonstrates how you can use the <a href="../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/sensor.html">Sensor</a> API to read and process gyro sensor data. For more information on the sample functionality and creating the sample with the full source code, see <a href="https://developer.tizen.org/development/sample/web/Sensor/Sensor_Ball" target="blank">Sensor Ball</a>.</p> 
   <p>This task consists of the following parts:</p> 
   <ul> 
    <li><a href="#layout">Defining the Application Layout</a> defines how to create the application screens.</li>
index 433d5d7..93dc501 100644 (file)
 
 <div id="toc-navigation">
     <div id="profile">
-        <p><img alt="Mobile Web" src="../../../images/mobile_s_w.png"/> <img alt="Wearable Web" src="../../../images/wearable_s_w.png"/></p>
+        <p><img alt="Mobile Web" src="../../../images/mobile_s_w.png"/></p>
     </div>
 
     <div id="toc_border"><div id="toc">
                <p class="toc-title">Dependencies</p>
                <ul class="toc">
                        <li>Tizen 2.4 and Higher for Mobile</li>
-                       <li>Tizen 2.3.1 and Higher for Wearable</li>
                </ul>
         <p class="toc-title">Content</p>
         <ul class="toc">
@@ -36,8 +35,7 @@
         <p class="toc-title">Related Info</p>
         <ul class="toc">
             <li><a href="../../../../../org.tizen.web.apireference/html/ui_fw_api/Mobile_UIComponents/mobile_component_list.htm">UI Component API Reference for Mobile Web</a></li>
-                       <li><a href="../../../../../org.tizen.web.apireference/html/ui_fw_api/Wearable_UIComponents/wearable_component_list.htm">UI Component API Reference for Wearable Web</a></li>
-                       <li><a href="../../../../../org.tizen.web.apireference/html/ui_fw_api/Gesture_Events/gesture.htm">Gesture Events API</a></li>
+                       <li><a href="../../../../../org.tizen.web.apireference/html/ui_fw_api/Gesture_Events/gesture.htm">Gesture Events API for Mobile Web</a></li>                    
         </ul>
     </div></div>
 </div>
@@ -47,7 +45,7 @@
 
 <p>This guide describes the changes required to migrate a TAU element from 2.3 to 2.4.</p>
 
- <p>This feature is supported in mobile and wearable applications only.</p>
+ <p>This feature is supported in mobile applications only.</p>
 
 <p>As the Tizen version number changes, TAU has been updated with new features. When migrating from 2.3 to 2.4, consider the following issues:</p>
 <ul>
@@ -89,7 +87,7 @@
 
 <p>Since Tizen 2.4, it is strongly recommended to use the <span style="font-family: Courier New,Courier,monospace;">class</span> selector to define the components in HTML files. The <span style="font-family: Courier New,Courier,monospace;">&quot;data-role&quot;</span> selector has been deprecated and is no longer supported.</p>
 
-<p>The class selectors in TAU are composed with the <span style="font-family: Courier New,Courier,monospace;">&quot;ui-&quot;</span> prefix and followed by the <span style="font-family: Courier New,Courier,monospace;">&lt;COMPONENT_NAME&gt;</span>. For more information, see the UI Component API Reference (in <a href="../../../../../org.tizen.web.apireference/html/ui_fw_api/Mobile_UIComponents/mobile_component_list.htm">mobile</a> and <a href="../../../../../org.tizen.web.apireference/html/ui_fw_api/Wearable_UIComponents/wearable_component_list.htm">wearable</a> applications).</p>
+<p>The class selectors in TAU are composed with the <span style="font-family: Courier New,Courier,monospace;">&quot;ui-&quot;</span> prefix and followed by the <span style="font-family: Courier New,Courier,monospace;">&lt;COMPONENT_NAME&gt;</span>. For more information, see <a href="../../../../../org.tizen.web.apireference/html/ui_fw_api/Mobile_UIComponents/mobile_component_list.htm">UI Component API Reference</a>.</p>
 <p>The following example shows how to define the UI components before and after:</p>
 <ul>
 <li>Before:
index 1c28e1a..5565547 100644 (file)
 <li><a href="animation_w.htm">Animation</a>
 <p>Enables you to create animations without other animation libraries.</p></li>
 
-<li><a href="tau_porting_w.htm">2.4 Porting Guide</a>
+<li><a href="tau_porting_w.htm">2.4 Porting Guide</a> <strong>in mobile applications only</strong>
 <p>Enables you to migrate a TAU element from Tizen version 2.3 to 2.4.</p></li>
 </ul>
 
index c548667..22bb17a 100644 (file)
@@ -44,7 +44,7 @@
 <div id="container"><div id="contents"><div class="content">
 
   <h1>Task: Self Camera</h1>
-  <p>This task, based on the SelfCamera sample delivered with the Tizen Studio, demonstrates how you can use the <a href="../../../../../org.tizen.web.apireference/html/w3c_api/w3c_api_m.html#getusermedia">getUserMedia</a> API to access and display the camera video stream, and capture a single photo. For more information on the sample functionality and creating the sample with the full source code, see the <a href="https://developer.tizen.org/development/sample/web/Multimedia/Self_Camera" target="blank">Self Camera</a>.</p>
+  <p>This task, based on the SelfCamera sample delivered with the Tizen Studio, demonstrates how you can use the <a href="../../../../../org.tizen.web.apireference/html/w3c_api/w3c_api_m.html#getusermedia">getUserMedia</a> API to access and display the camera video stream, and capture a single photo. For more information on the sample functionality and creating the sample with the full source code, see <a href="https://developer.tizen.org/development/sample/web/Multimedia/Self_Camera" target="blank">Self Camera</a>.</p>
   <p>This task consists of the following parts:</p>
   <ul>
    <li><a href="#layout">Defining the Application Layout</a> defines how to create the application screens. </li>