Fix BatteryStats counts foreground activity time.
When an application crashes or ANRs in the foreground, or when the application actively commits suicide in the foreground. It is often impossible to switch to the PAUSED state of ActivityRecord. At this time, the Timer in BatteryStats cannot be terminated, and it will keep timing, which will eventually lead to errors in foreground activity time statistics. So we'll settle in the handleAppDied function to fix that. Bug: 208355716 Change-Id: I23baf545105e0bb9322dc4a1702e38e0ef825c53 Signed-off-by: unknown <80264454@adc.com>
This commit is contained in:
@@ -4932,6 +4932,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
mAtmService.updateActivityUsageStats(this, Event.ACTIVITY_STOPPED);
|
||||
break;
|
||||
case DESTROYED:
|
||||
if (app != null && (mVisible || mVisibleRequested)) {
|
||||
// The app may be died while visible (no PAUSED state).
|
||||
mAtmService.updateBatteryStats(this, false);
|
||||
}
|
||||
mAtmService.updateActivityUsageStats(this, Event.ACTIVITY_DESTROYED);
|
||||
// Fall through.
|
||||
case DESTROYING:
|
||||
|
||||
Reference in New Issue
Block a user