/* internal header */
#include "bmt_utility.h"
#include <sys/time.h>
-#include <sys/times.h>
+#include <time.h>
+#include <unistd.h>
#include <tzplatform_config.h>
#include <app_manager.h>
#include "battery_monitor.h"
#include "battery_monitor_util.h"
+time_t s_t = 0, e_t = 0;
+const int tmin = 604800; /* Time interval for 7 days in seconds */
+static int count = 20;
+
+static void get_custom_time_values(void)
+{
+ time_t crr_time;
+ time(&crr_time);
+ if (crr_time == -1)
+ return;
+ s_t = 0; e_t = 0;
+ s_t = (crr_time - tmin/2); e_t = (crr_time - 1);
+
+ return;
+}
+
static gboolean bmt_testapp_get_total_power_usage_by_app_id_for_ci()
{
/*
return FALSE;
}
+bool bmt_testapp_get_power_usage_automated()
+{
+ time_t start_time = 0, end_time = 0;
+
+ testapp_time_s *user_data = (testapp_time_s *)calloc(1, sizeof(testapp_time_s));
+ if (user_data == NULL) {
+ testapp_print("time_s memory allocation failed");
+ return FALSE;
+ }
+ int i = 0; unsigned int wait_time = 5, next_iteration = 180;
+ double battery_usage = -1;
+ while(i < count) {
+ get_custom_time_values();
+ if (s_t != 0 && e_t != 0) {
+ start_time = s_t;
+ end_time = e_t;
+ }
+ else
+ return FALSE;
+
+ testapp_print("\n Start Time: %ld \n", start_time);
+ testapp_print("\n End Time: %ld \n", end_time);
+ user_data->from = start_time; user_data->to = end_time;
+
+ int error_code = APP_MANAGER_ERROR_NONE;
+ error_code = app_manager_foreach_app_info(get_app_id_all_resource_cb, (void *)user_data);
+ if (error_code != APP_MANAGER_ERROR_NONE)
+ testapp_print("app manager fails");
+
+ sleep(wait_time); //Before using the next API
+
+ for (int id = BATTERY_MONITOR_RESOURCE_ID_BLE; id < BATTERY_MONITOR_RESOURCE_ID_MAX; id++) {
+ battery_usage = -1;
+ error_code = battery_monitor_get_power_usage_by_resource(id, start_time, end_time, &battery_usage);
+ if (error_code != BATTERY_MONITOR_ERROR_NONE) {
+ if (error_code == BATTERY_MONITOR_ERROR_RECORD_NOT_FOUND)
+ testapp_print ("This resource is not available \n");
+ continue;
+ }
+
+ switch (id) {
+ case BATTERY_MONITOR_RESOURCE_ID_BLE:
+ testapp_print ("Resource ID : BT Usage Value = [%lf] \n", battery_usage);
+ break;
+ case BATTERY_MONITOR_RESOURCE_ID_WIFI:
+ testapp_print ("Resource ID : WIFI Usage Value = [%lf] \n", battery_usage);
+ break;
+ case BATTERY_MONITOR_RESOURCE_ID_CPU:
+ testapp_print ("Resource ID : CPU Usage Value = [%lf] \n", battery_usage);
+ break;
+ case BATTERY_MONITOR_RESOURCE_ID_DISPLAY:
+ testapp_print ("Resource ID : DISPLAY Usage Value = [%lf] \n", battery_usage);
+ break;
+ case BATTERY_MONITOR_RESOURCE_ID_DEVICE_NETWORK:
+ testapp_print ("Resource ID : DEVICE NETWORK Usage Value = [%lf] \n", battery_usage);
+ break;
+ case BATTERY_MONITOR_RESOURCE_ID_GPS_SENSOR:
+ testapp_print ("Resource ID : GPS Usage Value = [%lf] \n", battery_usage);
+ break;
+ default:
+ testapp_print ("Default Case \n");
+ break;
+ }
+ }
+ i++;
+ sleep(next_iteration);
+ }
+ free(user_data);
+ return FALSE;
+}
+
static gboolean testapp_test_interpret_command(int selected_number)
{
gboolean go_to_loop = TRUE;
case 7:
bmt_testapp_get_power_usage_for_all_app_id_per_resource();
break;
+ case 8:
+ break;
+ case 9:
+ bmt_testapp_get_power_usage_automated();
+ break;
case 0:
go_to_loop = FALSE;
break;