[Application] Updating API reference and guide 23/126423/4
authorSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Wed, 10 May 2017 12:22:33 +0000 (14:22 +0200)
committerEditor Lionbridge <TizenEditor.SEL@lionbridge.com>
Thu, 11 May 2017 05:27:21 +0000 (08:27 +0300)
PS4: Reviewed

Change-Id: I04aea78a96a3e450cc9cb5d2008c2c90fbf070b1
Signed-off-by: Szymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
org.tizen.guides/html/web/app_management/app_controls_w.htm
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 d219330..187879f 100644 (file)
@@ -77,7 +77,7 @@
     </li>
        <li>Application status monitoring
        <p>You can monitor the installed applications and <a href="#status_listening">be notified when their status changes</a>.</p>
-        </li>
+    </li>
   </ul>
 
   <h2 id="controls" name="controls">Application Control Request</h2>
@@ -302,6 +302,8 @@ window.addEventListener("appcontrol", function onAppControl()
         <li>Retrieve information about running applications with the <code>getAppContext()</code> and <code>getAppsContext()</code> methods of the <code>ApplicationManager</code> interface.
         <p>These methods can be used to access the <code>ApplicationContext</code> interface (in <a href="../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/application.html#ApplicationContext">mobile</a>, <a href="../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/application.html#ApplicationContext">wearable</a>, and <a href="../../../../org.tizen.web.apireference/html/device_api/tv/tizen/application.html#ApplicationContext">TV</a> applications) to retrieve the application ID and context ID of the running application.</p>
         <p>The application ID can be used to retrieve application information, or to launch an application. The context ID is a unique identifier given by the platform to a running application.</p></li>
+        <li>Retrieve information about battery usage per application with the <code>getBatteryUsageInfo()</code> method of the <code>ApplicationManager</code> interface <strong>in mobile applications only</strong>.
+        <p>You can retrieve battery usage information starting from a specific number of days ago, or since the battery was last fully charged. You can also select the number of applications included in the returned <a href="../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/application.html#ApplicationBatteryUsage">ApplicationBatteryUsage</a> data array.</p></li>
     </ul>
 
 <p>Learning how to retrieve information about installed and running applications allows you to manage all the device applications from your application: </p>
@@ -335,6 +337,16 @@ console.log("The application name: " + appinfo.name);
 var appContext = tizen.application.getAppContext();
 console.log("Application context retrieved for app " + appContext.id);
 </pre></li>
+   <li><p>To retrieve application battery usage information, use the <code>getBatteryUsageInfo()</code> method of the <code>ApplicationManager</code> interface.</p>
+   <p>In the first parameter, specify the time period you want to include in the battery usage information, starting from a specific number of days ago. If you set the parameter to <code>null</code>, the time period since the battery was last fully charged is used.</p>
+<pre class="prettyprint">
+var batteryUsageInfoArray = tizen.application.getBatteryUsageInfo(null, 5);
+batteryUsageInfoArray.forEach(function(abuinfo)
+   {
+      console.log("ApplicationID: " + abuinfo.appId + ", usage: " + abuinfo.batteryUsage);
+   });
+</pre>
+<p>You can expand the obtained data by calling the <code>getAppInfo()</code> method with the <code>ApplicationId</code> parameter you have received from the returned array.</p></li>
   </ol>
 
 <h2 id="manage" name="manage">Managing Applications</h2>
@@ -587,7 +599,7 @@ catch (err)
 }
 </pre>
 </li>
