From a78fc23491f3490bec4e4ac72c4bdc8c6d554fe3 Mon Sep 17 00:00:00 2001 From: Ruchi Kandoi Date: Thu, 10 Jul 2014 15:06:21 -0700 Subject: [PATCH] healthd: Reports arbitrary numbers for capacity and temperature when connected to fake battery. Detects if the device is attached to a fake battery if yes, healthd reports 42% battery charge and 42.2 degrees temperature. Change-Id: I2508fd91c8d3848ea64f57ab59d20be1c2817913 --- healthd/BatteryMonitor.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/healthd/BatteryMonitor.cpp b/healthd/BatteryMonitor.cpp index 1ee33a187..4a6b7020a 100644 --- a/healthd/BatteryMonitor.cpp +++ b/healthd/BatteryMonitor.cpp @@ -35,6 +35,8 @@ #define POWER_SUPPLY_SUBSYSTEM "power_supply" #define POWER_SUPPLY_SYSFS_PATH "/sys/class/" POWER_SUPPLY_SUBSYSTEM +#define FAKE_BATTERY_CAPACITY 42 +#define FAKE_BATTERY_TEMPERATURE 424 namespace android { @@ -530,11 +532,11 @@ void BatteryMonitor::init(struct healthd_config *hc) { KLOG_WARNING(LOG_TAG, "BatteryTechnologyPath not found\n"); } - if (property_get("persist.sys.battery.capacity", pval, NULL) > 0) - mBatteryFixedCapacity = (int) strtol(pval, NULL, 10); - - if (property_get("persist.sys.battery.temperature", pval, NULL) > 0) - mBatteryFixedTemperature = (int) strtol(pval, NULL, 10); + if (property_get("ro.boot.fake_battery", pval, NULL) > 0 + && strtol(pval, NULL, 10) != 0) { + mBatteryFixedCapacity = FAKE_BATTERY_CAPACITY; + mBatteryFixedTemperature = FAKE_BATTERY_TEMPERATURE; + } } }; // namespace android