[Application] Adjust html to new standards 06/123106/4
authorLukasz Bardeli <l.bardeli@samsung.com>
Wed, 10 May 2017 06:48:16 +0000 (08:48 +0200)
committerLukasz Bardeli <l.bardeli@samsung.com>
Wed, 10 May 2017 06:48:16 +0000 (08:48 +0200)
Change-Id: I80819ac2dcbf041dc9ac11a10a5cccfcadbdd8cc
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
org.tizen.web.apireference/html/device_api/mobile/tizen/application.html
org.tizen.web.apireference/html/device_api/tv/tizen/application.html
org.tizen.web.apireference/html/device_api/wearable/tizen/application.html

index 2ffc740..c0d8a8d 100644 (file)
@@ -94,7 +94,9 @@ For more information on the Application features, see <a href="https://developer
 </li>
 <li>2.17. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.18. <a href="#EventInfo">EventInfo</a>
+<li>2.18. <a href="#StatusEventCallback">StatusEventCallback</a>
+</li>
+<li>2.19. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -133,8 +135,8 @@ For more information on the Application features, see <a href="https://developer
 <div>DOMString <a href="#ApplicationManager::getAppSharedURI">getAppSharedURI</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
 <div>
 <a href="#ApplicationMetaData">ApplicationMetaData</a>[] <a href="#ApplicationManager::getAppMetaData">getAppMetaData</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
-<div class="deprecated">long <a href="#ApplicationManager::addAppInfoEventListener">addAppInfoEventListener</a> (<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback)</div>
-<div class="deprecated">void <a href="#ApplicationManager::removeAppInfoEventListener">removeAppInfoEventListener</a> (long watchId)</div>
+<div>long <a href="#ApplicationManager::addAppStatusChangeListener">addAppStatusChangeListener</a> (<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId)</div>
+<div>void <a href="#ApplicationManager::removeAppStatusChangeListener">removeAppStatusChangeListener</a> (long watchId)</div>
 </td>
 </tr>
 <tr>
@@ -217,6 +219,10 @@ For more information on the Application features, see <a href="https://developer
 <td><div>void <a href="#EventCallback::onevent">onevent</a> (<a href="#EventInfo">EventInfo</a> event, <a href="#EventData">EventData</a> data)</div></td>
 </tr>
 <tr>
+<td><a href="#StatusEventCallback">StatusEventCallback</a></td>
+<td><div>void <a href="#StatusEventCallback::onchange">onchange</a> (<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive)</div></td>
+</tr>
+<tr>
 <td><a href="#EventInfo">EventInfo</a></td>
 <td></td>
 </tr>
@@ -355,9 +361,9 @@ The <em>tizen.application </em>object allows access to the Application API's fun
 
     <a href="#ApplicationMetaData">ApplicationMetaData</a>[] getAppMetaData(optional <a href="#ApplicationId">ApplicationId</a>? id) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    long addAppInfoEventListener(<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    void removeAppInfoEventListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    void removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
   };</pre>
 <p><span class="version">
             Since: </span>
@@ -379,6 +385,9 @@ The <em>tizen.application </em>object allows access to the Application API's fun
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="returntype">
 <p><span class="return">Return value:</span></p>
  Application The data structure that defines the current application.
@@ -465,21 +474,21 @@ UnknownError - If any other error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onKillSuccess()
 {
-   console.log("Application terminated successfully");
+&nbsp;&nbsp;console.log("Application terminated successfully");
 }
 
 function onRunningAppsContext(contexts)
 {
-   /* Let's assume that the application "targetApp0.main" has been installed */
-   var targetId = "targetApp0.main";
-
-   for (var i = 0; i &lt; contexts.length; i++)
-   {
-      if (contexts[i].appId == targetId)
-      {
-         tizen.application.kill(contexts[i].id, onKillSuccess);
-      }
-   }
+&nbsp;&nbsp;/* Let's assume that the application "targetApp0.main" has been installed */
+&nbsp;&nbsp;var targetId = "targetApp0.main";
+
+&nbsp;&nbsp;for (var i = 0; i &lt; contexts.length; i++)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;if (contexts[i].appId == targetId)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tizen.application.kill(contexts[i].id, onKillSuccess);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
 }
 
 tizen.application.getAppsContext(onRunningAppsContext);
@@ -551,7 +560,7 @@ UnknownError - If any other error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onsuccess()
 {
-   console.log("The application has launched successfully");
+&nbsp;&nbsp;console.log("The application has launched successfully");
 }
 
 /* Let's assume that application "targetApp0.main" has been installed */
@@ -652,30 +661,30 @@ UnknownError: If any other error occurs.              </li>
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 var appControlReplyCallback =
 {
-   /* Callee sent a reply */
-   onsuccess: function(data)
-   {
-      for (var i = 0; i &lt; data.length; i++)
-      {
-         if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-            console.log('Selected image is ' + data[i].value[0]);
-      }
-   },
-   /* Callee returned failure */
-   onfailure: function()
-   {
-      console.log('The launch application control failed');
-   }
+&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;},
+&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;}
 }
 
 tizen.application.launchAppControl(appControl, null,
-                                   function() {console.log("launch application control succeed");},
-                                   function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                   appControlReplyCallback);
+&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;function() {console.log("launch application control succeed");},
+&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;function(e) {console.log("launch application control failed. reason: " + e.message);},
+&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;appControlReplyCallback);
 </pre>
 </div>
 </dd>
@@ -733,35 +742,35 @@ UnknownError - If any other error occurs.              </li>
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 function successCB(appInfos, appControl)
 {
-   /* appControl is same object with the value passed as first parameter to findAppControl() */
-   var appControlReplyCallback =
-   {
-      /* Callee sent a reply */
-      onsuccess: function(data)
-      {
-         for (var i = 0; i &lt; data.length; i++)
-         {
-            if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-               console.log('Selected image is ' + data[i].value[0]);
-         }
-      },
-      /* Callee returned failure */
-      onfailure: function()
-      {
-         console.log('The launch application control failed');
-      }
-   }
-
-   var appId = appInfos[0].id; /* Select first app's id */
-
-   tizen.application.launchAppControl(appControl, appId,
-                                      function() {console.log("launch application control succeed");},
-                                      function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                      appControlReplyCallback);
+&nbsp;&nbsp;/* appControl is same object with the value passed as first parameter to findAppControl() */
+&nbsp;&nbsp;var appControlReplyCallback =
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;},
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var appId = appInfos[0].id; /* Select first app's id */
+
+&nbsp;&nbsp;tizen.application.launchAppControl(appControl, appId,
+&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;function() {console.log("launch application control succeed"); },
+&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;function(e) {console.log("launch application control failed. reason: " + e.message); },
+&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;appControlReplyCallback);
 }
 
 tizen.application.findAppControl(appControl, successCB);