-<li>When notifications are no longer needed, remove the listener using the watch ID retrieved by the <code>addAppStatusChangeListener()</code> method:</p>
+<li>When notifications are no longer needed, remove the listener using the watch ID retrieved by the <code>addAppStatusChangeListener()</code> method:
 <pre class="prettyprint">
 try
 {
index c0d8a8d..67a0b1e 100644 (file)
@@ -70,33 +70,35 @@ For more information on the Application features, see <a href="https://developer
 </li>
 <li>2.5. <a href="#ApplicationContext">ApplicationContext</a>
 </li>
-<li>2.6. <a href="#ApplicationControlData">ApplicationControlData</a>
+<li>2.6. <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>
 </li>
-<li>2.7. <a href="#ApplicationControl">ApplicationControl</a>
+<li>2.7. <a href="#ApplicationControlData">ApplicationControlData</a>
 </li>
-<li>2.8. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
+<li>2.8. <a href="#ApplicationControl">ApplicationControl</a>
 </li>
-<li>2.9. <a href="#ApplicationCertificate">ApplicationCertificate</a>
+<li>2.9. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
 </li>
-<li>2.10. <a href="#ApplicationMetaData">ApplicationMetaData</a>
+<li>2.10. <a href="#ApplicationCertificate">ApplicationCertificate</a>
 </li>
-<li>2.11. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
+<li>2.11. <a href="#ApplicationMetaData">ApplicationMetaData</a>
 </li>
-<li>2.12. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
+<li>2.12. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
 </li>
-<li>2.13. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
+<li>2.13. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
 </li>
-<li>2.14. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
+<li>2.14. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
 </li>
-<li>2.15. <a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a>
+<li>2.15. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
 </li>
-<li>2.16. <a href="#SystemEventData">SystemEventData</a>
+<li>2.16. <a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a>
 </li>
-<li>2.17. <a href="#EventCallback">EventCallback</a>
+<li>2.17. <a href="#SystemEventData">SystemEventData</a>
 </li>
-<li>2.18. <a href="#StatusEventCallback">StatusEventCallback</a>
+<li>2.18. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.19. <a href="#EventInfo">EventInfo</a>
+<li>2.19. <a href="#StatusEventCallback">StatusEventCallback</a>
+</li>
+<li>2.20. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -135,6 +137,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>
+<a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] <a href="#ApplicationManager::getBatteryUsageInfo">getBatteryUsageInfo</a> (optional long? days, optional long? limit)</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>
@@ -161,6 +165,10 @@ For more information on the Application features, see <a href="https://developer
 <td></td>
 </tr>
 <tr>
+<td><a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#ApplicationControlData">ApplicationControlData</a></td>
 <td></td>
 </tr>
@@ -361,6 +369,8 @@ 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>);
 
+    <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit) 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 removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
@@ -1187,6 +1197,100 @@ console.log("size of metadata: " + metaDataArray.length);
 </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::getBatteryUsageInfo">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::getBatteryUsageInfo"></a><code><b><span class="methodName">getBatteryUsageInfo</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Returns information about battery usage per application.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint"><a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+This method returns information about battery usage collected in last <var>days</var> days.
+            </p>
+            <p>
+If the first parameter wasn't given, this method will return information about battery usage since last charge. Last charge means the time when device was unplugged, after reaching full charge.
+            </p>
+            <p>
+You can also determine number of returned objects.
+            </p>
+           </div>
+<p><span class="privilegelevel">
+            Privilege level: </span>
+ public
+            </p>
+<p><span class="privilege">
+            Privilege: </span>
+ http://tizen.org/privilege/apphistory.read
+            </p>
+<p><span class="remark"> Remark : </span>
+ This method is available only on mobile devices. An attempt to call this method on other profile will result in throwing <em>NotSupportedError</em> exception.
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">days</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Number of days. If parameter wasn't given, method will behave as described above.
+                </li>
+          <li class="param">
+<span class="name">limit</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ This parameter defines maximum count of objects <em>ApplicationBatteryUsage</em> in returned array. If parameter wasn't given, it is set to <var>30</var>.
+                </li>
+        </ul>
+</div>
+<div class="returntype">
+<p><span class="return">Return value:</span></p>
+ ApplicationBatteryUsage[] Array of data containing information about battery usage per application.
+              </div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type NotSupportedError, if this feature is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the input parameters contain an invalid value.
+                </p></li>
+<li class="list"><p>
+ with error type SecurityError, if the application does not have the privilege to call this method.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if any system error occurred.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var batteryUsageInfoArray = tizen.application.getBatteryUsageInfo();
+batteryUsageInfoArray.forEach(function(abuinfo) {
+&nbsp;&nbsp;console.log("ApplicationID: " + abuinfo.appId + ", usage: " + abuinfo.batteryUsage);
+});
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> ApplicationID: 3gWRkEPXz5.BasicUI3, usage: 51.78
+ ApplicationID: org.tizen.homescreen-efl, usage: 19.98
+ ApplicationID: org.tizen.lockscreen, usage: 6.05
+ ApplicationID: org.tizen.quickpanel, usage: 4.83
+ ApplicationID: org.tizen.crash-syspopup, usage: 4.46
+ ApplicationID: ise-default, usage: 4.28
+ ApplicationID: org.tizen.indicator, usage: 3.69
+ ApplicationID: org.tizen.calendar.widget, usage: 1.79
+ ApplicationID: org.tizen.volume, usage: 1.34
+ ApplicationID: org.tizen.powerkey-syspopup, usage: 0.98
+ ApplicationID: org.tizen.task-mgr, usage: 0.46
+ ApplicationID: org.tizen.msg-manager, usage: 0.36
+ </pre>
+</div>
+</dd>
 <dt class="deprecated method" id="ApplicationManager::addAppInfoEventListener">
 <a class="backward-compatibility-anchor" name="::Application::ApplicationManager::addAppInfoEventListener"></a><code><b><span class="methodName">addAppInfoEventListener</span></b></code>
 </dt>
