#define DEFAULT_ROW_ID_STR "1"
#define HEART_DB_QUERY_INTERVAL 10 * 60 * 1000
-#define ONE_DAY_IN_SEC 86400
#define DEFAULT_TIME_DIFF 600
#define TIME_DIFF_THRESHOLD 300
ret = __updateLastCpuUsageLog(lastHeartCpuLog);
IF_FAIL_RETURN_TAG(ret, false, _E, "Failed to update last cpu log");
- __removeExpiredLog();
__needSync = false;
return true;
}
query = query.substr(0, query.size() - 2);
+ // Remove expired log
+ query += "; DELETE FROM " + std::string(BATTERY_USAGE_TABLE)
+ + " WHERE EndTime < " + std::to_string(CURRENT_TIME - LOG_RETENTION_PERIOD)
+ + " OR EndTime > " + std::to_string(CURRENT_TIME) + ";";
+
_D("Insert %d rows of per app battery usage", usage.size());
return __dbMgr.executeSync(query.c_str(), NULL);
}
-void BatteryMonitor::__removeExpiredLog()
-{
- static int lastCleanupTime = 0;
-
- int currentTime = CURRENT_TIME;
- IF_FAIL_VOID(currentTime - lastCleanupTime >= ONE_DAY_IN_SEC);
- lastCleanupTime = currentTime;
-
- char *sql = sqlite3_mprintf(
- "DELETE FROM " BATTERY_USAGE_TABLE " WHERE EndTime < %d OR EndTime > %d",
- CURRENT_TIME - LOG_RETENTION_PERIOD, CURRENT_TIME);
- __dbMgr.execute(0, sql, NULL);
- sqlite3_free(sql);
- _D("Remove expired log");
-}
-
bool BatteryMonitor::__updateLastCpuUsageLog(CpuUsageMap& usage)
{
_D("Delete all rows from last cpu usage table");
bool __insertBatteryUsageLog(std::vector<Json>& usage);
bool __updateLastCpuUsageLog(CpuUsageMap& usage);
bool __getLastCpuUsageTable(CpuUsageMap* lastCpuUsage);
- void __removeExpiredLog();
void __modifyLastCpuUsage(int timeDiff);
static void __chargerChangeCb(device_callback_e type, void* value, void* userData);