@@ -815,8 +824,8 @@ UnknownError - If an unknown error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onRunningAppsContext(contexts)
 {
-   for (var i = 0; i &lt; contexts.length; i++)
-      console.log("ID: " + contexts[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; contexts.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + contexts[i].id);
 }
 
 tizen.application.getAppsContext(onRunningAppsContext);
@@ -917,8 +926,8 @@ UnknownError - If an unknown error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onListInstalledApps(applications)
 {
-   for (var i = 0; i &lt; applications.length; i++)
-      console.log("ID: " + applications[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; applications.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + applications[i].id);
 }
 
 tizen.application.getAppsInfo(onListInstalledApps);
@@ -1059,8 +1068,8 @@ var appCerts = tizen.application.getAppCerts(null);
 
 for (var i = 0; i &lt; appCerts.length; i++)
 {
-   console.log("#" + i + " type:" + appCerts[i].type);
-   console.log("#" + i + " value:" + appCerts[i].value);
+&nbsp;&nbsp;console.log("#" + i + " type:" + appCerts[i].type);
+&nbsp;&nbsp;console.log("#" + i + " value:" + appCerts[i].value);
 }
 </pre>
 </div>
@@ -1244,18 +1253,18 @@ with the corresponding listener identifier.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </pre>
@@ -1303,24 +1312,137 @@ applications on a device.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 tizen.application.removeAppInfoEventListener(watchId);
 </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::addAppStatusChangeListener">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::addAppStatusChangeListener"></a><code><b><span class="methodName">addAppStatusChangeListener</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Adds a listener for receiving any notification for status changes of the installed applications on a device.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">eventCallback</span>:
+ The method to call when status of the installed applications is changed.
+                </li>
+          <li class="param">
+<span class="name">appId</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The id of the application which status changes should be monitored. If the application id is ommitted or it is equal to <em>null</em>, all applications status changes will be monitored.
+                </li>
+        </ul>
+</div>
+<div class="returntype">
+<p><span class="return">Return value:</span></p>
+ long Listener id that can be used to remove the listener later.
+              </div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if the application id parameter is an empty string.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if it fails to add a listener.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function appStatusEventCallback(appId, isActive)
+{
+&nbsp;&nbsp;console.log("The application " + appId + " has been " + (isActive ? "activated" : "deactivated"));
+}
+
+var watchId = tizen.application.addAppStatusChangeListener(appStatusEventCallback);
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> The application testAppId has been activated
+ </pre>
+</div>
+</dd>
+<dt class="method" id="ApplicationManager::removeAppStatusChangeListener">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::removeAppStatusChangeListener"></a><code><b><span class="methodName">removeAppStatusChangeListener</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Removes the listener to stop receiving notifications for status changes of the installed applications on a device.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void removeAppStatusChangeListener(long watchId);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">watchId</span>:
+ An ID that identifies the listener.
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
+ with error type AbortError, if it fails to remove listener.
+                </p></li></ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function appStatusEventCallback(appId, isActive)
+{
+&nbsp;&nbsp;console.log("The application " + appId + " has been " + (isActive ? "activated" : "deactivated"));
+}
+
+try
+{
+&nbsp;&nbsp;var watchId = tizen.application.addAppStatusChangeListener(appStatusEventCallback);
+&nbsp;&nbsp;tizen.application.removeAppStatusChangeListener(watchId);
+&nbsp;&nbsp;console.log("Listener with id " + watchId + " has been removed");
+}
+catch (err)
+{
+&nbsp;&nbsp;console.log("Exception: " + err.name);
+}
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> Listener with id 1 has been removed
+ </pre>
+</div>
+</dd>
 </dl>
 </div>
 </div>
@@ -1395,6 +1517,9 @@ the basic operations (such as exit or hide) for the current application.
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="exceptionlist">
 <p><span class="except">Exceptions:</span></p>
           <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
@@ -1423,6 +1548,9 @@ app.exit();
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="exceptionlist">
 <p><span class="except">Exceptions:</span></p>
           <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
@@ -1463,6 +1591,9 @@ responsible for checking the contents of the application control and responding
 appropriately when it is launched.
             </p>
            </div>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="returntype">
 <p><span class="return">Return value:</span></p>
  RequestedApplicationControl The details of a requested application control
@@ -1480,7 +1611,7 @@ var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppCon
 
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
 }
 </pre>
 </div>
@@ -1540,25 +1671,25 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   if (appId)
-   {
-      var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
-      {
-         console.log("Data: " + JSON.stringify(data));
-         /* Do something */
-      });
-   }
+&nbsp;&nbsp;var appId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Data: " + JSON.stringify(data));
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Do something */
+&nbsp;&nbsp;&nbsp;&nbsp;});
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -1601,29 +1732,29 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-   var watchId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   if (appId)
-   {
-      watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
-      {
-         if (watchId)
-         {
-            app.removeEventListener(watchId);
-            watchId = null;
-         }
-      });
-   }
+&nbsp;&nbsp;var appId = null;
+&nbsp;&nbsp;var watchId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (watchId)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;app.removeEventListener(watchId);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watchId = null;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;});
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -1676,7 +1807,7 @@ An application can listen to events from other applications. However, it can onl
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var myCustomData =
 {
-   foo: 'bar'
+&nbsp;&nbsp;foo: 'bar'
 };
 
 var app = tizen.application.getCurrentApplication();
@@ -1732,7 +1863,7 @@ An application can listen to events from other applications. However, it can onl
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var myTrustedCustomData =
 {
-   foo: 'bar'
+&nbsp;&nbsp;foo: 'bar'
 };
 
 var app = tizen.application.getCurrentApplication();
@@ -2013,8 +2144,8 @@ and launches the selected application.
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/view",
-                                              null, "image/jpeg", null,
-                                              [new tizen.ApplicationControlData("images", [imagedata1, imagedata2])]);
+&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;null, "image/jpeg", null,
+&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;[new tizen.ApplicationControlData("images", [imagedata1, imagedata2])]);
 </pre>
 </div>
 <div class="constructors">
@@ -2177,14 +2308,14 @@ It contains the information that the calling application passed to <em>launchApp
 var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppControl();
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
-
-   var appControl = reqAppControl.appControl;
-   if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
-   {
-      var data = new tizen.ApplicationControlData("http://tizen.org/appcontrol/data/selected", ["Image1.jpg"]);
-      reqAppControl.replyResult([data]);
-   }
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
+
+&nbsp;&nbsp;var appControl = reqAppControl.appControl;
+&nbsp;&nbsp;if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var data = new tizen.ApplicationControlData("http://tizen.org/appcontrol/data/selected", ["Image1.jpg"]);
+&nbsp;&nbsp;&nbsp;&nbsp;reqAppControl.replyResult([data]);
+&nbsp;&nbsp;}
 }
 </pre>
 </div>
@@ -2220,13 +2351,13 @@ to perform the requested action.
 var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppControl();
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
 
-   var appControl = reqAppControl.appControl;
-   if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
-   {
-      reqAppControl.replyFailure();
-   }
+&nbsp;&nbsp;var appControl = reqAppControl.appControl;
+&nbsp;&nbsp;if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;reqAppControl.replyFailure();
+&nbsp;&nbsp;}
 }
 </pre>
 </div>
@@ -2363,8 +2494,8 @@ This callback interface specifies a success method with an array of
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onListInstalledApps(applications)
 {
-   for (var i = 0; i &lt; applications.length; i++)
-      console.log("ID: " + applications[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; applications.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + applications[i].id);
 }
 
 tizen.application.getAppsInfo(onListInstalledApps);
@@ -2424,36 +2555,36 @@ It is used in <em>ApplicationManager.findAppControl()</em>.
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 /* FindAppControlSuccessCallback instance */
 function successCB(appInfos, appControl)
 {
-   /* appControl is same object with the value passed as first parameter to findAppControl() */
-   var appControlReplyCallback =
-   {
-      /* Callee sent a reply */
-      onsuccess: function(data)
-      {
-         for (var i = 0; i &lt; data.length; i++)
-         {
-            if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-               console.log('Selected image is ' + data[i].value[0]);
-         }
-      },
-      /* Callee returned failure */
-      onfailure: function()
-      {
-         console.log('The launch application control failed');
-      }
-   }
-
-   var appId = appInfos[0].id; /* Select first app's id */
-
-   tizen.application.launchAppControl(appControl, appId,
-                                      function() {console.log("launch application control succeed");},
-                                      function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                      appControlReplyCallback);
+&nbsp;&nbsp;/* appControl is same object with the value passed as first parameter to findAppControl() */
+&nbsp;&nbsp;var appControlReplyCallback =
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;},
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var appId = appInfos[0].id; /* Select first app's id */
+
+&nbsp;&nbsp;tizen.application.launchAppControl(appControl, appId,
+&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;function() {console.log("launch application control succeed"); },
+&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;function(e) {console.log("launch application control failed. reason: " + e.message); },
+&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;appControlReplyCallback);
 }
 
 tizen.application.findAppControl(appControl, successCB);
