title: How is the Android battery health determined?
body: <p>I am not talking about how to read the value.</p>
  
  <p>Rather, I am interested in how the value of BatteryManager.EXTRA_HEALTH is being set.</p>
  
  <p>Does it come from the firmware?  Manufacturer specific?</p>
  
  <p>What determines these values?</p>
  
  <pre><code>int BATTERY_HEALTH_COLD 
  int BATTERY_HEALTH_DEAD 
  int BATTERY_HEALTH_GOOD 
  int BATTERY_HEALTH_OVERHEAT 
  int BATTERY_HEALTH_OVER_VOLTAGE 
  int BATTERY_HEALTH_UNKNOWN  
  int BATTERY_HEALTH_UNSPECIFIED_FAILURE
  </code></pre>
  
  <p>Thanks,
  Simon</p>