In some corner cases, we will receive the DeadSystemException from
BatteryStatService when invoking getBatteryUsageStats() method, since it
will encounter the binder transaction too large error. Before the root
cause is resolved by the BatteryStatService team, we have to add
workaround protection in the app side to avoid Setting is crashed.
Bug: 191237968
Bug: 198084535
Test: make SettingsRoboTests
Change-Id: I783479241bac83b4afc8ced3073e1b1db302c48c
Merged-In: I75fcf63f4f69d86d6dce0e12bd4d738b1219ae47
Bug: 173745486
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryHistoryPreferenceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryInfoLoaderTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryInfoTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryUtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.batterytip.detectors
Change-Id: I469ff8b88aa3307422c02f51943df4ef1759db56
For now, keep both BatteryStatsHelper and BatteryUsageStats in play.
The plan is to transition from the former to the latter, one usage
at a time. When all is said and done, all references to
BatteryStatsHelper will be gone.
Bug: 173745486
Test: atest --host SettingsRoboTests
Change-Id: I37e1dfff0043b1845992f18d72067bb547bb69ff