return "";
}
- /* TODO: Enable after fixing the log aggregator
if (filter.get(NULL, STATS_DAY_OF_WEEK, &week_str))
filter_cleaned.set(NULL, STATS_DAY_OF_WEEK, week_str);
if (filter.get(NULL, STATS_TIME_OF_DAY, &time_of_day))
filter_cleaned.set(NULL, STATS_TIME_OF_DAY, time_of_day);
- */
std::stringstream query;
{
db_manager::execute(0,
"SELECT IFNULL(MAX(" STATS_UNIV_TIME "),0) AS " STATS_LAST_TIME \
+ ", (strftime('%s', 'now', 'localtime')) - (strftime('%s', 'now')) AS " TIME_DIFFERENCE \
" FROM " SOCIAL_TABLE_CONTACT_LOG, this);
}
int last_time = 0;
records[0].get(NULL, STATS_LAST_TIME, &last_time);
- _D("Last Comm Time: %d", last_time);
+ records[0].get(NULL, TIME_DIFFERENCE, &time_diff);
+
+ _D("Last Time: %d / Local - UTC: %d", last_time, time_diff);
scope_zone_joiner sz(zone_util::default_zone());
data.set(NULL, SOCIAL_PHONE_LOG_TYPE, log_type);
data.set(NULL, STATS_DURATION, duration);
data.set(NULL, STATS_UNIV_TIME, accesstime);
+ data.set(NULL, STATS_LOCAL_TIME, accesstime + time_diff);
/* TODO: Local Time */
class contact_log_aggregator : public db_listener_iface, public timer_listener_iface {
private:
int timer_id;
+ int time_diff;
void create_table();
void get_updated_contact_log_list(int last_time, contacts_list_h *list);
void insert_contact_log_list(contacts_list_h list);
#define SOCIAL_TABLE_CONTACT_LOG_COLUMNS \
"Address TEXT NOT NULL, PLogType INTEGER NOT NULL, " \
"Duration INTEGER NOT NULL DEFAULT 0, " \
- "UTC TIMESTAMP DEFAULT (strftime('%s', 'now'))"
+ "UTC TIMESTAMP DEFAULT (strftime('%s', 'now')), " \
+ "LocalTime TIMESTAMP DEFAULT (strftime('%s', 'now', 'localtime'))"
#define SOCIAL_TEMP_CONTACT_FREQ "Temp_ContactFreq"
#define SOCIAL_TEMP_CONTACT_FREQ_SQL \
#define SOCIAL_COMMUNICATION_TYPE "CommunicationType"
#define SOCIAL_ADDRESS "Address"
#define SOCIAL_PHONE_LOG_TYPE "PLogType"
+#define TIME_DIFFERENCE "TimeDIff"
enum _social_comm_type_e {
SOCIAL_COMMUNICATION_TYPE_CALL = 1,