@@ -2538,31 +2669,31 @@ This callback interface specifies two methods:
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 /* ApplicationControlDataArrayReplyCallback instance */
 var appControlReplyCallback =
 {
-   /* Callee sent a reply */
-   onsuccess: function(data)
-   {
-      for (var i = 0; i &lt; data.length; i++)
-      {
-         if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-            console.log('Selected image is ' + data[i].value[0]);
-      }
-   },
-   /* Callee returned failure */
-   onfailure: function()
-   {
-      console.log('The launch application control failed');
-   }
+&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;},
+&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;}
 }
 
 tizen.application.launchAppControl(appControl, null,
-                                   function() {console.log("launch application control succeed");},
-                                   function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                   appControlReplyCallback);
+&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;function() {console.log("launch application control succeed");},
+&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;function(e) {console.log("launch application control failed. reason: " + e.message);},
+&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;appControlReplyCallback);
 </pre>
 </div>
 <div class="methods">
@@ -2635,18 +2766,18 @@ an application is installed, updated, or uninstalled.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </pre>
@@ -2794,27 +2925,27 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   var eventCB = function(event, data)
-   {
-      console.log("Data: " + JSON.stringify(data));
-      /* Do something */
-   };
-
-   if (appId)
-   {
-      var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, eventCB);
-   }
+&nbsp;&nbsp;var appId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var eventCB = function(event, data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("Data: " + JSON.stringify(data));
+&nbsp;&nbsp;&nbsp;&nbsp;/* Do something */
+&nbsp;&nbsp;};
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, eventCB);
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -2823,8 +2954,58 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </dl>
 </div>
 </div>
+<div class="interface" id="StatusEventCallback">
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.18. StatusEventCallback</h3>
+<div class="brief">
+ The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
+          </div>
+<pre class="webidl prettyprint">  [Callback=FunctionOnly, NoInterfaceObject] interface StatusEventCallback {
+    void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="StatusEventCallback::onchange">
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback::onchange"></a><code><b><span class="methodName">onchange</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when the status event occurs.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+Example of using can be find at <a href="application.html#ApplicationManager::addAppStatusChangeListener">addAppStatusChangeListener</a> code example.
+            </p>
+           </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">appId</span>:
+ Id of the application that status has been changed.
+                </li>
+          <li class="param">
+<span class="name">isActive</span>:
+ The new status of the application.
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 <div class="dictionary" id="EventInfo">
-<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.18. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.19. EventInfo</h3>
 <div class="brief">
  The EventInfo dictionary identifies an event with information such as event name. If it is an user event, the broadasting application's identifier is also specified.
           </div>
@@ -2939,9 +3120,9 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
 
     <a href="#ApplicationMetaData">ApplicationMetaData</a>[] getAppMetaData(optional <a href="#ApplicationId">ApplicationId</a>? id) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    long addAppInfoEventListener(<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    void removeAppInfoEventListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    void removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
   };
 
   [NoInterfaceObject] interface Application {
@@ -3080,6 +3261,10 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
     void onevent(<a href="#EventInfo">EventInfo</a> event, <a href="#EventData">EventData</a> data);
   };
 
+  [Callback=FunctionOnly, NoInterfaceObject] interface StatusEventCallback {
+    void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+  };
+
   dictionary EventInfo {
     <a href="#ApplicationId">ApplicationId</a> appId;
 
index cf7b180..5493f61 100644 (file)
@@ -93,7 +93,9 @@ For more information on the Application features, see <a href="../../org.tizen.m
 </li>
 <li>2.17. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.18. <a href="#EventInfo">EventInfo</a>
+<li>2.18. <a href="#StatusEventCallback">StatusEventCallback</a>
+</li>
+<li>2.19. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -132,8 +134,8 @@ For more information on the Application features, see <a href="../../org.tizen.m
 <div>DOMString <a href="#ApplicationManager::getAppSharedURI">getAppSharedURI</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
 <div>
 <a href="#ApplicationMetaData">ApplicationMetaData</a>[] <a href="#ApplicationManager::getAppMetaData">getAppMetaData</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
-<div class="deprecated">long <a href="#ApplicationManager::addAppInfoEventListener">addAppInfoEventListener</a> (<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback)</div>
-<div class="deprecated">void <a href="#ApplicationManager::removeAppInfoEventListener">removeAppInfoEventListener</a> (long watchId)</div>
+<div>long <a href="#ApplicationManager::addAppStatusChangeListener">addAppStatusChangeListener</a> (<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId)</div>
+<div>void <a href="#ApplicationManager::removeAppStatusChangeListener">removeAppStatusChangeListener</a> (long watchId)</div>
 </td>
 </tr>
 <tr>
@@ -216,6 +218,10 @@ For more information on the Application features, see <a href="../../org.tizen.m
 <td><div>void <a href="#EventCallback::onevent">onevent</a> (<a href="#EventInfo">EventInfo</a> event, <a href="#EventData">EventData</a> data)</div></td>
 </tr>
 <tr>
+<td><a href="#StatusEventCallback">StatusEventCallback</a></td>
+<td><div>void <a href="#StatusEventCallback::onchange">onchange</a> (<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive)</div></td>
+</tr>
+<tr>
 <td><a href="#EventInfo">EventInfo</a></td>
 <td></td>
 </tr>
@@ -354,9 +360,9 @@ The <em>tizen.application </em>object allows access to the Application API's fun
 
     <a href="#ApplicationMetaData">ApplicationMetaData</a>[] getAppMetaData(optional <a href="#ApplicationId">ApplicationId</a>? id) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    long addAppInfoEventListener(<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    void removeAppInfoEventListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    void removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
   };</pre>
 <p><span class="version">
             Since: </span>
@@ -378,6 +384,9 @@ The <em>tizen.application </em>object allows access to the Application API's fun
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="returntype">
 <p><span class="return">Return value:</span></p>
  Application The data structure that defines the current application.
@@ -464,21 +473,21 @@ UnknownError - If any other error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onKillSuccess()
 {
-   console.log("Application terminated successfully");
+&nbsp;&nbsp;console.log("Application terminated successfully");
 }
 
 function onRunningAppsContext(contexts)
 {
-   /* Let's assume that the application "targetApp0.main" has been installed */
-   var targetId = "targetApp0.main";
-
-   for (var i = 0; i &lt; contexts.length; i++)
-   {
-      if (contexts[i].appId == targetId)
-      {
-         tizen.application.kill(contexts[i].id, onKillSuccess);
-      }
-   }
+&nbsp;&nbsp;/* Let's assume that the application "targetApp0.main" has been installed */
+&nbsp;&nbsp;var targetId = "targetApp0.main";
+
+&nbsp;&nbsp;for (var i = 0; i &lt; contexts.length; i++)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;if (contexts[i].appId == targetId)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tizen.application.kill(contexts[i].id, onKillSuccess);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
 }
 
 tizen.application.getAppsContext(onRunningAppsContext);
@@ -550,7 +559,7 @@ UnknownError - If any other error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onsuccess()
 {
-   console.log("The application has launched successfully");
+&nbsp;&nbsp;console.log("The application has launched successfully");
 }
 
 /* Let's assume that application "targetApp0.main" has been installed */
@@ -651,30 +660,30 @@ UnknownError: If any other error occurs.              </li>
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 var appControlReplyCallback =
 {
-   /* Callee sent a reply */
-   onsuccess: function(data)
-   {
-      for (var i = 0; i &lt; data.length; i++)
-      {
-         if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-            console.log('Selected image is ' + data[i].value[0]);
-      }
-   },
-   /* Callee returned failure */
-   onfailure: function()
-   {
-      console.log('The launch application control failed');
-   }
+&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;},
+&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;}
 }
 
 tizen.application.launchAppControl(appControl, null,
-                                   function() {console.log("launch application control succeed");},
-                                   function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                   appControlReplyCallback);
+&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;function() {console.log("launch application control succeed");},
+&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;function(e) {console.log("launch application control failed. reason: " + e.message);},
+&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;appControlReplyCallback);
 </pre>
 </div>
 </dd>
