diff options
| author | 2025-03-20 04:15:21 -0700 | |
|---|---|---|
| committer | 2025-03-20 04:15:21 -0700 | |
| commit | bebb3010e6ef8411263a1e18e12d83fb7441ba6f (patch) | |
| tree | 4868dee428069cd2e17bb3cc2d6749cc1ca04932 | |
| parent | 2a20688dcb18a3896d1e59036d83d059e9535425 (diff) | |
| parent | 78596ce701fbfc1893dd1ff9edf12ac7d22f8b48 (diff) | |
Merge "Prevent IndexOutOfBoundsException when trimming the battery history directory" into main
| -rw-r--r-- | services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java b/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java index 7cd9bdbc662c..b4ca7845ffee 100644 --- a/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java +++ b/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java @@ -505,7 +505,9 @@ public class BatteryHistoryDirectory implements BatteryStatsHistory.BatteryHisto for (int i = 0; i < mHistoryFiles.size(); i++) { size += (int) mHistoryFiles.get(i).atomicFile.getBaseFile().length(); } - while (size > mMaxHistorySize) { + // Trim until the directory size is within the limit or there is just one most + // recent file left in the directory + while (size > mMaxHistorySize && mHistoryFiles.size() > 1) { BatteryHistoryFile oldest = mHistoryFiles.get(0); int length = (int) oldest.atomicFile.getBaseFile().length(); oldest.atomicFile.delete(); |