Battery replacement concerns!
After replacing the battery in my OPO (stable, 16.04, OTA-5), I left it unplugged to discharge the battery to 0%. The phone abruptly turned off when the battery level was reported between 25%-50% (not yet red at least). After plugging it back in, I got an English/Mandarin, "The battery level is too low to boot" message, indicating the battery had discharged past the floor. I charged it (while device on) to 100%, about 21 hours later, the indicator had turned red. I had to restart for an unrelated issue, and after reboot the indicator read 50% for a while. I rebooted again, and the phone now reported 18%, and is still discharging.
I have replaced a good number of batteries on both iOS and Android devices, and those OSs recalibrate the battery indicator automatically. However, I don't want to take for granted that UT knows how to deal with this. My fear is that the phone will constantly discharge to a charge level that is too low and will damage the battery long term. I have a hunch that UT will do this automatically and the fear is unjustified (although it isn't great that the phone went below "0%", but once is probably fine), and everything will be back to normal after a few discharge cycles at most. However, I have read that the MX4 devices need to be recalibrated by discharging to 0% and charging to 100% while the device is off. Does this only apply to the MX4 devices or all UT devices? Maybe the SoC is reporting battery level to the OS, and it has nothing to do with UT?
I guess my point is, while Android and iOS have ways to deal with every environmental condition a device will ever experience, it is not clear (to me!) what UT can and cannot do. Does anyone know what behavior I should expect, and should I use it differently right now out of concern for the battery? Based on the responses, I will either file a bug, or would like to write some documentation consolidating everything we know about battery replacement on UT.
Phone battery performance doesn't degrade much until about year three where replacement in terms of battery life improvement starts to be very noticable to the user. As all of the supported devices are getting pretty long in the tooth and the fact that a new battery is about $10, we probably shouldn't treat this like an edge case, and should have some sort of documentation as peace of mind for the user through the confusing period following a battery replacement. If the information about the MX4 devices having a weird battery recalibration procedure is true, that alone probably justifies an article.
In case anyone is wondering, the device is reporting 16% after about 23 hours of normal use + overnight with wifi, cellular and bluetooth on and is still going!
The phone dropped below "0%" again, giving the Mandarin "Charge before booting" warning, and now refuses to hold a charge. So, either the battery was defective from teh start, or dropping below "0%" twice killed it.
Does anyone know if UT has any sort of battery recalibration functionality built in? Should I flash back to Android, change the battery and do a couple discharge cycles under Android before reflashing UT?
The battery was some knock-off from Hong Kong, so defective battery is the most likely scenario, but if not, this is a bug and should be documented. Either way, it would be nice to have some kind of information about what to expect.
So, do we know anything??
There is no system service or smth similar installed in UT that does battery recalibration. So, if it is not inside the vendor tree of the device that some charging daemon takes care of it, we do not have anything like this. If you can find out how Android deals with that, it would be of great help (some init job that needs to run etc.) - However, I highly doubt that emptying the battery twice to 0% will kill it, especially if it is a new one. Also its strange that a new battery would die so fast when the calibration was for the old one, which normally should mean that the displayed level is below the actual one from the new battery. But I am just speculating.
Yes, I also expect that it is far more likely that a defective battery is to blame, plus the batteries should have protection circuitry built-in anyways.
Based so far on what I have read (There is some BAD information out there!), there is some handling of this information by Android, so I will figure it out before I reattempt. The Android batterystats.bin information is surviving the flash into UT somehow, because the battery life is in the ballpark of being similar between an Android and UT system. Or maybe it isn't being preserved and it is part of the reason everyone complains about battery life? It would be interesting to hear a battery replacement success story.
A possible solution would be to replace the battery and perform a few discharge cycles under Android before reflashing as it is a very infrequent event.
Anyway, I have put the original battery back in, and everything is running smoothly now. I plan on reattempting this in the near future, but I will try to buy a more expensive knock-off this time.