@@ -732,35 +741,35 @@ UnknownError - If any other error occurs.              </li>
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 function successCB(appInfos, appControl)
 {
-   /* appControl is same object with the value passed as first parameter to findAppControl() */
-   var appControlReplyCallback =
-   {
-      /* Callee sent a reply */
-      onsuccess: function(data)
-      {
-         for (var i = 0; i &lt; data.length; i++)
-         {
-            if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-               console.log('Selected image is ' + data[i].value[0]);
-         }
-      },
-      /* Callee returned failure */
-      onfailure: function()
-      {
-         console.log('The launch application control failed');
-      }
-   }
-
-   var appId = appInfos[0].id; /* Select first app's id */
-
-   tizen.application.launchAppControl(appControl, appId,
-                                      function() {console.log("launch application control succeed");},
-                                      function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                      appControlReplyCallback);
+&nbsp;&nbsp;/* appControl is same object with the value passed as first parameter to findAppControl() */
+&nbsp;&nbsp;var appControlReplyCallback =
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;},
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var appId = appInfos[0].id; /* Select first app's id */
+
+&nbsp;&nbsp;tizen.application.launchAppControl(appControl, appId,
+&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;function() {console.log("launch application control succeed"); },
+&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;function(e) {console.log("launch application control failed. reason: " + e.message); },
+&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;appControlReplyCallback);
 }
 
 tizen.application.findAppControl(appControl, successCB);
@@ -814,8 +823,8 @@ UnknownError - If an unknown error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onRunningAppsContext(contexts)
 {
-   for (var i = 0; i &lt; contexts.length; i++)
-      console.log("ID: " + contexts[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; contexts.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + contexts[i].id);
 }
 
 tizen.application.getAppsContext(onRunningAppsContext);
@@ -916,8 +925,8 @@ UnknownError - If an unknown error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onListInstalledApps(applications)
 {
-   for (var i = 0; i &lt; applications.length; i++)
-      console.log("ID: " + applications[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; applications.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + applications[i].id);
 }
 
 tizen.application.getAppsInfo(onListInstalledApps);
@@ -1058,8 +1067,8 @@ var appCerts = tizen.application.getAppCerts(null);
 
 for (var i = 0; i &lt; appCerts.length; i++)
 {
-   console.log("#" + i + " type:" + appCerts[i].type);
-   console.log("#" + i + " value:" + appCerts[i].value);
+&nbsp;&nbsp;console.log("#" + i + " type:" + appCerts[i].type);
+&nbsp;&nbsp;console.log("#" + i + " value:" + appCerts[i].value);
 }
 </pre>
 </div>
@@ -1186,8 +1195,7 @@ console.log("size of metadata: " + metaDataArray.length);
 on a device.
             </div>
 <p class="deprecated"><b>Deprecated.</b>
- Deprecated since 2.4.
-Instead, let the app developers set a listener for getting notified for the changes(add/remove/update) of applications on a device using <a href="./package.html#PackageManager::setPackageInfoEventListener">tizen.package.setPackageInfoEventListener()</a>.
+ Deprecated since 2.4. Instead, <a href="./package.html#PackageManager::setPackageInfoEventListener">tizen.package.setPackageInfoEventListener()</a> allows the app developers to set a listener for getting notified for the changes(add/remove/update) of applications on a device.
             </p>
 <div class="synopsis"><pre class="signature prettyprint">long addAppInfoEventListener(<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback);
              </pre></div>
@@ -1244,18 +1252,18 @@ with the corresponding listener identifier.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </pre>
@@ -1270,8 +1278,7 @@ var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 applications on a device.
             </div>
 <p class="deprecated"><b>Deprecated.</b>
- Deprecated since 2.4.
-Instead, you can use <a href="./package.html#PackageManager::unsetPackageInfoEventListener">tizen.package.unsetPackageInfoEventListener()</a>.
+ Deprecated since 2.4. Instead, use <a href="./package.html#PackageManager::unsetPackageInfoEventListener">tizen.package.unsetPackageInfoEventListener()</a>.
             </p>
 <div class="synopsis"><pre class="signature prettyprint">void removeAppInfoEventListener(long watchId);
              </pre></div>
@@ -1304,24 +1311,137 @@ Instead, you can use <a href="./package.html#PackageManager::unsetPackageInfoEve
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 tizen.application.removeAppInfoEventListener(watchId);
 </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::addAppStatusChangeListener">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::addAppStatusChangeListener"></a><code><b><span class="methodName">addAppStatusChangeListener</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Adds a listener for receiving any notification for status changes of the installed applications on a device.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">eventCallback</span>:
+ The method to call when status of the installed applications is changed.
+                </li>
+          <li class="param">
+<span class="name">appId</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The id of the application which status changes should be monitored. If the application id is ommitted or it is equal to <em>null</em>, all applications status changes will be monitored.
+                </li>
+        </ul>
+</div>
+<div class="returntype">
+<p><span class="return">Return value:</span></p>
+ long Listener id that can be used to remove the listener later.
+              </div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if the application id parameter is an empty string.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if it fails to add a listener.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function appStatusEventCallback(appId, isActive)
+{
+&nbsp;&nbsp;console.log("The application " + appId + " has been " + (isActive ? "activated" : "deactivated"));
+}
+
+var watchId = tizen.application.addAppStatusChangeListener(appStatusEventCallback);
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> The application testAppId has been activated
+ </pre>
+</div>
+</dd>
+<dt class="method" id="ApplicationManager::removeAppStatusChangeListener">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::removeAppStatusChangeListener"></a><code><b><span class="methodName">removeAppStatusChangeListener</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Removes the listener to stop receiving notifications for status changes of the installed applications on a device.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void removeAppStatusChangeListener(long watchId);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">watchId</span>:
+ An ID that identifies the listener.
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
+ with error type AbortError, if it fails to remove listener.
+                </p></li></ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function appStatusEventCallback(appId, isActive)
+{
+&nbsp;&nbsp;console.log("The application " + appId + " has been " + (isActive ? "activated" : "deactivated"));
+}
+
+try
+{
+&nbsp;&nbsp;var watchId = tizen.application.addAppStatusChangeListener(appStatusEventCallback);
+&nbsp;&nbsp;tizen.application.removeAppStatusChangeListener(watchId);
+&nbsp;&nbsp;console.log("Listener with id " + watchId + " has been removed");
+}
+catch (err)
+{
+&nbsp;&nbsp;console.log("Exception: " + err.name);
+}
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> Listener with id 1 has been removed
+ </pre>
+</div>
+</dd>
 </dl>
 </div>
 </div>
@@ -1396,6 +1516,9 @@ the basic operations (such as exit or hide) for the current application.
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="exceptionlist">
 <p><span class="except">Exceptions:</span></p>
           <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
@@ -1424,6 +1547,9 @@ app.exit();
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="exceptionlist">
 <p><span class="except">Exceptions:</span></p>
           <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
@@ -1464,6 +1590,9 @@ responsible for checking the contents of the application control and responding
 appropriately when it is launched.
             </p>
            </div>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="returntype">
 <p><span class="return">Return value:</span></p>
  RequestedApplicationControl The details of a requested application control
@@ -1481,7 +1610,7 @@ var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppCon
 
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
 }
 </pre>
 </div>
@@ -1541,25 +1670,25 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   if (appId)
-   {
-      var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
-      {
-         console.log("Data: " + JSON.stringify(data));
-         /* Do something */
-      });
-   }
+&nbsp;&nbsp;var appId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Data: " + JSON.stringify(data));
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Do something */
+&nbsp;&nbsp;&nbsp;&nbsp;});
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -1602,29 +1731,29 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-   var watchId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   if (appId)
-   {
-      watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
-      {
-         if (watchId)
-         {
-            app.removeEventListener(watchId);
-            watchId = null;
-         }
-      });
-   }
+&nbsp;&nbsp;var appId = null;
+&nbsp;&nbsp;var watchId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (watchId)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;app.removeEventListener(watchId);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watchId = null;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;});
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -1677,7 +1806,7 @@ An application can listen to events from other applications. However, it can onl
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var myCustomData =
 {
-   foo: 'bar'
+&nbsp;&nbsp;foo: 'bar'
 };
 
 var app = tizen.application.getCurrentApplication();
