[Application] Adding Reference and guides for getAppsUsageInfo method 78/143778/3
authorSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Fri, 11 Aug 2017 08:30:12 +0000 (10:30 +0200)
committerSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Fri, 18 Aug 2017 09:27:17 +0000 (11:27 +0200)
This commit adds API Reference only to Mobile/TV profiles.

PS2: Guide reviewed

Change-Id: I9d38794af4d2ea2fc9c8b8a8b84da4edeeef646d
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

index 3c3d8f1..0fb6477 100644 (file)
@@ -302,6 +302,8 @@ window.addEventListener('appcontrol', function onAppControl() {
         <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>
+        <li>Retrieve information about usage statistics per application with the <code>getAppsUsageInfo()</code> method of the <code>ApplicationManager</code> interface <strong>in mobile applications only</strong>.
+        <p>The statistics include the most frequently or recently used applications. You can retrieve application usage information from a specific time period, or starting from a specific number of days ago. 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#ApplicationUsage">ApplicationUsage</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>
@@ -344,6 +346,27 @@ var successCallback = function(batteryUsageInfoArray) {
 tizen.application.getBatteryUsageInfo(successCallback);
 </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>
+   <li><p>To retrieve application usage statistics, use the <code>getAppsUsageInfo()</code> method of the <code>ApplicationManager</code> interface. Define the type of statistics (most frequently or recently used applications) in the third parameter.</p>
+   <p>To retrieve the statistics from between specific start and end dates, or for a limited time period starting from a specific number of days ago, set the time filter in the fourth parameter of the method. If you leave the parameter at <code>null</code>, a time period starting from 30 days ago is used.</p>
+<pre class="prettyprint">
+var successCallback = function(appsUsageInfo) {
+    appsUsageInfo.forEach(function(auInfo) {
+        console.log("ApplicationID: " + auInfo.appId + ", count: " + auInfo.totalCount +
+                    ", duration: " + auInfo.totalDuration + ", last used at: " + auInfo.lastTime);
+    });
+};
+
+var errorCallback = function(err) {
+    console.error(err);
+}
+
+tizen.application.getAppsUsageInfo(successCallback, errorCallback, "RECENTLY");
+</pre>
+<div class="note">
+       <strong>Note</strong>
+       Statistics are available for the last 90 days. If you set a time filter that starts from more than 90 days ago, only the period that falls within the last 90 days is included in the returned array.
+</div>
+</li>
   </ul>
 
 <h2 id="manage" name="manage">Managing Applications</h2>
index 6ae8ee1..7dc77d4 100755 (executable)
@@ -57,6 +57,9 @@ For more information on the Application features, see <a href="https://developer
 <li>
                     1.5. <a href="#ApplicationControlLaunchMode">ApplicationControlLaunchMode</a>
 </li>
+<li>
+                    1.6. <a href="#ApplicationUsageMode">ApplicationUsageMode</a>
+</li>
 </ul>
 </li>
 <li>2. <a href="#interfaces-section">Interfaces</a><ul class="toc">
@@ -64,41 +67,47 @@ For more information on the Application features, see <a href="https://developer
 </li>
 <li>2.2. <a href="#ApplicationManager">ApplicationManager</a>
 </li>
-<li>2.3. <a href="#Application">Application</a>
+<li>2.3. <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>
+</li>
+<li>2.4. <a href="#Application">Application</a>
+</li>
+<li>2.5. <a href="#ApplicationInformation">ApplicationInformation</a>
+</li>
+<li>2.6. <a href="#ApplicationContext">ApplicationContext</a>
 </li>
-<li>2.4. <a href="#ApplicationInformation">ApplicationInformation</a>
+<li>2.7. <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>
 </li>
-<li>2.5. <a href="#ApplicationContext">ApplicationContext</a>
+<li>2.8. <a href="#ApplicationUsage">ApplicationUsage</a>
 </li>
-<li>2.6. <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>
+<li>2.9. <a href="#ApplicationControlData">ApplicationControlData</a>
 </li>
-<li>2.7. <a href="#ApplicationControlData">ApplicationControlData</a>
+<li>2.10. <a href="#ApplicationControl">ApplicationControl</a>
 </li>
-<li>2.8. <a href="#ApplicationControl">ApplicationControl</a>
+<li>2.11. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
 </li>
-<li>2.9. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
+<li>2.12. <a href="#ApplicationCertificate">ApplicationCertificate</a>
 </li>
-<li>2.10. <a href="#ApplicationCertificate">ApplicationCertificate</a>
+<li>2.13. <a href="#ApplicationMetaData">ApplicationMetaData</a>
 </li>
-<li>2.11. <a href="#ApplicationMetaData">ApplicationMetaData</a>
+<li>2.14. <a href="#BatteryUsageInfoArraySuccessCallback">BatteryUsageInfoArraySuccessCallback</a>
 </li>
-<li>2.12. <a href="#BatteryUsageInfoArraySuccessCallback">BatteryUsageInfoArraySuccessCallback</a>
+<li>2.15. <a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a>
 </li>
-<li>2.13. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
+<li>2.16. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
 </li>
-<li>2.14. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
+<li>2.17. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
 </li>
-<li>2.15. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
+<li>2.18. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
 </li>
-<li>2.16. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
+<li>2.19. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
 </li>
-<li>2.17. <a href="#SystemEventData">SystemEventData</a>
+<li>2.20. <a href="#SystemEventData">SystemEventData</a>
 </li>
-<li>2.18. <a href="#EventCallback">EventCallback</a>
+<li>2.21. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.19. <a href="#StatusEventCallback">StatusEventCallback</a>
+<li>2.22. <a href="#StatusEventCallback">StatusEventCallback</a>
 </li>
-<li>2.20. <a href="#EventInfo">EventInfo</a>
+<li>2.23. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -140,11 +149,16 @@ For more information on the Application features, see <a href="https://developer
 <div>
 <a href="#ApplicationMetaData">ApplicationMetaData</a>[] <a href="#ApplicationManager::getAppMetaData">getAppMetaData</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
 <div>void <a href="#ApplicationManager::getBatteryUsageInfo">getBatteryUsageInfo</a> (<a href="#BatteryUsageInfoArraySuccessCallback">BatteryUsageInfoArraySuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional long? days, optional long? limit)</div>
+<div>void <a href="#ApplicationManager::getAppsUsageInfo">getAppsUsageInfo</a> (<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode, optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter, 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>
 </tr>
 <tr>
+<td><a href="#ApplicationUsageFilter">ApplicationUsageFilter</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#Application">Application</a></td>
 <td>
 <div>void <a href="#Application::exit">exit</a> ()</div>
@@ -170,6 +184,10 @@ For more information on the Application features, see <a href="https://developer
 <td></td>
 </tr>
 <tr>
+<td><a href="#ApplicationUsage">ApplicationUsage</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#ApplicationControlData">ApplicationControlData</a></td>
 <td></td>
 </tr>
@@ -197,6 +215,10 @@ For more information on the Application features, see <a href="https://developer
 <td><div>void <a href="#BatteryUsageInfoArraySuccessCallback::onsuccess">onsuccess</a> (<a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] batteryInfoArray)</div></td>
 </tr>
 <tr>
+<td><a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a></td>
+<td><div>void <a href="#AppsUsageInfoArraySuccessCallback::onsuccess">onsuccess</a> (<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray)</div></td>
+</tr>
+<tr>
 <td><a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a></td>
 <td><div>void <a href="#ApplicationInformationArraySuccessCallback::onsuccess">onsuccess</a> (<a href="#ApplicationInformation">ApplicationInformation</a>[] informationArray)</div></td>
 </tr>
@@ -301,6 +323,28 @@ GROUP - Launch application in subgroup            </li>
           </ul>
          </div>
 </div>
+<div class="enum" id="ApplicationUsageMode">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationUsageMode"></a><h3>1.6. ApplicationUsageMode</h3>
+<div class="brief">
+ Specifies the possible modes of getting statistics of application usage.
+          </div>
+<pre class="webidl prettyprint">  enum ApplicationUsageMode { "RECENTLY", "FREQUENTLY" };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="description">
+          <p>
+Possible types are:
+          </p>
+          <ul>
+            <li>
+RECENTLY - indicates most recently used applications, in a descending order of the application use counts            </li>
+            <li>
+FREQUENTLY - indicates most frequently used applications, in a descending order of the application use counts            </li>
+          </ul>
+         </div>
+</div>
 </div>
 <div class="interfaces" id="interfaces-section">
 <h2>2. Interfaces</h2>
@@ -371,6 +415,12 @@ The <em>tizen.application </em>object allows access to the Application API's fun
                              optional long? days,
                              optional long? limit) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
+    void getAppsUsageInfo(<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback,
+                          optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback,
+                          optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode,
+                          optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter,
+                          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>);
@@ -1309,6 +1359,117 @@ By default, it is set to <var>30</var>.
  </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::getAppsUsageInfo">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::getAppsUsageInfo"></a><code><b><span class="methodName">getAppsUsageInfo</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Gets the usage statistics of applications.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void getAppsUsageInfo(<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode, optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter, optional long? limit);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+The method gets the most frequently or recently used applications statistics, depending on parameter <em>mode</em>,
+which meet conditions in <em>filter</em> object.
+Maximum number of retrieved objects can be set in <em>limit</em> parameter.
+            </p>
+            <p>
+Applications which have not been used will not be included in results.
+            </p>
+            <p>
+If an attribute <em>endTime</em> from <em>filter</em> object is less than or equal to <em>startTime</em> date, an empty array will be returned.
+            </p>
+            <p>
+The <em>ErrorCallback</em> method is launched with these error types:
+            </p>
+            <ul>
+              <li>
+AbortError - if any system error occurred.              </li>
+              <li>
+InvalidValuesError - if any of the input parameters contains an invalid value.              </li>
+            </ul>
+           </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">successCallback</span>:
+ The method to call when the invocation ends successfully.
+                </li>
+          <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The method to call when an error occurs.
+                </li>
+          <li class="param">
+<span class="name">mode</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The parameter defines a type of application usage to acquire. By default, it is set to <var>FREQUENTLY</var>.
+                </li>
+          <li class="param">
+<span class="name">filter</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The filter for selecting period of time, from which data is accumulated.
+By default, this parameter has attribute <em>timeSpan</em> set to <var>30</var> days.
+                </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>ApplicationUsage</em> in returned array.
+By default, it is set to <var>10</var>.
+                </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 NotSupportedError, if this feature is not supported.
+                </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 TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var successCallback = function(appsUsageInfo)
+ {
+   appsUsageInfo.forEach(function(auInfo)
+   {
+     console.log("ApplicationID: " + auInfo.appId + ", count: " + auInfo.totalCount +
+     ", duration: " + auInfo.totalDuration + ", last used at: " + auInfo.lastTime);
+   });
+ };
+
+ tizen.application.getAppsUsageInfo(successCallback, null, "FREQUENTLY", {timeSpan: 7}, 5);
+ </pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> ApplicationID: w5ucNMnbVi.BasicUI, count: 17, duration: 3471, last used at: Tue Aug 01 2017 12:13:06 GMT+0200 (CEST)
+ ApplicationID: org.tizen.message, count: 16, duration: 2964, last used at: Wed Aug 02 2017 08:22:14 GMT+0200 (CEST)
+ ApplicationID: api1getcap.sysinfo, count: 16, duration: 1957, last used at: Tue Aug 01 2017 12:13:03 GMT+0200 (CEST)
+ ApplicationID: org.tizen.email, count: 10, duration: 1209, last used at: Fri Jul 21 2017 10:15:09 GMT+0200 (CEST)
+ ApplicationID: org.tizen.setting, count: 5, duration: 519, last used at: Wed Aug 02 2017 06:52:51 GMT+0200 (CEST)
+ </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>
@@ -1425,8 +1586,81 @@ catch (err)
 </dl>
 </div>
 </div>
+<div class="dictionary" id="ApplicationUsageFilter">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationUsageFilter"></a><h3>2.3. ApplicationUsageFilter</h3>
+<div class="brief">
+ This interface represents filter for defining period of time, which will be used as a condition in <em>getAppsUsageInfo</em> method.
+          </div>
+<pre class="webidl prettyprint">  dictionary ApplicationUsageFilter {
+    long? timeSpan;
+    Date? startTime;
+    Date? endTime;
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="description">
+          <p>
+The maximum retention period is 90 days.
+          </p>
+         </div>
+<div class="attributes">
+<h4>Dictionary members</h4>
+<dl>
+<dt class="member" id="ApplicationUsageFilter::timeSpan"><span class="attrName">long? timeSpan</span></dt>
+<dd>
+<div class="brief">
+ The attribute to store period of time, from which data is accumulated, in days.
+The  period of time begins <em>timeSpan</em> days ago and ends with current date.
+            </div>
+<div class="description">
+            <p>
+If the attribute is given, the attributes <em>startTime</em> and <em>endTime</em> of this interface are not taken into an account.
+If <em>timeSpan</em> is greater than <var>90</var>, <var>90</var> will be used instead.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</dd>
+<dt class="member" id="ApplicationUsageFilter::startTime"><span class="attrName">Date? startTime</span></dt>
+<dd>
+<div class="brief">
+ The attribute to store the date, which is used as a lower bound for selecting data.
+            </div>
+<div class="description">
+            <p>
+If only <em>startTime</em> attribute is given, by default <em>endTime</em> is equal to the current date.
+If <em>startTime</em> date predates the 90 days from the current time, data will be accumulated from last 90 days.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</dd>
+<dt class="member" id="ApplicationUsageFilter::endTime"><span class="attrName">Date? endTime</span></dt>
+<dd>
+<div class="brief">
+ The attribute to store the date, which is used as an upper bound for selecting data.
+            </div>
+<div class="description">
+            <p>
+If only <em>endTime</em> attribute is given, data will be accumulated from 90 days ago to <em>endTime</em> date.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</dd>
+</dl>
+</div>
+</div>
 <div class="interface" id="Application">
-<a class="backward-compatibility-anchor" name="::Application::Application"></a><h3>2.3. Application</h3>
+<a class="backward-compatibility-anchor" name="::Application::Application"></a><h3>2.4. Application</h3>
 <div class="brief">
  This interface defines the current application's information and
 the basic operations (such as exit or hide) for the current application.
@@ -1855,7 +2089,7 @@ app.broadcastTrustedEvent({"name": "custom_user_event"}, myTrustedCustomData);
 </div>
 </div>
 <div class="interface" id="ApplicationInformation">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformation"></a><h3>2.4. ApplicationInformation</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformation"></a><h3>2.5. ApplicationInformation</h3>
 <div class="brief">
  This interface defines the general information available to an installed application.
           </div>
@@ -1997,7 +2231,7 @@ be shown (such as in menus).
 </div>
 </div>
 <div class="interface" id="ApplicationContext">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationContext"></a><h3>2.5. ApplicationContext</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationContext"></a><h3>2.6. ApplicationContext</h3>
 <div class="brief">
  This interface defines the information available about a running
 application.
@@ -2039,7 +2273,7 @@ application.
 </div>
 </div>
 <div class="interface" id="ApplicationBatteryUsage">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationBatteryUsage"></a><h3>2.6. ApplicationBatteryUsage</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationBatteryUsage"></a><h3>2.7. ApplicationBatteryUsage</h3>
 <div class="brief">
  This interface defines information about battery usage of application.
           </div>
@@ -2081,8 +2315,73 @@ The attribute value scales from <var>0</var> to <var>1</var>, the higher value,
 </ul>
 </div>
 </div>
+<div class="interface" id="ApplicationUsage">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationUsage"></a><h3>2.8. ApplicationUsage</h3>
+<div class="brief">
+ This interface defines information about usage of application.
+          </div>
+<pre class="webidl prettyprint">  [NoInterfaceObject] interface ApplicationUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute unsigned long totalCount;
+
+    readonly attribute unsigned long totalDuration;
+
+    readonly attribute Date lastTime;
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="ApplicationUsage::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 to store the ID of an application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationUsage::totalCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">unsigned long </span><span class="name">totalCount</span></span><div class="brief">
+ An attribute to store the total number of times the application was in the foreground.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationUsage::totalDuration">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">unsigned long </span><span class="name">totalDuration</span></span><div class="brief">
+ An attribute to store the total time of application usage in seconds.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationUsage::lastTime">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">Date </span><span class="name">lastTime</span></span><div class="brief">
+ An attribute to store the last time when the application was used.
+            </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.7. ApplicationControlData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.9. ApplicationControlData</h3>
 <div class="brief">
  This interface defines a key/value pair used to pass data
 between applications through the <em>ApplicationControl </em>interface.
@@ -2133,7 +2432,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.8. ApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.10. 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
@@ -2237,7 +2536,7 @@ performed by an application control.
 </div>
 </div>
 <div class="interface" id="RequestedApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.9. RequestedApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.11. 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
@@ -2388,7 +2687,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationCertificate">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.10. ApplicationCertificate</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.12. ApplicationCertificate</h3>
 <div class="brief">
  This interface defines the certificate information of an installed application.
           </div>
@@ -2429,7 +2728,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationMetaData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.11. ApplicationMetaData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.13. ApplicationMetaData</h3>
 <div class="brief">
  This interface defines the meta data of an installed application
           </div>
@@ -2470,7 +2769,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="BatteryUsageInfoArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::BatteryUsageInfoArraySuccessCallback"></a><h3>2.12. BatteryUsageInfoArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::BatteryUsageInfoArraySuccessCallback"></a><h3>2.14. BatteryUsageInfoArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the battery usage per application array is retrieved.
           </div>
@@ -2519,8 +2818,58 @@ This callback interface specifies a success method with an array of
 </dl>
 </div>
 </div>
+<div class="interface" id="AppsUsageInfoArraySuccessCallback">
+<a class="backward-compatibility-anchor" name="::Application::AppsUsageInfoArraySuccessCallback"></a><h3>2.15. AppsUsageInfoArraySuccessCallback</h3>
+<div class="brief">
+ This callback interface specifies a success callback that is invoked when the application usage statistics array is retrieved.
+          </div>
+<pre class="webidl prettyprint">  [Callback=FunctionOnly, NoInterfaceObject] interface AppsUsageInfoArraySuccessCallback {
+    void onsuccess(<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray);
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="description">
+          <p>
+This callback interface specifies a success method with an array of
+<em>ApplicationUsage</em> objects as an input parameter. It is used in <em>ApplicationManager.getAppsUsageInfo()</em> method.
+          </p>
+         </div>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="AppsUsageInfoArraySuccessCallback::onsuccess">
+<a class="backward-compatibility-anchor" name="::Application::AppsUsageInfoArraySuccessCallback::onsuccess"></a><code><b><span class="methodName">onsuccess</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when the asynchronous call completes successfully.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onsuccess(<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<p><span class="remark"> Remark : </span>
+ An example of usage can be find at <a href="#ApplicationManager::getAppsUsageInfo">getAppsUsageInfo</a> code example.
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">appsInfoArray</span>:
+ An array of data containing information about usage per application.
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 <div class="interface" id="ApplicationInformationArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.13. ApplicationInformationArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.16. ApplicationInformationArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the installed application list is retrieved.
           </div>
@@ -2578,7 +2927,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="FindAppControlSuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.14. FindAppControlSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.17. 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>
@@ -2667,7 +3016,7 @@ tizen.application.findAppControl(appControl, successCB);
 </div>
 </div>
 <div class="interface" id="ApplicationContextArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.15. ApplicationContextArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.18. ApplicationContextArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the list of running applications is retrieved.
           </div>
@@ -2714,7 +3063,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.16. ApplicationControlDataArrayReplyCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.19. 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>
@@ -2812,7 +3161,7 @@ tizen.application.launchAppControl(appControl, null,
 </div>
 </div>
 <div class="interface" id="SystemEventData">
-<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.17. SystemEventData</h3>
+<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.20. SystemEventData</h3>
 <div class="brief">
  The SystemEventData interface defines what is retrieved from the event listener.
           </div>
@@ -2831,7 +3180,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.18. EventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.21. EventCallback</h3>
 <div class="brief">
  The EventCallback interface specifies a callback for getting notified when a specified event occurs.
           </div>
@@ -2909,7 +3258,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="StatusEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.19. StatusEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.22. StatusEventCallback</h3>
 <div class="brief">
  The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
           </div>
@@ -2959,7 +3308,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.20. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.23. 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>
@@ -3045,6 +3394,8 @@ To guarantee the running of the application on a device which has battery, decla
 
   enum ApplicationControlLaunchMode { "SINGLE", "GROUP" };
 
+  enum ApplicationUsageMode { "RECENTLY", "FREQUENTLY" };
+
   [NoInterfaceObject] interface ApplicationManagerObject {
     readonly attribute <a href="#ApplicationManager">ApplicationManager</a> application;
   };
@@ -3093,11 +3444,23 @@ To guarantee the running of the application on a device which has battery, decla
                              optional long? days,
                              optional long? limit) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
+    void getAppsUsageInfo(<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback,
+                          optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback,
+                          optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode,
+                          optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter,
+                          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>);
   };
 
+  dictionary ApplicationUsageFilter {
+    long? timeSpan;
+    Date? startTime;
+    Date? endTime;
+  };
+
   [NoInterfaceObject] interface Application {
 
     readonly attribute <a href="#ApplicationInformation">ApplicationInformation</a> appInfo;
@@ -3154,6 +3517,17 @@ To guarantee the running of the application on a device which has battery, decla
     readonly attribute double batteryUsage;
   };
 
+  [NoInterfaceObject] interface ApplicationUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute unsigned long totalCount;
+
+    readonly attribute unsigned long totalDuration;
+
+    readonly attribute Date lastTime;
+  };
+
   [Constructor(DOMString key, DOMString[] value)]
   interface ApplicationControlData {
 
@@ -3210,6 +3584,10 @@ To guarantee the running of the application on a device which has battery, decla
     void onsuccess(<a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] batteryInfoArray);
   };
 
+  [Callback=FunctionOnly, NoInterfaceObject] interface AppsUsageInfoArraySuccessCallback {
+    void onsuccess(<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray);
+  };
+
   [Callback=FunctionOnly, NoInterfaceObject] interface ApplicationInformationArraySuccessCallback {
     void onsuccess(<a href="#ApplicationInformation">ApplicationInformation</a>[] informationArray);
   };
index 2e69ef2..c02f7c9 100755 (executable)
@@ -56,6 +56,9 @@ For more information on the Application features, see <a href="https://developer
 <li>
                     1.5. <a href="#ApplicationControlLaunchMode">ApplicationControlLaunchMode</a>
 </li>
+<li>
+                    1.6. <a href="#ApplicationUsageMode">ApplicationUsageMode</a>
+</li>
 </ul>
 </li>
 <li>2. <a href="#interfaces-section">Interfaces</a><ul class="toc">
@@ -63,41 +66,47 @@ For more information on the Application features, see <a href="https://developer
 </li>
 <li>2.2. <a href="#ApplicationManager">ApplicationManager</a>
 </li>
-<li>2.3. <a href="#Application">Application</a>
+<li>2.3. <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>
+</li>
+<li>2.4. <a href="#Application">Application</a>
+</li>
+<li>2.5. <a href="#ApplicationInformation">ApplicationInformation</a>
+</li>
+<li>2.6. <a href="#ApplicationContext">ApplicationContext</a>
 </li>
-<li>2.4. <a href="#ApplicationInformation">ApplicationInformation</a>
+<li>2.7. <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>
 </li>
-<li>2.5. <a href="#ApplicationContext">ApplicationContext</a>
+<li>2.8. <a href="#ApplicationUsage">ApplicationUsage</a>
 </li>
-<li>2.6. <a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>
+<li>2.9. <a href="#ApplicationControlData">ApplicationControlData</a>
 </li>
-<li>2.7. <a href="#ApplicationControlData">ApplicationControlData</a>
+<li>2.10. <a href="#ApplicationControl">ApplicationControl</a>
 </li>
-<li>2.8. <a href="#ApplicationControl">ApplicationControl</a>
+<li>2.11. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
 </li>
-<li>2.9. <a href="#RequestedApplicationControl">RequestedApplicationControl</a>
+<li>2.12. <a href="#ApplicationCertificate">ApplicationCertificate</a>
 </li>
-<li>2.10. <a href="#ApplicationCertificate">ApplicationCertificate</a>
+<li>2.13. <a href="#ApplicationMetaData">ApplicationMetaData</a>
 </li>
-<li>2.11. <a href="#ApplicationMetaData">ApplicationMetaData</a>
+<li>2.14. <a href="#BatteryUsageInfoArraySuccessCallback">BatteryUsageInfoArraySuccessCallback</a>
 </li>
-<li>2.12. <a href="#BatteryUsageInfoArraySuccessCallback">BatteryUsageInfoArraySuccessCallback</a>
+<li>2.15. <a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a>
 </li>
-<li>2.13. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
+<li>2.16. <a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a>
 </li>
-<li>2.14. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
+<li>2.17. <a href="#FindAppControlSuccessCallback">FindAppControlSuccessCallback</a>
 </li>
-<li>2.15. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
+<li>2.18. <a href="#ApplicationContextArraySuccessCallback">ApplicationContextArraySuccessCallback</a>
 </li>
-<li>2.16. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
+<li>2.19. <a href="#ApplicationControlDataArrayReplyCallback">ApplicationControlDataArrayReplyCallback</a>
 </li>
-<li>2.17. <a href="#SystemEventData">SystemEventData</a>
+<li>2.20. <a href="#SystemEventData">SystemEventData</a>
 </li>
-<li>2.18. <a href="#EventCallback">EventCallback</a>
+<li>2.21. <a href="#EventCallback">EventCallback</a>
 </li>
-<li>2.19. <a href="#StatusEventCallback">StatusEventCallback</a>
+<li>2.22. <a href="#StatusEventCallback">StatusEventCallback</a>
 </li>
-<li>2.20. <a href="#EventInfo">EventInfo</a>
+<li>2.23. <a href="#EventInfo">EventInfo</a>
 </li>
 </ul>
 </li>
@@ -139,11 +148,16 @@ For more information on the Application features, see <a href="https://developer
 <div>
 <a href="#ApplicationMetaData">ApplicationMetaData</a>[] <a href="#ApplicationManager::getAppMetaData">getAppMetaData</a> (optional <a href="#ApplicationId">ApplicationId</a>? id)</div>
 <div>void <a href="#ApplicationManager::getBatteryUsageInfo">getBatteryUsageInfo</a> (<a href="#BatteryUsageInfoArraySuccessCallback">BatteryUsageInfoArraySuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional long? days, optional long? limit)</div>
+<div>void <a href="#ApplicationManager::getAppsUsageInfo">getAppsUsageInfo</a> (<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode, optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter, 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>
 </tr>
 <tr>
+<td><a href="#ApplicationUsageFilter">ApplicationUsageFilter</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#Application">Application</a></td>
 <td>
 <div>void <a href="#Application::exit">exit</a> ()</div>
@@ -169,6 +183,10 @@ For more information on the Application features, see <a href="https://developer
 <td></td>
 </tr>
 <tr>
+<td><a href="#ApplicationUsage">ApplicationUsage</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#ApplicationControlData">ApplicationControlData</a></td>
 <td></td>
 </tr>
@@ -196,6 +214,10 @@ For more information on the Application features, see <a href="https://developer
 <td><div>void <a href="#BatteryUsageInfoArraySuccessCallback::onsuccess">onsuccess</a> (<a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] batteryInfoArray)</div></td>
 </tr>
 <tr>
+<td><a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a></td>
+<td><div>void <a href="#AppsUsageInfoArraySuccessCallback::onsuccess">onsuccess</a> (<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray)</div></td>
+</tr>
+<tr>
 <td><a href="#ApplicationInformationArraySuccessCallback">ApplicationInformationArraySuccessCallback</a></td>
 <td><div>void <a href="#ApplicationInformationArraySuccessCallback::onsuccess">onsuccess</a> (<a href="#ApplicationInformation">ApplicationInformation</a>[] informationArray)</div></td>
 </tr>
@@ -308,6 +330,28 @@ GROUP - Launch application in subgroup            </li>
           </ul>
          </div>
 </div>
+<div class="enum" id="ApplicationUsageMode">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationUsageMode"></a><h3>1.6. ApplicationUsageMode</h3>
+<div class="brief">
+ Specifies the possible modes of getting statistics of application usage.
+          </div>
+<pre class="webidl prettyprint">  enum ApplicationUsageMode { "RECENTLY", "FREQUENTLY" };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="description">
+          <p>
+Possible types are:
+          </p>
+          <ul>
+            <li>
+RECENTLY - indicates most recently used applications, in a descending order of the application use counts            </li>
+            <li>
+FREQUENTLY - indicates most frequently used applications, in a descending order of the application use counts            </li>
+          </ul>
+         </div>
+</div>
 </div>
 <div class="interfaces" id="interfaces-section">
 <h2>2. Interfaces</h2>
@@ -378,6 +422,12 @@ The <em>tizen.application </em>object allows access to the Application API's fun
                              optional long? days,
                              optional long? limit) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
+    void getAppsUsageInfo(<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback,
+                          optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback,
+                          optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode,
+                          optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter,
+                          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>);
@@ -1309,6 +1359,117 @@ By default, it is set to <var>30</var>.
  </pre>
 </div>
 </dd>
+<dt class="method" id="ApplicationManager::getAppsUsageInfo">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationManager::getAppsUsageInfo"></a><code><b><span class="methodName">getAppsUsageInfo</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Gets the usage statistics of applications.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void getAppsUsageInfo(<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback, optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode, optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter, optional long? limit);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<div class="description">
+            <p>
+The method gets the most frequently or recently used applications statistics, depending on parameter <em>mode</em>,
+which meet conditions in <em>filter</em> object.
+Maximum number of retrieved objects can be set in <em>limit</em> parameter.
+            </p>
+            <p>
+Applications which have not been used will not be included in results.
+            </p>
+            <p>
+If an attribute <em>endTime</em> from <em>filter</em> object is less than or equal to <em>startTime</em> date, an empty array will be returned.
+            </p>
+            <p>
+The <em>ErrorCallback</em> method is launched with these error types:
+            </p>
+            <ul>
+              <li>
+AbortError - if any system error occurred.              </li>
+              <li>
+InvalidValuesError - if any of the input parameters contains an invalid value.              </li>
+            </ul>
+           </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">successCallback</span>:
+ The method to call when the invocation ends successfully.
+                </li>
+          <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The method to call when an error occurs.
+                </li>
+          <li class="param">
+<span class="name">mode</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The parameter defines a type of application usage to acquire. By default, it is set to <var>FREQUENTLY</var>.
+                </li>
+          <li class="param">
+<span class="name">filter</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The filter for selecting period of time, from which data is accumulated.
+By default, this parameter has attribute <em>timeSpan</em> set to <var>30</var> days.
+                </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>ApplicationUsage</em> in returned array.
+By default, it is set to <var>10</var>.
+                </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 NotSupportedError, if this feature is not supported.
+                </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 TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li>
+</ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var successCallback = function(appsUsageInfo)
+ {
+   appsUsageInfo.forEach(function(auInfo)
+   {
+     console.log("ApplicationID: " + auInfo.appId + ", count: " + auInfo.totalCount +
+     ", duration: " + auInfo.totalDuration + ", last used at: " + auInfo.lastTime);
+   });
+ };
+
+ tizen.application.getAppsUsageInfo(successCallback, null, "FREQUENTLY", {timeSpan: 7}, 5);
+ </pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> ApplicationID: w5ucNMnbVi.BasicUI, count: 17, duration: 3471, last used at: Tue Aug 01 2017 12:13:06 GMT+0200 (CEST)
+ ApplicationID: org.tizen.message, count: 16, duration: 2964, last used at: Wed Aug 02 2017 08:22:14 GMT+0200 (CEST)
+ ApplicationID: api1getcap.sysinfo, count: 16, duration: 1957, last used at: Tue Aug 01 2017 12:13:03 GMT+0200 (CEST)
+ ApplicationID: org.tizen.email, count: 10, duration: 1209, last used at: Fri Jul 21 2017 10:15:09 GMT+0200 (CEST)
+ ApplicationID: org.tizen.setting, count: 5, duration: 519, last used at: Wed Aug 02 2017 06:52:51 GMT+0200 (CEST)
+ </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>
@@ -1568,8 +1729,81 @@ catch (err)
 </dl>
 </div>
 </div>
+<div class="dictionary" id="ApplicationUsageFilter">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationUsageFilter"></a><h3>2.3. ApplicationUsageFilter</h3>
+<div class="brief">
+ This interface represents filter for defining period of time, which will be used as a condition in <em>getAppsUsageInfo</em> method.
+          </div>
+<pre class="webidl prettyprint">  dictionary ApplicationUsageFilter {
+    long? timeSpan;
+    Date? startTime;
+    Date? endTime;
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="description">
+          <p>
+The maximum retention period is 90 days.
+          </p>
+         </div>
+<div class="attributes">
+<h4>Dictionary members</h4>
+<dl>
+<dt class="member" id="ApplicationUsageFilter::timeSpan"><span class="attrName">long? timeSpan</span></dt>
+<dd>
+<div class="brief">
+ The attribute to store period of time, from which data is accumulated, in days.
+The  period of time begins <em>timeSpan</em> days ago and ends with current date.
+            </div>
+<div class="description">
+            <p>
+If the attribute is given, the attributes <em>startTime</em> and <em>endTime</em> of this interface are not taken into an account.
+If <em>timeSpan</em> is greater than <var>90</var>, <var>90</var> will be used instead.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</dd>
+<dt class="member" id="ApplicationUsageFilter::startTime"><span class="attrName">Date? startTime</span></dt>
+<dd>
+<div class="brief">
+ The attribute to store the date, which is used as a lower bound for selecting data.
+            </div>
+<div class="description">
+            <p>
+If only <em>startTime</em> attribute is given, by default <em>endTime</em> is equal to the current date.
+If <em>startTime</em> date predates the 90 days from the current time, data will be accumulated from last 90 days.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</dd>
+<dt class="member" id="ApplicationUsageFilter::endTime"><span class="attrName">Date? endTime</span></dt>
+<dd>
+<div class="brief">
+ The attribute to store the date, which is used as an upper bound for selecting data.
+            </div>
+<div class="description">
+            <p>
+If only <em>endTime</em> attribute is given, data will be accumulated from 90 days ago to <em>endTime</em> date.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</dd>
+</dl>
+</div>
+</div>
 <div class="interface" id="Application">
-<a class="backward-compatibility-anchor" name="::Application::Application"></a><h3>2.3. Application</h3>
+<a class="backward-compatibility-anchor" name="::Application::Application"></a><h3>2.4. Application</h3>
 <div class="brief">
  This interface defines the current application's information and
 the basic operations (such as exit or hide) for the current application.
@@ -1998,7 +2232,7 @@ app.broadcastTrustedEvent({"name": "custom_user_event"}, myTrustedCustomData);
 </div>
 </div>
 <div class="interface" id="ApplicationInformation">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformation"></a><h3>2.4. ApplicationInformation</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformation"></a><h3>2.5. ApplicationInformation</h3>
 <div class="brief">
  This interface defines the general information available to an installed application.
           </div>
@@ -2140,7 +2374,7 @@ be shown (such as in menus).
 </div>
 </div>
 <div class="interface" id="ApplicationContext">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationContext"></a><h3>2.5. ApplicationContext</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationContext"></a><h3>2.6. ApplicationContext</h3>
 <div class="brief">
  This interface defines the information available about a running
 application.
@@ -2182,7 +2416,7 @@ application.
 </div>
 </div>
 <div class="interface" id="ApplicationBatteryUsage">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationBatteryUsage"></a><h3>2.6. ApplicationBatteryUsage</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationBatteryUsage"></a><h3>2.7. ApplicationBatteryUsage</h3>
 <div class="brief">
  This interface defines information about battery usage of application.
           </div>
@@ -2224,8 +2458,73 @@ The attribute value scales from <var>0</var> to <var>1</var>, the higher value,
 </ul>
 </div>
 </div>
+<div class="interface" id="ApplicationUsage">
+<a class="backward-compatibility-anchor" name="::Application::ApplicationUsage"></a><h3>2.8. ApplicationUsage</h3>
+<div class="brief">
+ This interface defines information about usage of application.
+          </div>
+<pre class="webidl prettyprint">  [NoInterfaceObject] interface ApplicationUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute unsigned long totalCount;
+
+    readonly attribute unsigned long totalDuration;
+
+    readonly attribute Date lastTime;
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="ApplicationUsage::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 to store the ID of an application.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationUsage::totalCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">unsigned long </span><span class="name">totalCount</span></span><div class="brief">
+ An attribute to store the total number of times the application was in the foreground.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationUsage::totalDuration">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">unsigned long </span><span class="name">totalDuration</span></span><div class="brief">
+ An attribute to store the total time of application usage in seconds.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+</li>
+<li class="attribute" id="ApplicationUsage::lastTime">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">Date </span><span class="name">lastTime</span></span><div class="brief">
+ An attribute to store the last time when the application was used.
+            </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.7. ApplicationControlData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlData"></a><h3>2.9. ApplicationControlData</h3>
 <div class="brief">
  This interface defines a key/value pair used to pass data
 between applications through the <em>ApplicationControl </em>interface.
@@ -2242,9 +2541,8 @@ between applications through the <em>ApplicationControl </em>interface.
  2.0
           </p>
 <div class="example">
-<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
-var appControlData = new tizen.ApplicationControlData("image", [imagedata1]);
-</pre>
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var appControlData = new tizen.ApplicationControlData("image", [imagedata1]);
+ </pre>
 </div>
 <div class="constructors">
 <h4 id="ApplicationControlData::constructor">Constructors</h4>
@@ -2276,7 +2574,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.8. ApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControl"></a><h3>2.10. 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
@@ -2380,7 +2678,7 @@ performed by an application control.
 </div>
 </div>
 <div class="interface" id="RequestedApplicationControl">
-<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.9. RequestedApplicationControl</h3>
+<a class="backward-compatibility-anchor" name="::Application::RequestedApplicationControl"></a><h3>2.11. 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
@@ -2531,7 +2829,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationCertificate">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.10. ApplicationCertificate</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationCertificate"></a><h3>2.12. ApplicationCertificate</h3>
 <div class="brief">
  This interface defines the certificate information of an installed application.
           </div>
@@ -2572,7 +2870,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="ApplicationMetaData">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.11. ApplicationMetaData</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationMetaData"></a><h3>2.13. ApplicationMetaData</h3>
 <div class="brief">
  This interface defines the meta data of an installed application
           </div>
@@ -2613,7 +2911,7 @@ if (reqAppControl)
 </div>
 </div>
 <div class="interface" id="BatteryUsageInfoArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::BatteryUsageInfoArraySuccessCallback"></a><h3>2.12. BatteryUsageInfoArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::BatteryUsageInfoArraySuccessCallback"></a><h3>2.14. BatteryUsageInfoArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the battery usage per application array is retrieved.
           </div>
@@ -2662,8 +2960,58 @@ This callback interface specifies a success method with an array of
 </dl>
 </div>
 </div>
+<div class="interface" id="AppsUsageInfoArraySuccessCallback">
+<a class="backward-compatibility-anchor" name="::Application::AppsUsageInfoArraySuccessCallback"></a><h3>2.15. AppsUsageInfoArraySuccessCallback</h3>
+<div class="brief">
+ This callback interface specifies a success callback that is invoked when the application usage statistics array is retrieved.
+          </div>
+<pre class="webidl prettyprint">  [Callback=FunctionOnly, NoInterfaceObject] interface AppsUsageInfoArraySuccessCallback {
+    void onsuccess(<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray);
+  };</pre>
+<p><span class="version">
+            Since: </span>
+ 4.0
+          </p>
+<div class="description">
+          <p>
+This callback interface specifies a success method with an array of
+<em>ApplicationUsage</em> objects as an input parameter. It is used in <em>ApplicationManager.getAppsUsageInfo()</em> method.
+          </p>
+         </div>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="AppsUsageInfoArraySuccessCallback::onsuccess">
+<a class="backward-compatibility-anchor" name="::Application::AppsUsageInfoArraySuccessCallback::onsuccess"></a><code><b><span class="methodName">onsuccess</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when the asynchronous call completes successfully.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onsuccess(<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 4.0
+            </p>
+<p><span class="remark"> Remark : </span>
+ An example of usage can be find at <a href="#ApplicationManager::getAppsUsageInfo">getAppsUsageInfo</a> code example.
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">appsInfoArray</span>:
+ An array of data containing information about usage per application.
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 <div class="interface" id="ApplicationInformationArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.13. ApplicationInformationArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationInformationArraySuccessCallback"></a><h3>2.16. ApplicationInformationArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the installed application list is retrieved.
           </div>
@@ -2721,7 +3069,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="FindAppControlSuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.14. FindAppControlSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::FindAppControlSuccessCallback"></a><h3>2.17. 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>
@@ -2810,7 +3158,7 @@ tizen.application.findAppControl(appControl, successCB);
 </div>
 </div>
 <div class="interface" id="ApplicationContextArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.15. ApplicationContextArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationContextArraySuccessCallback"></a><h3>2.18. ApplicationContextArraySuccessCallback</h3>
 <div class="brief">
  This callback interface specifies a success callback that is invoked when the list of running applications is retrieved.
           </div>
@@ -2857,7 +3205,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.16. ApplicationControlDataArrayReplyCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::ApplicationControlDataArrayReplyCallback"></a><h3>2.19. 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>
@@ -3073,7 +3421,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.17. SystemEventData</h3>
+<a class="backward-compatibility-anchor" name="::Application::SystemEventData"></a><h3>2.20. SystemEventData</h3>
 <div class="brief">
  The SystemEventData interface defines what is retrieved from the event listener.
           </div>
@@ -3092,7 +3440,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.18. EventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventCallback"></a><h3>2.21. EventCallback</h3>
 <div class="brief">
  The EventCallback interface specifies a callback for getting notified when a specified event occurs.
           </div>
@@ -3170,7 +3518,7 @@ tizen.application.getAppsInfo(onListInstalledApps);
 </div>
 </div>
 <div class="interface" id="StatusEventCallback">
-<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.19. StatusEventCallback</h3>
+<a class="backward-compatibility-anchor" name="::Application::StatusEventCallback"></a><h3>2.22. StatusEventCallback</h3>
 <div class="brief">
  The StatusEventCallback interface specifies a callback for getting notified when status of the installed application has been changed.
           </div>
@@ -3220,7 +3568,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.20. EventInfo</h3>
+<a class="backward-compatibility-anchor" name="::Application::EventInfo"></a><h3>2.23. 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>
@@ -3306,6 +3654,8 @@ To guarantee the running of the application on a device which has battery, decla
 
   enum ApplicationControlLaunchMode { "SINGLE", "GROUP" };
 
+  enum ApplicationUsageMode { "RECENTLY", "FREQUENTLY" };
+
   [NoInterfaceObject] interface ApplicationManagerObject {
     readonly attribute <a href="#ApplicationManager">ApplicationManager</a> application;
   };
@@ -3354,11 +3704,23 @@ To guarantee the running of the application on a device which has battery, decla
                              optional long? days,
                              optional long? limit) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
+    void getAppsUsageInfo(<a href="#AppsUsageInfoArraySuccessCallback">AppsUsageInfoArraySuccessCallback</a> successCallback,
+                          optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback,
+                          optional <a href="#ApplicationUsageMode">ApplicationUsageMode</a>? mode,
+                          optional <a href="#ApplicationUsageFilter">ApplicationUsageFilter</a>? filter,
+                          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>);
   };
 
+  dictionary ApplicationUsageFilter {
+    long? timeSpan;
+    Date? startTime;
+    Date? endTime;
+  };
+
   [NoInterfaceObject] interface Application {
 
     readonly attribute <a href="#ApplicationInformation">ApplicationInformation</a> appInfo;
@@ -3415,6 +3777,17 @@ To guarantee the running of the application on a device which has battery, decla
     readonly attribute double batteryUsage;
   };
 
+  [NoInterfaceObject] interface ApplicationUsage {
+
+    readonly attribute <a href="#ApplicationId">ApplicationId</a> appId;
+
+    readonly attribute unsigned long totalCount;
+
+    readonly attribute unsigned long totalDuration;
+
+    readonly attribute Date lastTime;
+  };
+
   [Constructor(DOMString key, DOMString[] value)]
   interface ApplicationControlData {
 
@@ -3471,6 +3844,10 @@ To guarantee the running of the application on a device which has battery, decla
     void onsuccess(<a href="#ApplicationBatteryUsage">ApplicationBatteryUsage</a>[] batteryInfoArray);
   };
 
+  [Callback=FunctionOnly, NoInterfaceObject] interface AppsUsageInfoArraySuccessCallback {
+    void onsuccess(<a href="#ApplicationUsage">ApplicationUsage</a>[] appsInfoArray);
+  };
+
   [Callback=FunctionOnly, NoInterfaceObject] interface ApplicationInformationArraySuccessCallback {
     void onsuccess(<a href="#ApplicationInformation">ApplicationInformation</a>[] informationArray);
   };