#define BATTERY_PID "Pid"
#define CURRENT_TIME (int)(time(0))
+#define BATTERY_DEFAULT_LIMIT 50
/* Typedefs */
namespace ctx {
endTime = CURRENT_TIME;
}
- int resultSize;
- bool hasLimit = option.get(NULL, KEY_RESULT_SIZE, &resultSize);
+ int resultSize = BATTERY_DEFAULT_LIMIT;
+ option.get(NULL, KEY_RESULT_SIZE, &resultSize);
BatteryStatsQuerier *querier = getQuerier(option);
IF_FAIL_RETURN(querier, ERR_OPERATION_FAILED);
- int error;
- if (hasLimit) {
- error = querier->query((startTime > timeSpanPoint)? startTime : timeSpanPoint, endTime, resultSize);
- } else {
- error = querier->query((startTime > timeSpanPoint)? startTime : timeSpanPoint, endTime);
- }
+ int error = querier->query((startTime > timeSpanPoint)? startTime : timeSpanPoint, endTime, resultSize);
IF_FAIL_RETURN_TAG(error == ERR_NONE, ERR_OPERATION_FAILED, _E, "Failed to get app battery usage");
return ERR_NONE;
return __dbMgr.execute(0, sql, this) ? ERR_NONE : ERR_OPERATION_FAILED;
}
-int BatteryStatsQuerier::query(int startTime, int endTime)
-{
- char *sql = sqlite3_mprintf(BATTERY_USAGE_QUERY, startTime, endTime, 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, startTime, endTime, resultSize);
return error;
}
-int BatteryStatsQuerier::queryRecent(int startTime, int endTime)
-{
- char *sql = sqlite3_mprintf(RECENT_BATTERY_USAGE_QUERY, startTime, endTime, endTime - startTime, startTime, endTime);
-
- int error = query(sql);
- sqlite3_free(sql);
-
- return error;
-}
-
int BatteryStatsQuerier::queryRecent(int startTime, int endTime, int resultSize)
{
char *sql = sqlite3_mprintf(RECENT_BATTERY_USAGE_QUERY " LIMIT %d", startTime, endTime, endTime - startTime, startTime, endTime, resultSize);
BatteryStatsQuerier(ContextProvider *provider, Json option);
~BatteryStatsQuerier();
- // For now, Default result size(10) isn't applied, unlike other history type.
- int query(int startTime, int endTime);
+ // Default result size for battery statistics is 50, unlike other history type.
int query(int startTime, int endTime, int resultSize);
- int queryRecent(int startTime, int endTime);
int queryRecent(int startTime, int endTime, int resultSize);
protected:
{
BatteryMonitor::getInstance()->prepareData();
- int resultSize;
- bool hasLimit = option.get(NULL, KEY_RESULT_SIZE, &resultSize);
+ int resultSize = BATTERY_DEFAULT_LIMIT;
+ option.get(NULL, KEY_RESULT_SIZE, &resultSize);
BatteryStatsQuerier *querier = getQuerier(option);
IF_FAIL_RETURN(querier, ERR_OPERATION_FAILED);
- int error;
int lastFullTime = BatteryMonitor::getInstance()->getLastFullTime();
- if (hasLimit) {
- error = querier->queryRecent(lastFullTime, CURRENT_TIME, resultSize);
- } else {
- error = querier->queryRecent(lastFullTime, CURRENT_TIME);
- }
+ int error = querier->queryRecent(lastFullTime, CURRENT_TIME, resultSize);
IF_FAIL_RETURN_TAG(error == ERR_NONE, ERR_OPERATION_FAILED, _E, "Failed to get recent app battery usage");
return ERR_NONE;