@@ -2059,8 +2163,49 @@ application.
 </ul>
 </div>
 </div>
+<div class="interface" id="ApplicationBatteryUsage">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationBatteryUsage"></a><h3>2.6. ApplicationBatteryUsage</h3>
+<div class="brief">
+ This interface defines information about battery usage of application.
+          </div>
+<pre class="webidl prettyprint">  [NoInterfaceObject] interface ApplicationBatteryUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute double batteryUsage;
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="ApplicationBatteryUsage::appId">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">ApplicationId </span><span class="name">appId</span></span><div class="brief">
+ An attribute storing ID of an installed application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationBatteryUsage::batteryUsage">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">batteryUsage</span></span><div class="brief">
+ An attribute which stores information about battery usage of an application with ApplicationId <em>appId</em>, in percentage. Battery usage is calculated based on CPU usage per application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+</ul>
+</div>
+</div>
 <div class="interface" id="ApplicationControlData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.6. ApplicationControlData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.7. ApplicationControlData</h3>
 <div class="brief">
  This interface defines a key/value pair used to pass data
 between applications through the <em>ApplicationControl </em>interface.
@@ -2111,7 +2256,7 @@ var appControlData = new tizen.ApplicationControlData("image", [imagedata1]);
 </div>
 </div>
 <div class="interface" id="ApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.7. ApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.8. ApplicationControl</h3>
 <div class="brief">
  This interface consists of an operation, URI, MIME type,
 and data. It describes an action to be performed by other applications
@@ -2215,7 +2360,7 @@ performed by an application control.
 </div>
 </div>
 <div class="interface" id="RequestedApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.8. RequestedApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.9. RequestedApplicationControl</h3>
 <div class="brief">
  This interface has an application control information requested and passed
 from another application and is passed to launch other applications. The newly
@@ -2366,7 +2511,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationCertificate">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.9. ApplicationCertificate</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.10. ApplicationCertificate</h3>
 <div class="brief">
  This interface defines the certificate information of an installed application.
           </div>
@@ -2407,7 +2552,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationMetaData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.10. ApplicationMetaData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.11. ApplicationMetaData</h3>
 <div class="brief">
  This interface defines the meta data of an installed application
           </div>
@@ -2448,7 +2593,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationInformationArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.11. ApplicationInformationArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.12. ApplicationInformationArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the installed application list is retrieved.
           </div>
@@ -2506,7 +2651,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="FindAppControlSuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.12. FindAppControlSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.13. FindAppControlSuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the system has finished searching applications that match a specific application control .
           </div>
@@ -2595,7 +2740,7 @@ tizen.application.findAppControl(appControl, successCB);
 </div>
 </div>
 <div class="interface" id="ApplicationContextArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.13. ApplicationContextArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.14. ApplicationContextArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the list of running applications is retrieved.
           </div>
@@ -2642,7 +2787,7 @@ an array of <em>ApplicationContext </em>objects as an input parameter. It is use
 </div>
 </div>
 <div class="interface" id="ApplicationControlDataArrayReplyCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.14. ApplicationControlDataArrayReplyCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.15. ApplicationControlDataArrayReplyCallback</h3>
 <div class="brief">
  The ApplicationControlDataArrayReplyCallback callback specifies success callbacks that are invoked as a reply from the requested application control within the application control requester.
           </div>
@@ -2740,7 +2885,7 @@ tizen.application.launchAppControl(appControl, null,
 </div>
 </div>
 <div class="interface" id="ApplicationInformationEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationEventCallback"></a><h3>2.15. ApplicationInformationEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationEventCallback"></a><h3>2.16. ApplicationInformationEventCallback</h3>
 <div class="brief">
  The ApplicationInformationEventCallback specifies listener for subscribing for notifications of changes in the list of installed
 applications on a device.
@@ -2858,7 +3003,7 @@ var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </div>
 </div>
 <div class="interface" id="SystemEventData">
-<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.16. SystemEventData</h3>
+<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.17. SystemEventData</h3>
 <div class="brief">
  The SystemEventData interface defines what is retrieved from the event listener.
           </div>
@@ -2877,7 +3022,7 @@ Platform modules will be able to broadcast system events in a future Tizen relea
          </div>
 </div>
 <div class="interface" id="EventCallback">
-<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.17. EventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.18. EventCallback</h3>
 <div class="brief">
  The EventCallback interface specifies a callback for getting notified when a specified event occurs.
           </div>
@@ -2955,7 +3100,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="StatusEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.18. StatusEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.19. StatusEventCallback</h3>
 <div class="brief">
  The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
           </div>
@@ -3005,7 +3150,7 @@ Example of using can be find at <a href="application.html#ApplicationManager::ad
 </div>
 </div>
 <div class="dictionary" id="EventInfo">
-<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.19. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.20. 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>
@@ -3120,6 +3265,8 @@ 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>);
 
