There are no nodes for below enum in emulator.
They are only available in real target.
DEVICE_BATTERY_PROPERTY_VOLTAGE_NOW
DEVICE_BATTERY_PROPERTY_VOLTAGE_AVERAGE
DEVICE_BATTERY_PROPERTY_TEMPERATURE
So, add is_emulator to distinguish real target and emulator.
device_battery_get_property returns DEVICE_ERROR_NOT_SUPPORTED for emulator.
Change-Id: I5bae62fb8e4f977f7e763ce8e4dbea49e02fb52c
Signed-off-by: lokilee73 <changjoo.lee@samsung.com>
#include "battery.h"
#include "common.h"
#include "dbus.h"
+#include <system_info.h>
#define METHOD_GET_PERCENT "GetPercent"
#define METHOD_GET_INFO "GetBatteryInfo"
if (!ret)
return DEVICE_ERROR_NOT_SUPPORTED;
+ if (is_emulator())
+ if (property == DEVICE_BATTERY_PROPERTY_VOLTAGE_NOW ||
+ property == DEVICE_BATTERY_PROPERTY_VOLTAGE_AVERAGE ||
+ property == DEVICE_BATTERY_PROPERTY_TEMPERATURE)
+ return DEVICE_ERROR_NOT_SUPPORTED;
+
ret = device_battery_get_info(&info);
if (ret != DEVICE_ERROR_NONE) {
_E("Failed to get battery info (%d)", ret); //LCOV_EXCL_LINE Logs
#define NEWLINE "\n\r"
#define COMMENT '#'
+#define MODEL_NAME "http://tizen.org/system/model_name"
+#define MODEL_EMULATOR "Emulator"
+
static inline char *trim_str(char *s)
{
char *t;
num_calls++;
return 0;
}
+
+bool is_emulator(void)
+{
+ int ret;
+ char *model_name = NULL;
+ static bool emul = false;
+ static int set = 0;
+
+ if (set)
+ return emul;
+
+ ret = system_info_get_platform_string(MODEL_NAME, &model_name);
+ if (ret < 0) {
+ _E("Cannot get model name(%d)", ret);
+ return emul;
+ }
+
+ if (!strncmp(MODEL_EMULATOR, model_name, strlen(model_name) + 1))
+ emul = true;
+
+ set = 1;
+ free(model_name);
+
+ return emul;
+}
#define TIZEN_FEATURE_TRACKER (_get_tizen_profile() == TIZEN_PROFILE_TV)
+bool is_emulator(void);
#endif /* __COMMON_H__ */