Merge "Fix Bluetooth power accounting after a BT crash" into sc-dev

This commit is contained in:
Dmitri Plotnikov
2021-06-22 21:19:55 +00:00
committed by Android (Google) Code Review

View File

@@ -12141,6 +12141,15 @@ public class BatteryStatsImpl extends BatteryStats {
}
}
}
void reset() {
idleTimeMs = 0;
rxTimeMs = 0;
txTimeMs = 0;
energy = 0;
uidRxBytes.clear();
uidTxBytes.clear();
}
}
private final BluetoothActivityInfoCache mLastBluetoothActivityInfo
@@ -12167,6 +12176,15 @@ public class BatteryStatsImpl extends BatteryStats {
mHasBluetoothReporting = true;
if (info.getControllerRxTimeMillis() < mLastBluetoothActivityInfo.rxTimeMs
|| info.getControllerTxTimeMillis() < mLastBluetoothActivityInfo.txTimeMs
|| info.getControllerIdleTimeMillis() < mLastBluetoothActivityInfo.idleTimeMs
|| info.getControllerEnergyUsed() < mLastBluetoothActivityInfo.energy) {
// A drop in accumulated Bluetooth stats is a sign of a Bluetooth crash.
// Reset the preserved previous snapshot in order to restart accumulating deltas.
mLastBluetoothActivityInfo.reset();
}
final long rxTimeMs =
info.getControllerRxTimeMillis() - mLastBluetoothActivityInfo.rxTimeMs;
final long txTimeMs =