+    <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit) 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 removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
@@ -3174,6 +3321,13 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
     readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
   };
 
+  [NoInterfaceObject] interface ApplicationBatteryUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute double batteryUsage;
+  };
+
   [Constructor(DOMString key, DOMString[] value)]
   interface ApplicationControlData {
 
index 5493f61..a89b621 100644 (file)
@@ -69,33 +69,35 @@ For more information on the Application features, see <a href="../../org.tizen.m
 </li>
 <li>2.5. <a href="#ApplicationContext">ApplicationContext</a>
 </li>
-<li>2.6. <a href="#ApplicationControlData">ApplicationControlData</a>
+<li>2.6. <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>
 </li>
-<li>2.7. <a href="#ApplicationControl">ApplicationControl</a>
+<li>2.7. <a href="#ApplicationControlData">ApplicationControlData</a>
 </li>
-<li>2.8. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
+<li>2.8. <a href="#ApplicationControl">ApplicationControl</a>
 </li>
-<li>2.9. <a href="#ApplicationCertificate">ApplicationCertificate</a>
+<li>2.9. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
 </li>
-<li>2.10. <a href="#ApplicationMetaData">ApplicationMetaData</a>
+<li>2.10. <a href="#ApplicationCertificate">ApplicationCertificate</a>
 </li>
-<li>2.11. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
+<li>2.11. <a href="#ApplicationMetaData">ApplicationMetaData</a>
 </li>
-<li>2.12. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
+<li>2.12. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
 </li>
-<li>2.13. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
+<li>2.13. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
 </li>
-<li>2.14. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
+<li>2.14. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
 </li>
-<li>2.15. <a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a>
+<li>2.15. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
 </li>
-<li>2.16. <a href="#SystemEventData">SystemEventData</a>
+<li>2.16. <a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a>
 </li>
-<li>2.17. <a href="#EventCallback">EventCallback</a>
+<li>2.17. <a href="#SystemEventData">SystemEventData</a>
 </li>
-<li>2.18. <a href="#StatusEventCallback">StatusEventCallback</a>
+<li>2.18. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.19. <a href="#EventInfo">EventInfo</a>
+<li>2.19. <a href="#StatusEventCallback">StatusEventCallback</a>
+</li>
+<li>2.20. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -134,6 +136,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>
+<a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] <a href="#ApplicationManager::getBatteryUsageInfo">getBatteryUsageInfo</a> (optional long? days, optional long? limit)</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>
@@ -360,6 +364,8 @@ 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>);
 
+    <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit) 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 removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
@@ -1186,6 +1192,100 @@ console.log("size of metadata: " + metaDataArray.length);
 </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::getBatteryUsageInfo">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::getBatteryUsageInfo"></a><code><b><span class="methodName">getBatteryUsageInfo</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Returns information about battery usage per application.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint"><a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+This method returns information about battery usage collected in last <var>days</var> days.
