Modified RecentBetteryUsage to deliver UsedTime 13/102113/2
authorSomin Kim <somin926.kim@samsung.com>
Mon, 5 Dec 2016 04:42:13 +0000 (13:42 +0900)
committerMu-Woong Lee <muwoong.lee@samsung.com>
Mon, 5 Dec 2016 04:50:06 +0000 (20:50 -0800)
Change-Id: I5a426ddbcf82351619a59e4edc6802f2f12ff5dd
Signed-off-by: Somin Kim <somin926.kim@samsung.com>
src/battery-stats/BatteryUsage.cpp
src/battery-stats/Querier.cpp
src/battery-stats/Querier.h
src/battery-stats/RecentBatteryUsage.cpp

index 631308d..c443f62 100644 (file)
@@ -55,9 +55,9 @@ int BatteryUsageProvider::read(Json option, Json *requestResult)
 
        int error;
        if (hasLimit) {
-               error = querier->queryRangeLimit((startTime > timeSpanPoint)? startTime : timeSpanPoint, endTime, resultSize);
+               error = querier->query((startTime > timeSpanPoint)? startTime : timeSpanPoint, endTime, resultSize);
        } else {
-               error = querier->queryRange((startTime > timeSpanPoint)? startTime : timeSpanPoint, endTime);
+               error = querier->query((startTime > timeSpanPoint)? startTime : timeSpanPoint, endTime);
        }
        IF_FAIL_RETURN_TAG(error == ERR_NONE, ERR_OPERATION_FAILED, _E, "Failed to get app battery usage");
 
index f0f043a..1185165 100644 (file)
 #include "BatteryStatisticsTypes.h"
 #include "Querier.h"
 
-#define BATTERY_USAGE_DEFAULT_QUERY \
+#define BATTERY_USAGE_QUERY \
        "SELECT " BATTERY_APP_ID " AS " KEY_APP_ID ", ROUND(SUM(" BATTERY_AMOUNT ")/10000.0, 2) AS " KEY_TOTAL_AMOUNT \
        " FROM " BATTERY_USAGE_TABLE " WHERE " BATTERY_START_TIME " >= %d AND " BATTERY_END_TIME " <= %d" \
        " GROUP BY " KEY_APP_ID " ORDER BY " KEY_TOTAL_AMOUNT " DESC"
 
+#define RECENT_BATTERY_USAGE_QUERY \
+       "SELECT " BATTERY_APP_ID " AS " KEY_APP_ID ", ROUND(SUM(" BATTERY_AMOUNT ")/10000.0, 2) AS " KEY_TOTAL_AMOUNT \
+       ", %d AS " KEY_USED_TIME \
+       " FROM " BATTERY_USAGE_TABLE " WHERE " BATTERY_START_TIME " >= %d AND " BATTERY_END_TIME " <= %d" \
+       " GROUP BY " KEY_APP_ID " ORDER BY " KEY_TOTAL_AMOUNT " DESC"
+
 using namespace ctx;
 
 BatteryStatsQuerier::BatteryStatsQuerier(ContextProvider *provider, Json option) :
@@ -41,9 +47,29 @@ int BatteryStatsQuerier::query(const char *sql)
        return __dbMgr.execute(0, sql, this) ? ERR_NONE : ERR_OPERATION_FAILED;
 }
 
-int BatteryStatsQuerier::queryRange(int startTime, int endTime)
+int BatteryStatsQuerier::query(int startTime, int endTime)
+{
+       char *sql = sqlite3_mprintf(BATTERY_USAGE_QUERY, startTime, endTime);
+
+       int error = query(sql);
+       sqlite3_free(sql);
+
+       return error;
+}
+
+int BatteryStatsQuerier::query(int startTime, int endTime, int resultSize)
+{
+       char *sql = sqlite3_mprintf(BATTERY_USAGE_QUERY " LIMIT %d", startTime, endTime, resultSize);
+
+       int error = query(sql);
+       sqlite3_free(sql);
+
+       return error;
+}
+
+int BatteryStatsQuerier::queryRecent(int startTime, int endTime)
 {
-       char *sql = sqlite3_mprintf(BATTERY_USAGE_DEFAULT_QUERY, startTime, endTime);
+       char *sql = sqlite3_mprintf(RECENT_BATTERY_USAGE_QUERY, endTime - startTime, startTime, endTime);
 
        int error = query(sql);
        sqlite3_free(sql);
@@ -51,9 +77,9 @@ int BatteryStatsQuerier::queryRange(int startTime, int endTime)
        return error;
 }
 
-int BatteryStatsQuerier::queryRangeLimit(int startTime, int endTime, int resultSize)
+int BatteryStatsQuerier::queryRecent(int startTime, int endTime, int resultSize)
 {
-       char *sql = sqlite3_mprintf(BATTERY_USAGE_DEFAULT_QUERY " LIMIT %d", startTime, endTime, resultSize);
+       char *sql = sqlite3_mprintf(RECENT_BATTERY_USAGE_QUERY " LIMIT %d", endTime - startTime, startTime, endTime, resultSize);
 
        int error = query(sql);
        sqlite3_free(sql);
index 2385a2f..6d320ae 100644 (file)
@@ -28,8 +28,10 @@ namespace ctx {
                ~BatteryStatsQuerier();
 
                // For now, Default result size(10) isn't applied, unlike other history type.
-               int queryRange(int startTime, int endTime);
-               int queryRangeLimit(int startTime, int endTime, int resultSize);
+               int query(int startTime, int endTime);
+               int query(int startTime, int endTime, int resultSize);
+               int queryRecent(int startTime, int endTime);
+               int queryRecent(int startTime, int endTime, int resultSize);
 
        protected:
                int query(const char *sql);
index 0663650..511b55b 100644 (file)
@@ -38,9 +38,9 @@ int RecentBatteryUsageProvider::read(Json option, Json *requestResult)
 
        int error;
        if (hasLimit) {
-               error = querier->queryRangeLimit(BatteryMonitor::getLastResetTime(), CURRENT_TIME, resultSize);
+               error = querier->queryRecent(BatteryMonitor::getLastResetTime(), CURRENT_TIME, resultSize);
        } else {
-               error = querier->queryRange(BatteryMonitor::getLastResetTime(), CURRENT_TIME);
+               error = querier->queryRecent(BatteryMonitor::getLastResetTime(), CURRENT_TIME);
        }
        IF_FAIL_RETURN_TAG(error == ERR_NONE, ERR_OPERATION_FAILED, _E, "Failed to get recent app battery usage");