_E("Failed to get value of (%s, %d)", FILE_BATTERY_CAPACITY, ret);
return ret;
}
+
+ /* When the TW emulator first accesses /sys/class/power_supply/battery/capacity,
+ it sometimes returns an empty string. */
+ if (capacity_str[0] == 0) {
+ _E("/sys/class/power_supply/battery/capacity returns null string, retry read it again");
+ ret = sys_get_str(FILE_BATTERY_CAPACITY, capacity_str, sizeof(capacity_str));
+ if (ret < 0) {
+ _E("Failed to get value of (%s, %d)", FILE_BATTERY_CAPACITY, ret);
+ return ret;
+ }
+ }
+
ret = sys_get_str(FILE_BATTERY_CHARGER_ONLINE, charger_str, sizeof(charger_str));
if (ret < 0) {
_E("Failed to get value of (%s, %d)", FILE_BATTERY_CHARGER_ONLINE, ret);