@@ -1733,7 +1862,7 @@ An application can listen to events from other applications. However, it can onl
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var myTrustedCustomData =
 {
-   foo: 'bar'
+&nbsp;&nbsp;foo: 'bar'
 };
 
 var app = tizen.application.getCurrentApplication();
@@ -2014,8 +2143,8 @@ and launches the selected application.
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/view",
-                                              null, "image/jpeg", null,
-                                              [new tizen.ApplicationControlData("images", [imagedata1, imagedata2])]);
+&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;null, "image/jpeg", null,
+&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;[new tizen.ApplicationControlData("images", [imagedata1, imagedata2])]);
 </pre>
 </div>
 <div class="constructors">
@@ -2178,14 +2307,14 @@ It contains the information that the calling application passed to <em>launchApp
 var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppControl();
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
-
-   var appControl = reqAppControl.appControl;
-   if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
-   {
-      var data = new tizen.ApplicationControlData("http://tizen.org/appcontrol/data/selected", ["Image1.jpg"]);
-      reqAppControl.replyResult([data]);
-   }
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
+
+&nbsp;&nbsp;var appControl = reqAppControl.appControl;
+&nbsp;&nbsp;if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var data = new tizen.ApplicationControlData("http://tizen.org/appcontrol/data/selected", ["Image1.jpg"]);
+&nbsp;&nbsp;&nbsp;&nbsp;reqAppControl.replyResult([data]);
+&nbsp;&nbsp;}
 }
 </pre>
 </div>
@@ -2221,13 +2350,13 @@ to perform the requested action.
 var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppControl();
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
 
-   var appControl = reqAppControl.appControl;
-   if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
-   {
-      reqAppControl.replyFailure();
-   }
+&nbsp;&nbsp;var appControl = reqAppControl.appControl;
+&nbsp;&nbsp;if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;reqAppControl.replyFailure();
+&nbsp;&nbsp;}
 }
 </pre>
 </div>
@@ -2364,8 +2493,8 @@ This callback interface specifies a success method with an array of
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onListInstalledApps(applications)
 {
-   for (var i = 0; i &lt; applications.length; i++)
-      console.log("ID: " + applications[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; applications.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + applications[i].id);
 }
 
 tizen.application.getAppsInfo(onListInstalledApps);
@@ -2425,36 +2554,36 @@ It is used in <em>ApplicationManager.findAppControl()</em>.
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 /* FindAppControlSuccessCallback instance */
 function successCB(appInfos, appControl)
 {
-   /* appControl is same object with the value passed as first parameter to findAppControl() */
-   var appControlReplyCallback =
-   {
-      /* Callee sent a reply */
-      onsuccess: function(data)
-      {
-         for (var i = 0; i &lt; data.length; i++)
-         {
-            if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-               console.log('Selected image is ' + data[i].value[0]);
-         }
-      },
-      /* Callee returned failure */
-      onfailure: function()
-      {
-         console.log('The launch application control failed');
-      }
-   }
-
-   var appId = appInfos[0].id; /* Select first app's id */
-
-   tizen.application.launchAppControl(appControl, appId,
-                                      function() {console.log("launch application control succeed");},
-                                      function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                      appControlReplyCallback);
+&nbsp;&nbsp;/* appControl is same object with the value passed as first parameter to findAppControl() */
+&nbsp;&nbsp;var appControlReplyCallback =
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;},
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var appId = appInfos[0].id; /* Select first app's id */
+
+&nbsp;&nbsp;tizen.application.launchAppControl(appControl, appId,
+&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;function() {console.log("launch application control succeed"); },
+&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;function(e) {console.log("launch application control failed. reason: " + e.message); },
+&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;appControlReplyCallback);
 }
 
 tizen.application.findAppControl(appControl, successCB);
@@ -2539,31 +2668,31 @@ This callback interface specifies two methods:
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 /* ApplicationControlDataArrayReplyCallback instance */
 var appControlReplyCallback =
 {
-   /* Callee sent a reply */
-   onsuccess: function(data)
-   {
-      for (var i = 0; i &lt; data.length; i++)
-      {
-         if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-            console.log('Selected image is ' + data[i].value[0]);
-      }
-   },
-   /* Callee returned failure */
-   onfailure: function()
-   {
-      console.log('The launch application control failed');
-   }
+&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;},
+&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;}
 }
 
 tizen.application.launchAppControl(appControl, null,
-                                   function() {console.log("launch application control succeed");},
-                                   function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                   appControlReplyCallback);
+&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;function() {console.log("launch application control succeed");},
+&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;function(e) {console.log("launch application control failed. reason: " + e.message);},
+&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;appControlReplyCallback);
 </pre>
 </div>
 <div class="methods">
@@ -2636,18 +2765,18 @@ an application is installed, updated, or uninstalled.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </pre>
@@ -2795,27 +2924,27 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   var eventCB = function(event, data)
-   {
-      console.log("Data: " + JSON.stringify(data));
-      /* Do something */
-   };
-
-   if (appId)
-   {
-      var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, eventCB);
-   }
+&nbsp;&nbsp;var appId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var eventCB = function(event, data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("Data: " + JSON.stringify(data));
+&nbsp;&nbsp;&nbsp;&nbsp;/* Do something */
+&nbsp;&nbsp;};
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, eventCB);
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -2824,8 +2953,58 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </dl>
 </div>
 </div>
