int gtimeo_id[2];
static int data_collection_period = 600000;
+static struct timeval last_plugin_request_time;
+static struct timeval cur_plugin_request_time;
+
+void bm_update_plugin_request_time(void)
+{
+ ENTER;
+
+ if (!memcpy(&last_plugin_request_time, &cur_plugin_request_time, sizeof(struct timeval))) {
+ _ERR("memcpy failed");
+ return;
+ }
+
+ if (gettimeofday(&cur_plugin_request_time, NULL) != 0) {
+ _ERR("gettimeofday failed : %m");
+ return;
+ }
+
+ EXIT;
+ return;
+}
+
int bm_engine_get_mah_usage_by_app_id_for_resource_id_ci(const gchar* app_id, gint resource_id, gint64 start_time, gint64 end_time, double *battery_usage)
{
ENTER;
history_item_s hi;
bd_print_history_item_reset(&hi);
+ hi.time_current = (long long)last_plugin_request_time.tv_sec;
+
hi.cmd_s = CM_USAGE;
hi.usage_type = USAGE_BLUETOOTH;
hi.usage = (RX_system + TX_system + RX_app + TX_app) / ((double)data_collection_period / 60000); // bytes / minute
history_item_s hi;
bd_print_history_item_reset(&hi);
+ hi.time_current = (long long)last_plugin_request_time.tv_sec;
+
hi.cmd_s = CM_USAGE;
hi.usage_type = USAGE_WIFI;
hi.usage = (RX + TX) / ((double)data_collection_period / 60000); // bytes / minute
}
}
+ bm_update_plugin_request_time();
+
/* request data from each plugin & store its handle */
#ifdef DISABLE_FEATURE_DATA_FROM_GPS_HRM_PLUGIN
for (id = BM_PLUGIN_ID_BLE; id < BM_PLUGIN_ID_MAX; ++id) {
_ERR("unable ro read battery capacity");
battery_capacity *= cmah; //Battery Capacity in mAs
+ bm_update_plugin_request_time();
+
EXIT;
return ret_val;
}