+            </p>
+            <p>
+If the first parameter wasn't given, this method will return information about battery usage since last charge. Last charge means the time when device was unplugged, after reaching full charge.
+            </p>
+            <p>
+You can also determine number of returned objects.
+            </p>
+           </div>
+<p><span class="privilegelevel">
+            Privilege level: </span>
+ public
+            </p>
+<p><span class="privilege">
+            Privilege: </span>
+ http://tizen.org/privilege/apphistory.read
+            </p>
+<p><span class="remark"> Remark : </span>
+ This method is available only on mobile devices. An attempt to call this method on other profile will result in throwing <em>NotSupportedError</em> exception.
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">days</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Number of days. If parameter wasn't given, method will behave as described above.
+                </li>
+          <li class="param">
+<span class="name">limit</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ This parameter defines maximum count of objects <em>ApplicationBatteryUsage</em> in returned array. If parameter wasn't given, it is set to <var>30</var>.
+                </li>
+        </ul>
+</div>
+<div class="returntype">
+<p><span class="return">Return value:</span></p>
+ ApplicationBatteryUsage[] Array of data containing information about battery usage per application.
+              </div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type NotSupportedError, if this feature is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the input parameters contain an invalid value.
+                </p></li>
+<li class="list"><p>
+ with error type SecurityError, if the application does not have the privilege to call this method.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if any system error occurred.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var batteryUsageInfoArray = tizen.application.getBatteryUsageInfo();
+batteryUsageInfoArray.forEach(function(abuinfo) {
+&nbsp;&nbsp;console.log("ApplicationID: " + abuinfo.appId + ", usage: " + abuinfo.batteryUsage);
+});
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> ApplicationID: 3gWRkEPXz5.BasicUI3, usage: 51.78
+ ApplicationID: org.tizen.homescreen-efl, usage: 19.98
+ ApplicationID: org.tizen.lockscreen, usage: 6.05
+ ApplicationID: org.tizen.quickpanel, usage: 4.83
+ ApplicationID: org.tizen.crash-syspopup, usage: 4.46
+ ApplicationID: ise-default, usage: 4.28
+ ApplicationID: org.tizen.indicator, usage: 3.69
+ ApplicationID: org.tizen.calendar.widget, usage: 1.79
+ ApplicationID: org.tizen.volume, usage: 1.34
+ ApplicationID: org.tizen.powerkey-syspopup, usage: 0.98
+ ApplicationID: org.tizen.task-mgr, usage: 0.46
+ ApplicationID: org.tizen.msg-manager, usage: 0.36
+ </pre>
+</div>
+</dd>
 <dt class="deprecated method" id="ApplicationManager::addAppInfoEventListener">
 <a class="backward-compatibility-anchor" name="::Application::ApplicationManager::addAppInfoEventListener"></a><code><b><span class="methodName">addAppInfoEventListener</span></b></code>
 </dt>
@@ -2058,8 +2158,49 @@ application.
 </ul>
 </div>
 </div>
+<div class="interface" id="ApplicationBatteryUsage">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationBatteryUsage"></a><h3>2.6. ApplicationBatteryUsage</h3>
+<div class="brief">
+ This interface defines information about battery usage of application.
+          </div>
+<pre class="webidl prettyprint">  [NoInterfaceObject] interface ApplicationBatteryUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute double batteryUsage;
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="ApplicationBatteryUsage::appId">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">ApplicationId </span><span class="name">appId</span></span><div class="brief">
+ An attribute storing ID of an installed application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationBatteryUsage::batteryUsage">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">batteryUsage</span></span><div class="brief">
+ An attribute which stores information about battery usage of an application with ApplicationId <em>appId</em>, in percentage. Battery usage is calculated based on CPU usage per application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+</ul>
+</div>
+</div>
 <div class="interface" id="ApplicationControlData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.6. ApplicationControlData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.7. ApplicationControlData</h3>
 <div class="brief">
  This interface defines a key/value pair used to pass data
 between applications through the <em>ApplicationControl </em>interface.
@@ -2110,7 +2251,7 @@ var appControlData = new tizen.ApplicationControlData("image", [imagedata1]);
 </div>
 </div>
 <div class="interface" id="ApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.7. ApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.8. ApplicationControl</h3>
 <div class="brief">
  This interface consists of an operation, URI, MIME type,
 and data. It describes an action to be performed by other applications
@@ -2214,7 +2355,7 @@ performed by an application control.
 </div>
 </div>
 <div class="interface" id="RequestedApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.8. RequestedApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.9. RequestedApplicationControl</h3>
 <div class="brief">
  This interface has an application control information requested and passed
 from another application and is passed to launch other applications. The newly
@@ -2365,7 +2506,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationCertificate">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.9. ApplicationCertificate</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.10. ApplicationCertificate</h3>
 <div class="brief">
  This interface defines the certificate information of an installed application.
           </div>
@@ -2406,7 +2547,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationMetaData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.10. ApplicationMetaData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.11. ApplicationMetaData</h3>
 <div class="brief">
  This interface defines the meta data of an installed application
           </div>
@@ -2447,7 +2588,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationInformationArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.11. ApplicationInformationArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.12. ApplicationInformationArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the installed application list is retrieved.
           </div>
@@ -2505,7 +2646,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="FindAppControlSuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.12. FindAppControlSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.13. FindAppControlSuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the system has finished searching applications that match a specific application control .
           </div>
@@ -2594,7 +2735,7 @@ tizen.application.findAppControl(appControl, successCB);
 </div>
 </div>
 <div class="interface" id="ApplicationContextArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.13. ApplicationContextArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.14. ApplicationContextArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the list of running applications is retrieved.
           </div>