+<div class="interface" id="StatusEventCallback">
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.18. StatusEventCallback</h3>
+<div class="brief">
+ The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
+          </div>
+<pre class="webidl prettyprint">  [Callback=FunctionOnly, NoInterfaceObject] interface StatusEventCallback {
+    void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="StatusEventCallback::onchange">
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback::onchange"></a><code><b><span class="methodName">onchange</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when the status event occurs.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+Example of using can be find at <a href="application.html#ApplicationManager::addAppStatusChangeListener">addAppStatusChangeListener</a> code example.
+            </p>
+           </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">appId</span>:
+ Id of the application that status has been changed.
+                </li>
+          <li class="param">
+<span class="name">isActive</span>:
+ The new status of the application.
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 <div class="dictionary" id="EventInfo">
-<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.18. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.19. EventInfo</h3>
 <div class="brief">
  The EventInfo dictionary identifies an event with information such as event name. If it is an user event, the broadasting application's identifier is also specified.
           </div>
@@ -2940,9 +3119,9 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
 
     <a href="#ApplicationMetaData">ApplicationMetaData</a>[] getAppMetaData(optional <a href="#ApplicationId">ApplicationId</a>? id) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    long addAppInfoEventListener(<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    void removeAppInfoEventListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    void removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
   };
 
   [NoInterfaceObject] interface Application {
@@ -3081,6 +3260,10 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
     void onevent(<a href="#EventInfo">EventInfo</a> event, <a href="#EventData">EventData</a> data);
   };
 
+  [Callback=FunctionOnly, NoInterfaceObject] interface StatusEventCallback {
+    void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+  };
+
   dictionary EventInfo {
     <a href="#ApplicationId">ApplicationId</a> appId;
 
index e932368..3cd0097 100644 (file)
@@ -94,7 +94,9 @@ For more information on the Application features, see <a href="https://developer
 </li>
 <li>2.17. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.18. <a href="#EventInfo">EventInfo</a>
+<li>2.18. <a href="#StatusEventCallback">StatusEventCallback</a>
+</li>
+<li>2.19. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -133,8 +135,8 @@ For more information on the Application features, see <a href="https://developer
 <div>DOMString <a href="#ApplicationManager::getAppSharedURI">getAppSharedURI</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
 <div>
 <a href="#ApplicationMetaData">ApplicationMetaData</a>[] <a href="#ApplicationManager::getAppMetaData">getAppMetaData</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
-<div class="deprecated">long <a href="#ApplicationManager::addAppInfoEventListener">addAppInfoEventListener</a> (<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback)</div>
-<div class="deprecated">void <a href="#ApplicationManager::removeAppInfoEventListener">removeAppInfoEventListener</a> (long watchId)</div>
+<div>long <a href="#ApplicationManager::addAppStatusChangeListener">addAppStatusChangeListener</a> (<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId)</div>
+<div>void <a href="#ApplicationManager::removeAppStatusChangeListener">removeAppStatusChangeListener</a> (long watchId)</div>
 </td>
 </tr>
 <tr>
@@ -217,6 +219,10 @@ For more information on the Application features, see <a href="https://developer
 <td><div>void <a href="#EventCallback::onevent">onevent</a> (<a href="#EventInfo">EventInfo</a> event, <a href="#EventData">EventData</a> data)</div></td>
 </tr>
 <tr>
+<td><a href="#StatusEventCallback">StatusEventCallback</a></td>
+<td><div>void <a href="#StatusEventCallback::onchange">onchange</a> (<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive)</div></td>
+</tr>
+<tr>
 <td><a href="#EventInfo">EventInfo</a></td>
 <td></td>
 </tr>
@@ -355,9 +361,9 @@ The <em>tizen.application </em>object allows access to the Application API's fun
 
     <a href="#ApplicationMetaData">ApplicationMetaData</a>[] getAppMetaData(optional <a href="#ApplicationId">ApplicationId</a>? id) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    long addAppInfoEventListener(<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    void removeAppInfoEventListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    void removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
   };</pre>
 <p><span class="version">
             Since: </span>
@@ -379,6 +385,9 @@ The <em>tizen.application </em>object allows access to the Application API's fun
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="returntype">
 <p><span class="return">Return value:</span></p>
  Application The data structure that defines the current application.
@@ -465,21 +474,21 @@ UnknownError - If any other error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onKillSuccess()
 {
-   console.log("Application terminated successfully");
+&nbsp;&nbsp;console.log("Application terminated successfully");
 }
 
 function onRunningAppsContext(contexts)
 {
-   /* Let's assume that the application "targetApp0.main" has been installed */
-   var targetId = "targetApp0.main";
-
-   for (var i = 0; i &lt; contexts.length; i++)
-   {
-      if (contexts[i].appId == targetId)
-      {
-         tizen.application.kill(contexts[i].id, onKillSuccess);
-      }
-   }
+&nbsp;&nbsp;/* Let's assume that the application "targetApp0.main" has been installed */
+&nbsp;&nbsp;var targetId = "targetApp0.main";
+
+&nbsp;&nbsp;for (var i = 0; i &lt; contexts.length; i++)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;if (contexts[i].appId == targetId)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tizen.application.kill(contexts[i].id, onKillSuccess);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
 }
 
 tizen.application.getAppsContext(onRunningAppsContext);
@@ -551,7 +560,7 @@ UnknownError - If any other error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onsuccess()
 {
-   console.log("The application has launched successfully");
+&nbsp;&nbsp;console.log("The application has launched successfully");
 }
 
 /* Let's assume that application "targetApp0.main" has been installed */
@@ -652,30 +661,30 @@ UnknownError: If any other error occurs.              </li>
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 var appControlReplyCallback =
 {
-   /* Callee sent a reply */
-   onsuccess: function(data)
-   {
-      for (var i = 0; i &lt; data.length; i++)
-      {
-         if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-            console.log('Selected image is ' + data[i].value[0]);
-      }
-   },
-   /* Callee returned failure */
-   onfailure: function()
-   {
-      console.log('The launch application control failed');
-   }
+&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;},
+&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;}
 }
 
 tizen.application.launchAppControl(appControl, null,
-                                   function() {console.log("launch application control succeed");},
-                                   function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                   appControlReplyCallback);
+&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;function() {console.log("launch application control succeed");},
+&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;function(e) {console.log("launch application control failed. reason: " + e.message);},
+&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;appControlReplyCallback);
 </pre>
 </div>
 </dd>
@@ -733,35 +742,35 @@ UnknownError - If any other error occurs.              </li>
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 function successCB(appInfos, appControl)
 {
-   /* appControl is same object with the value passed as first parameter to findAppControl() */
-   var appControlReplyCallback =
-   {
-      /* Callee sent a reply */
-      onsuccess: function(data)
-      {
-         for (var i = 0; i &lt; data.length; i++)
-         {
-            if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-               console.log('Selected image is ' + data[i].value[0]);
-         }
-      },
-      /* Callee returned failure */
-      onfailure: function()
-      {
-         console.log('The launch application control failed');
-      }
-   }
-
-   var appId = appInfos[0].id; /* Select first app's id */
-
-   tizen.application.launchAppControl(appControl, appId,
-                                      function() {console.log("launch application control succeed");},
-                                      function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                      appControlReplyCallback);
+&nbsp;&nbsp;/* appControl is same object with the value passed as first parameter to findAppControl() */
+&nbsp;&nbsp;var appControlReplyCallback =
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;},
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var appId = appInfos[0].id; /* Select first app's id */
+
+&nbsp;&nbsp;tizen.application.launchAppControl(appControl, appId,
+&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;function() {console.log("launch application control succeed"); },
+&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;function(e) {console.log("launch application control failed. reason: " + e.message); },
+&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;appControlReplyCallback);
 }
 
 tizen.application.findAppControl(appControl, successCB);
