Merge "healthd: Adds fake battery properties for devices with no battery." into mnc-dr-dev

This commit is contained in:
Ruchi Kandoi 2015-10-12 21:40:39 +00:00 committed by Android (Google) Code Review
commit 08cf0e55a7
2 changed files with 19 additions and 1 deletions

View file

@ -39,6 +39,7 @@
#define POWER_SUPPLY_SYSFS_PATH "/sys/class/" POWER_SUPPLY_SUBSYSTEM #define POWER_SUPPLY_SYSFS_PATH "/sys/class/" POWER_SUPPLY_SUBSYSTEM
#define FAKE_BATTERY_CAPACITY 42 #define FAKE_BATTERY_CAPACITY 42
#define FAKE_BATTERY_TEMPERATURE 424 #define FAKE_BATTERY_TEMPERATURE 424
#define ALWAYS_PLUGGED_CAPACITY 100
namespace android { namespace android {
@ -199,6 +200,15 @@ bool BatteryMonitor::update(void) {
mBatteryFixedTemperature : mBatteryFixedTemperature :
getIntField(mHealthdConfig->batteryTemperaturePath); getIntField(mHealthdConfig->batteryTemperaturePath);
// For devices which do not have battery and are always plugged
// into power souce.
if (mAlwaysPluggedDevice) {
props.chargerAcOnline = true;
props.batteryPresent = true;
props.batteryStatus = BATTERY_STATUS_CHARGING;
props.batteryHealth = BATTERY_HEALTH_GOOD;
}
const int SIZE = 128; const int SIZE = 128;
char buf[SIZE]; char buf[SIZE];
String8 btech; String8 btech;
@ -542,8 +552,15 @@ void BatteryMonitor::init(struct healthd_config *hc) {
closedir(dir); closedir(dir);
} }
if (!mChargerNames.size()) // This indicates that there is no charger driver registered.
// Typically the case for devices which do not have a battery and
// and are always plugged into AC mains.
if (!mChargerNames.size()) {
KLOG_ERROR(LOG_TAG, "No charger supplies found\n"); KLOG_ERROR(LOG_TAG, "No charger supplies found\n");
mBatteryFixedCapacity = ALWAYS_PLUGGED_CAPACITY;
mBatteryFixedTemperature = FAKE_BATTERY_TEMPERATURE;
mAlwaysPluggedDevice = true;
}
if (!mBatteryDevicePresent) { if (!mBatteryDevicePresent) {
KLOG_WARNING(LOG_TAG, "No battery devices found\n"); KLOG_WARNING(LOG_TAG, "No battery devices found\n");
hc->periodic_chores_interval_fast = -1; hc->periodic_chores_interval_fast = -1;

View file

@ -46,6 +46,7 @@ class BatteryMonitor {
struct healthd_config *mHealthdConfig; struct healthd_config *mHealthdConfig;
Vector<String8> mChargerNames; Vector<String8> mChargerNames;
bool mBatteryDevicePresent; bool mBatteryDevicePresent;
bool mAlwaysPluggedDevice;
int mBatteryFixedCapacity; int mBatteryFixedCapacity;
int mBatteryFixedTemperature; int mBatteryFixedTemperature;
struct BatteryProperties props; struct BatteryProperties props;