@@ -2641,7 +2782,7 @@ an array of <em>ApplicationContext </em>objects as an input parameter. It is use
 </div>
 </div>
 <div class="interface" id="ApplicationControlDataArrayReplyCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.14. ApplicationControlDataArrayReplyCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.15. ApplicationControlDataArrayReplyCallback</h3>
 <div class="brief">
  The ApplicationControlDataArrayReplyCallback callback specifies success callbacks that are invoked as a reply from the requested application control within the application control requester.
           </div>
@@ -2739,7 +2880,7 @@ tizen.application.launchAppControl(appControl, null,
 </div>
 </div>
 <div class="interface" id="ApplicationInformationEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationEventCallback"></a><h3>2.15. ApplicationInformationEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationEventCallback"></a><h3>2.16. ApplicationInformationEventCallback</h3>
 <div class="brief">
  The ApplicationInformationEventCallback specifies listener for subscribing for notifications of changes in the list of installed
 applications on a device.
@@ -2857,7 +2998,7 @@ var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </div>
 </div>
 <div class="interface" id="SystemEventData">
-<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.16. SystemEventData</h3>
+<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.17. SystemEventData</h3>
 <div class="brief">
  The SystemEventData interface defines what is retrieved from the event listener.
           </div>
@@ -2876,7 +3017,7 @@ Platform modules will be able to broadcast system events in a future Tizen relea
          </div>
 </div>
 <div class="interface" id="EventCallback">
-<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.17. EventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.18. EventCallback</h3>
 <div class="brief">
  The EventCallback interface specifies a callback for getting notified when a specified event occurs.
           </div>
@@ -2954,7 +3095,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="StatusEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.18. StatusEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.19. StatusEventCallback</h3>
 <div class="brief">
  The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
           </div>
@@ -3004,7 +3145,7 @@ Example of using can be find at <a href="application.html#ApplicationManager::ad
 </div>
 </div>
 <div class="dictionary" id="EventInfo">
-<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.19. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.20. 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>
@@ -3119,6 +3260,8 @@ 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>);
 
+    <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit) 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 removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
@@ -3173,6 +3316,13 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
     readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
   };
 
+  [NoInterfaceObject] interface ApplicationBatteryUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute double batteryUsage;
+  };
+
   [Constructor(DOMString key, DOMString[] value)]
   interface ApplicationControlData {
 
index 3cd0097..2c63ae0 100644 (file)
@@ -70,33 +70,35 @@ For more information on the Application features, see <a href="https://developer
 </li>
 <li>2.5. <a href="#ApplicationContext">ApplicationContext</a>
 </li>
-<li>2.6. <a href="#ApplicationControlData">ApplicationControlData</a>
+<li>2.6. <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>
 </li>
-<li>2.7. <a href="#ApplicationControl">ApplicationControl</a>
+<li>2.7. <a href="#ApplicationControlData">ApplicationControlData</a>
 </li>
-<li>2.8. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
+<li>2.8. <a href="#ApplicationControl">ApplicationControl</a>
 </li>
-<li>2.9. <a href="#ApplicationCertificate">ApplicationCertificate</a>
+<li>2.9. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
 </li>
-<li>2.10. <a href="#ApplicationMetaData">ApplicationMetaData</a>
+<li>2.10. <a href="#ApplicationCertificate">ApplicationCertificate</a>
 </li>
-<li>2.11. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
+<li>2.11. <a href="#ApplicationMetaData">ApplicationMetaData</a>
 </li>
-<li>2.12. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
+<li>2.12. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
 </li>
-<li>2.13. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
+<li>2.13. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
 </li>
-<li>2.14. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
+<li>2.14. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
 </li>
-<li>2.15. <a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a>
+<li>2.15. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
 </li>
-<li>2.16. <a href="#SystemEventData">SystemEventData</a>
+<li>2.16. <a href="#ApplicationInformationEventCallback">ApplicationInformationEventCallback</a>
 </li>
-<li>2.17. <a href="#EventCallback">EventCallback</a>
+<li>2.17. <a href="#SystemEventData">SystemEventData</a>
 </li>
-<li>2.18. <a href="#StatusEventCallback">StatusEventCallback</a>
+<li>2.18. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.19. <a href="#EventInfo">EventInfo</a>
+<li>2.19. <a href="#StatusEventCallback">StatusEventCallback</a>
+</li>
+<li>2.20. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -135,6 +137,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>
+<a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] <a href="#ApplicationManager::getBatteryUsageInfo">getBatteryUsageInfo</a> (optional long? days, optional long? limit)</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>
@@ -161,6 +165,10 @@ For more information on the Application features, see <a href="https://developer
 <td></td>
 </tr>
 <tr>