@@ -815,8 +824,8 @@ UnknownError - If an unknown error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onRunningAppsContext(contexts)
 {
-   for (var i = 0; i &lt; contexts.length; i++)
-      console.log("ID: " + contexts[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; contexts.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + contexts[i].id);
 }
 
 tizen.application.getAppsContext(onRunningAppsContext);
@@ -917,8 +926,8 @@ UnknownError - If an unknown error occurs.              </li>
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onListInstalledApps(applications)
 {
-   for (var i = 0; i &lt; applications.length; i++)
-      console.log("ID: " + applications[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; applications.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + applications[i].id);
 }
 
 tizen.application.getAppsInfo(onListInstalledApps);
@@ -1059,8 +1068,8 @@ var appCerts = tizen.application.getAppCerts(null);
 
 for (var i = 0; i &lt; appCerts.length; i++)
 {
-   console.log("#" + i + " type:" + appCerts[i].type);
-   console.log("#" + i + " value:" + appCerts[i].value);
+&nbsp;&nbsp;console.log("#" + i + " type:" + appCerts[i].type);
+&nbsp;&nbsp;console.log("#" + i + " value:" + appCerts[i].value);
 }
 </pre>
 </div>
@@ -1244,18 +1253,18 @@ with the corresponding listener identifier.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </pre>
@@ -1303,24 +1312,137 @@ applications on a device.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 tizen.application.removeAppInfoEventListener(watchId);
 </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::addAppStatusChangeListener">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::addAppStatusChangeListener"></a><code><b><span class="methodName">addAppStatusChangeListener</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Adds a listener for receiving any notification for status changes of the installed applications on a device.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">eventCallback</span>:
+ The method to call when status of the installed applications is changed.
+                </li>
+          <li class="param">
+<span class="name">appId</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The id of the application which status changes should be monitored. If the application id is ommitted or it is equal to <em>null</em>, all applications status changes will be monitored.
+                </li>
+        </ul>
+</div>
+<div class="returntype">
+<p><span class="return">Return value:</span></p>
+ long Listener id that can be used to remove the listener later.
+              </div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if the application id parameter is an empty string.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if it fails to add a listener.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function appStatusEventCallback(appId, isActive)
+{
+&nbsp;&nbsp;console.log("The application " + appId + " has been " + (isActive ? "activated" : "deactivated"));
+}
+
+var watchId = tizen.application.addAppStatusChangeListener(appStatusEventCallback);
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> The application testAppId has been activated
+ </pre>
+</div>
+</dd>
+<dt class="method" id="ApplicationManager::removeAppStatusChangeListener">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::removeAppStatusChangeListener"></a><code><b><span class="methodName">removeAppStatusChangeListener</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Removes the listener to stop receiving notifications for status changes of the installed applications on a device.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void removeAppStatusChangeListener(long watchId);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">watchId</span>:
+ An ID that identifies the listener.
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
+ with error type AbortError, if it fails to remove listener.
+                </p></li></ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+function appStatusEventCallback(appId, isActive)
+{
+&nbsp;&nbsp;console.log("The application " + appId + " has been " + (isActive ? "activated" : "deactivated"));
+}
+
+try
+{
+&nbsp;&nbsp;var watchId = tizen.application.addAppStatusChangeListener(appStatusEventCallback);
+&nbsp;&nbsp;tizen.application.removeAppStatusChangeListener(watchId);
+&nbsp;&nbsp;console.log("Listener with id " + watchId + " has been removed");
+}
+catch (err)
+{
+&nbsp;&nbsp;console.log("Exception: " + err.name);
+}
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> Listener with id 1 has been removed
+ </pre>
+</div>
+</dd>
 </dl>
 </div>
 </div>
@@ -1395,6 +1517,9 @@ the basic operations (such as exit or hide) for the current application.
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="exceptionlist">
 <p><span class="except">Exceptions:</span></p>
           <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
@@ -1423,6 +1548,9 @@ app.exit();
             Since: </span>
  2.0
             </p>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="exceptionlist">
 <p><span class="except">Exceptions:</span></p>
           <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
@@ -1463,6 +1591,9 @@ responsible for checking the contents of the application control and responding
 appropriately when it is launched.
             </p>
            </div>
+<p><span class="remark"> Remark : </span>
+ This method is not supported by Web Widget.
+            </p>
 <div class="returntype">
 <p><span class="return">Return value:</span></p>
  RequestedApplicationControl The details of a requested application control
@@ -1480,7 +1611,7 @@ var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppCon
 
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
 }
 </pre>
 </div>
@@ -1540,25 +1671,25 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   if (appId)
-   {
-      var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
-      {
-         console.log("Data: " + JSON.stringify(data));
-         /* Do something */
-      });
-   }
+&nbsp;&nbsp;var appId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Data: " + JSON.stringify(data));
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Do something */
+&nbsp;&nbsp;&nbsp;&nbsp;});
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -1601,29 +1732,29 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-   var watchId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   if (appId)
-   {
-      watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
-      {
-         if (watchId)
-         {
-            app.removeEventListener(watchId);
-            watchId = null;
-         }
-      });
-   }
+&nbsp;&nbsp;var appId = null;
+&nbsp;&nbsp;var watchId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, function(event, data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (watchId)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;app.removeEventListener(watchId);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watchId = null;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;});
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -1676,7 +1807,7 @@ An application can listen to events from other applications. However, it can onl
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var myCustomData =
 {
-   foo: 'bar'
+&nbsp;&nbsp;foo: 'bar'
 };
 
 var app = tizen.application.getCurrentApplication();
@@ -1732,7 +1863,7 @@ An application can listen to events from other applications. However, it can onl
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var myTrustedCustomData =
 {
-   foo: 'bar'
+&nbsp;&nbsp;foo: 'bar'
 };
 
 var app = tizen.application.getCurrentApplication();
@@ -2013,8 +2144,8 @@ and launches the selected application.
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/view",
-                                              null, "image/jpeg", null,
-                                              [new tizen.ApplicationControlData("images", [imagedata1, imagedata2])]);
+&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;null, "image/jpeg", null,
+&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;[new tizen.ApplicationControlData("images", [imagedata1, imagedata2])]);
 </pre>
 </div>
 <div class="constructors">
@@ -2177,14 +2308,14 @@ It contains the information that the calling application passed to <em>launchApp
 var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppControl();
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
-
-   var appControl = reqAppControl.appControl;
-   if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
-   {
-      var data = new tizen.ApplicationControlData("http://tizen.org/appcontrol/data/selected", ["Image1.jpg"]);
-      reqAppControl.replyResult([data]);
-   }
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
+
+&nbsp;&nbsp;var appControl = reqAppControl.appControl;
+&nbsp;&nbsp;if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var data = new tizen.ApplicationControlData("http://tizen.org/appcontrol/data/selected", ["Image1.jpg"]);
+&nbsp;&nbsp;&nbsp;&nbsp;reqAppControl.replyResult([data]);
+&nbsp;&nbsp;}
 }
 </pre>
 </div>
@@ -2220,13 +2351,13 @@ to perform the requested action.
 var reqAppControl = tizen.application.getCurrentApplication().getRequestedAppControl();
 if (reqAppControl)
 {
-   console.log("Requester AppID: " + reqAppControl.callerAppId);
+&nbsp;&nbsp;console.log("Requester AppID: " + reqAppControl.callerAppId);
 
-   var appControl = reqAppControl.appControl;
-   if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
-   {
-      reqAppControl.replyFailure();
-   }
+&nbsp;&nbsp;var appControl = reqAppControl.appControl;
+&nbsp;&nbsp;if (appControl.operation == "http://tizen.org/appcontrol/operation/pick")
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;reqAppControl.replyFailure();
+&nbsp;&nbsp;}
 }
 </pre>
 </div>