+<td><a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#ApplicationControlData">ApplicationControlData</a></td>
 <td></td>
 </tr>
@@ -361,6 +369,8 @@ 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>);
 
+    <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit) 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 removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
@@ -1187,6 +1197,100 @@ console.log("size of metadata: " + metaDataArray.length);
 </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::getBatteryUsageInfo">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::getBatteryUsageInfo"></a><code><b><span class="methodName">getBatteryUsageInfo</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Returns information about battery usage per application.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint"><a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+This method returns information about battery usage collected in last <var>days</var> days.
+            </p>
+            <p>
+If the first parameter wasn't given, this method will return information about battery usage since last charge. Last charge means the time when device was unplugged, after reaching full charge.
+            </p>
+            <p>
+You can also determine number of returned objects.
+            </p>
+           </div>
+<p><span class="privilegelevel">
+            Privilege level: </span>
+ public
+            </p>
+<p><span class="privilege">
+            Privilege: </span>
+ http://tizen.org/privilege/apphistory.read
+            </p>
+<p><span class="remark"> Remark : </span>
+ This method is available only on mobile devices. An attempt to call this method on other profile will result in throwing <em>NotSupportedError</em> exception.
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">days</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Number of days. If parameter wasn't given, method will behave as described above.
+                </li>
+          <li class="param">
+<span class="name">limit</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ This parameter defines maximum count of objects <em>ApplicationBatteryUsage</em> in returned array. If parameter wasn't given, it is set to <var>30</var>.
+                </li>
+        </ul>
+</div>
+<div class="returntype">
+<p><span class="return">Return value:</span></p>
+ ApplicationBatteryUsage[] Array of data containing information about battery usage per application.
+              </div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type NotSupportedError, if this feature is not supported.
+                </p></li>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the input parameters contain an invalid value.
+                </p></li>
+<li class="list"><p>
+ with error type SecurityError, if the application does not have the privilege to call this method.
+                </p></li>
+<li class="list"><p>
+ with error type AbortError, if any system error occurred.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var batteryUsageInfoArray = tizen.application.getBatteryUsageInfo();
+batteryUsageInfoArray.forEach(function(abuinfo) {
+&nbsp;&nbsp;console.log("ApplicationID: " + abuinfo.appId + ", usage: " + abuinfo.batteryUsage);
+});
+</pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> ApplicationID: 3gWRkEPXz5.BasicUI3, usage: 51.78
+ ApplicationID: org.tizen.homescreen-efl, usage: 19.98
+ ApplicationID: org.tizen.lockscreen, usage: 6.05
+ ApplicationID: org.tizen.quickpanel, usage: 4.83
+ ApplicationID: org.tizen.crash-syspopup, usage: 4.46
+ ApplicationID: ise-default, usage: 4.28
+ ApplicationID: org.tizen.indicator, usage: 3.69
+ ApplicationID: org.tizen.calendar.widget, usage: 1.79
+ ApplicationID: org.tizen.volume, usage: 1.34
+ ApplicationID: org.tizen.powerkey-syspopup, usage: 0.98
+ ApplicationID: org.tizen.task-mgr, usage: 0.46
+ ApplicationID: org.tizen.msg-manager, usage: 0.36
+ </pre>
+</div>
+</dd>
 <dt class="deprecated method" id="ApplicationManager::addAppInfoEventListener">
 <a class="backward-compatibility-anchor" name="::Application::ApplicationManager::addAppInfoEventListener"></a><code><b><span class="methodName">addAppInfoEventListener</span></b></code>
 </dt>
@@ -2059,8 +2163,49 @@ application.
 </ul>
 </div>
 </div>
+<div class="interface" id="ApplicationBatteryUsage">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationBatteryUsage"></a><h3>2.6. ApplicationBatteryUsage</h3>
+<div class="brief">
+ This interface defines information about battery usage of application.
+          </div>
+<pre class="webidl prettyprint">  [NoInterfaceObject] interface ApplicationBatteryUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute double batteryUsage;
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="ApplicationBatteryUsage::appId">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">ApplicationId </span><span class="name">appId</span></span><div class="brief">
+ An attribute storing ID of an installed application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationBatteryUsage::batteryUsage">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">batteryUsage</span></span><div class="brief">
+ An attribute which stores information about battery usage of an application with ApplicationId <em>appId</em>, in percentage. Battery usage is calculated based on CPU usage per application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+</ul>
+</div>
+</div>
 <div class="interface" id="ApplicationControlData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.6. ApplicationControlData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.7. ApplicationControlData</h3>
 <div class="brief">
  This interface defines a key/value pair used to pass data
 between applications through the <em>ApplicationControl </em>interface.
@@ -2111,7 +2256,7 @@ var appControlData = new tizen.ApplicationControlData("image", [imagedata1]);
 </div>
 </div>
 <div class="interface" id="ApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.7. ApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.8. ApplicationControl</h3>
 <div class="brief">
  This interface consists of an operation, URI, MIME type,
 and data. It describes an action to be performed by other applications
@@ -2215,7 +2360,7 @@ performed by an application control.
 </div>
 </div>
 <div class="interface" id="RequestedApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.8. RequestedApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.9. RequestedApplicationControl</h3>
 <div class="brief">
  This interface has an application control information requested and passed
 from another application and is passed to launch other applications. The newly
@@ -2366,7 +2511,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationCertificate">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.9. ApplicationCertificate</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.10. ApplicationCertificate</h3>
 <div class="brief">
  This interface defines the certificate information of an installed application.
           </div>
@@ -2407,7 +2552,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationMetaData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.10. ApplicationMetaData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.11. ApplicationMetaData</h3>
 <div class="brief">
  This interface defines the meta data of an installed application
           </div>
@@ -2448,7 +2593,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationInformationArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.11. ApplicationInformationArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.12. ApplicationInformationArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the installed application list is retrieved.
           </div>
@@ -2506,7 +2651,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="FindAppControlSuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.12. FindAppControlSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.13. FindAppControlSuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the system has finished searching applications that match a specific application control .
           </div>
@@ -2595,7 +2740,7 @@ tizen.application.findAppControl(appControl, successCB);
 </div>
 </div>
 <div class="interface" id="ApplicationContextArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.13. ApplicationContextArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.14. ApplicationContextArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the list of running applications is retrieved.
           </div>
@@ -2642,7 +2787,7 @@ an array of <em>ApplicationContext </em>objects as an input parameter. It is use
 </div>
 </div>
 <div class="interface" id="ApplicationControlDataArrayReplyCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.14. ApplicationControlDataArrayReplyCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.15. ApplicationControlDataArrayReplyCallback</h3>
 <div class="brief">
  The ApplicationControlDataArrayReplyCallback callback specifies success callbacks that are invoked as a reply from the requested application control within the application control requester.
           </div>
@@ -2740,7 +2885,7 @@ tizen.application.launchAppControl(appControl, null,
 </div>
 </div>
 <div class="interface" id="ApplicationInformationEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationEventCallback"></a><h3>2.15. ApplicationInformationEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationEventCallback"></a><h3>2.16. ApplicationInformationEventCallback</h3>
 <div class="brief">
  The ApplicationInformationEventCallback specifies listener for subscribing for notifications of changes in the list of installed
 applications on a device.
@@ -2858,7 +3003,7 @@ var watchId = tizen.application.addAppInfoEventListener(appEventCallback);
 </div>
 </div>
 <div class="interface" id="SystemEventData">
-<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.16. SystemEventData</h3>
+<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.17. SystemEventData</h3>
 <div class="brief">
  The SystemEventData interface defines what is retrieved from the event listener.
           </div>
@@ -2877,7 +3022,7 @@ Platform modules will be able to broadcast system events in a future Tizen relea
          </div>
 </div>
 <div class="interface" id="EventCallback">
-<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.17. EventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.18. EventCallback</h3>
 <div class="brief">
  The EventCallback interface specifies a callback for getting notified when a specified event occurs.
           </div>
@@ -2955,7 +3100,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="StatusEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.18. StatusEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.19. StatusEventCallback</h3>
 <div class="brief">
  The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
           </div>
@@ -3005,7 +3150,7 @@ Example of using can be find at <a href="application.html#ApplicationManager::ad
 </div>
 </div>
 <div class="dictionary" id="EventInfo">
-<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.19. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.20. 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>
@@ -3120,6 +3265,8 @@ 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>);
 
+    <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] getBatteryUsageInfo(optional long? days, optional long? limit) 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 removeAppStatusChangeListener(long watchId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
@@ -3174,6 +3321,13 @@ Must be at least 1 byte in length and not exceed the maximum name length of 127
     readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
   };
 
+  [NoInterfaceObject] interface ApplicationBatteryUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute double batteryUsage;
+  };
+
   [Constructor(DOMString key, DOMString[] value)]
   interface ApplicationControlData {