@@ -2363,8 +2494,8 @@ This callback interface specifies a success method with an array of
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 function onListInstalledApps(applications)
 {
-   for (var i = 0; i &lt; applications.length; i++)
-      console.log("ID: " + applications[i].id);
+&nbsp;&nbsp;for (var i = 0; i &lt; applications.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("ID: " + applications[i].id);
 }
 
 tizen.application.getAppsInfo(onListInstalledApps);
@@ -2424,36 +2555,36 @@ It is used in <em>ApplicationManager.findAppControl()</em>.
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 /* FindAppControlSuccessCallback instance */
 function successCB(appInfos, appControl)
 {
-   /* appControl is same object with the value passed as first parameter to findAppControl() */
-   var appControlReplyCallback =
-   {
-      /* Callee sent a reply */
-      onsuccess: function(data)
-      {
-         for (var i = 0; i &lt; data.length; i++)
-         {
-            if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-               console.log('Selected image is ' + data[i].value[0]);
-         }
-      },
-      /* Callee returned failure */
-      onfailure: function()
-      {
-         console.log('The launch application control failed');
-      }
-   }
-
-   var appId = appInfos[0].id; /* Select first app's id */
-
-   tizen.application.launchAppControl(appControl, appId,
-                                      function() {console.log("launch application control succeed");},
-                                      function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                      appControlReplyCallback);
+&nbsp;&nbsp;/* appControl is same object with the value passed as first parameter to findAppControl() */
+&nbsp;&nbsp;var appControlReplyCallback =
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;},
+&nbsp;&nbsp;&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var appId = appInfos[0].id; /* Select first app's id */
+
+&nbsp;&nbsp;tizen.application.launchAppControl(appControl, appId,
+&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;function() {console.log("launch application control succeed"); },
+&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;function(e) {console.log("launch application control failed. reason: " + e.message); },
+&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;appControlReplyCallback);
 }
 
 tizen.application.findAppControl(appControl, successCB);
@@ -2538,31 +2669,31 @@ This callback interface specifies two methods:
 <div class="example">
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/pick",
-                                              null, "image/jpeg", null);
+&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;null, "image/jpeg", null);
 
 /* ApplicationControlDataArrayReplyCallback instance */
 var appControlReplyCallback =
 {
-   /* Callee sent a reply */
-   onsuccess: function(data)
-   {
-      for (var i = 0; i &lt; data.length; i++)
-      {
-         if (data[i].key == "http://tizen.org/appcontrol/data/selected")
-            console.log('Selected image is ' + data[i].value[0]);
-      }
-   },
-   /* Callee returned failure */
-   onfailure: function()
-   {
-      console.log('The launch application control failed');
-   }
+&nbsp;&nbsp;/* Callee sent a reply */
+&nbsp;&nbsp;onsuccess: function(data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
+&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (data[i].key == "http://tizen.org/appcontrol/data/selected")
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("Selected image is " + data[i].value[0]);
+&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;},
+&nbsp;&nbsp;/* Callee returned failure */
+&nbsp;&nbsp;onfailure: function()
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The launch application control failed");
+&nbsp;&nbsp;}
 }
 
 tizen.application.launchAppControl(appControl, null,
-                                   function() {console.log("launch application control succeed");},
-                                   function(e) {console.log("launch application control failed. reason: " + e.message);},
-                                   appControlReplyCallback);
+&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;function() {console.log("launch application control succeed");},
+&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;function(e) {console.log("launch application control failed. reason: " + e.message);},
+&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;appControlReplyCallback);
 </pre>
 </div>
 <div class="methods">
@@ -2635,18 +2766,18 @@ an application is installed, updated, or uninstalled.
 <span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
 var appEventCallback =
 {
-   oninstalled: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is installed');
-   },
-   onupdated: function(appInfo)
-   {
-      console.log('The application ' + appInfo.name + ' is updated');
-   },
-   onuninstalled: function(appid)
-   {
-      console.log('The application ' + appid + ' is uninstalled');
-   }
+&nbsp;&nbsp;oninstalled: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is installed");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onupdated: function(appInfo)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appInfo.name + " is updated");
+&nbsp;&nbsp;},
+&nbsp;&nbsp;onuninstalled: function(appid)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("The application " + appid + " is uninstalled");
+&nbsp;&nbsp;}
 };
 var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </pre>
@@ -2794,27 +2925,27 @@ var app = tizen.application.getCurrentApplication();
 /* Let's assume that at least two applications are installed */
 function onListInstalledApps(appsInfo)
 {
-   var appId = null;
-
-   if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
-   {
-      appId = appsInfo[0].id;
-   }
-   else if (appsInfo.length &gt; 1)
-   {
-      appId = appsInfo[1].id;
-   }
-
-   var eventCB = function(event, data)
-   {
-      console.log("Data: " + JSON.stringify(data));
-      /* Do something */
-   };
-
-   if (appId)
-   {
-      var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, eventCB);
-   }
+&nbsp;&nbsp;var appId = null;
+
+&nbsp;&nbsp;if (appsInfo.length &gt; 0 &amp;&amp; app.appInfo.id != appsInfo[0].id)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[0].id;
+&nbsp;&nbsp;}
+&nbsp;&nbsp;else if (appsInfo.length &gt; 1)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;appId = appsInfo[1].id;
+&nbsp;&nbsp;}
+
+&nbsp;&nbsp;var eventCB = function(event, data)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;console.log("Data: " + JSON.stringify(data));
+&nbsp;&nbsp;&nbsp;&nbsp;/* Do something */
+&nbsp;&nbsp;};
+
+&nbsp;&nbsp;if (appId)
+&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;var watchId = app.addEventListener({"appId": appId, "name": "custom_user_event"}, eventCB);
+&nbsp;&nbsp;}
 }
 tizen.application.getAppsInfo(onListInstalledApps);
 </pre>
@@ -2823,8 +2954,58 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </dl>
 </div>
 </div>
+<div class="interface" id="StatusEventCallback">
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.18. StatusEventCallback</h3>
+<div class="brief">
+ The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
+          </div>
+<pre class="webidl prettyprint">  [Callback=FunctionOnly, NoInterfaceObject] interface StatusEventCallback {
+    void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="StatusEventCallback::onchange">
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback::onchange"></a><code><b><span class="methodName">onchange</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when the status event occurs.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+Example of using can be find at <a href="application.html#ApplicationManager::addAppStatusChangeListener">addAppStatusChangeListener</a> code example.
+            </p>
+           </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">appId</span>:
+ Id of the application that status has been changed.
+                </li>
+          <li class="param">
+<span class="name">isActive</span>:
+ The new status of the application.
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 <div class="dictionary" id="EventInfo">
-<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.18. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.19. EventInfo</h3>
 <div class="brief">
  The EventInfo dictionary identifies an event with information such as event name. If it is an user event, the broadasting application's identifier is also specified.
           </div>
@@ -2939,9 +3120,9 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
 
     <a href="#ApplicationMetaData">ApplicationMetaData</a>[] getAppMetaData(optional <a href="#ApplicationId">ApplicationId</a>? id) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    long addAppInfoEventListener(<a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a> eventCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    long addAppStatusChangeListener(<a href="#StatusEventCallback">StatusEventCallback</a> eventCallback, optional <a href="#ApplicationId">ApplicationId</a>? appId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-    void removeAppInfoEventListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+    void removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
   };
 
   [NoInterfaceObject] interface Application {
@@ -3080,6 +3261,10 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
     void onevent(<a href="#EventInfo">EventInfo</a> event, <a href="#EventData">EventData</a> data);
   };
 
+  [Callback=FunctionOnly, NoInterfaceObject] interface StatusEventCallback {
+    void onchange(<a href="#ApplicationId">ApplicationId</a> appId, boolean isActive);
+  };
+
   dictionary EventInfo {
     <a href="#ApplicationId">ApplicationId</a> appId;