Merge "UsageStatsService: ignore removed users in persistPendingEventsLocked()" am: f523bbcddc am: 27938f3b4e am: a7f6aedc36 am: 731a725635

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2109435

Change-Id: I9cfc154b66f078851308f0eea48f0554a4aa9829
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Eric Biggers
2022-06-01 19:42:07 +00:00
committed by Automerger Merge Worker

View File

@@ -882,11 +882,16 @@ public class UsageStatsService extends SystemService implements
return;
}
final File usageStatsDeDir = new File(Environment.getDataSystemDeDirectory(userId),
"usagestats");
if (!usageStatsDeDir.mkdirs() && !usageStatsDeDir.exists()) {
throw new IllegalStateException("Usage stats DE directory does not exist: "
+ usageStatsDeDir.getAbsolutePath());
final File deDir = Environment.getDataSystemDeDirectory(userId);
final File usageStatsDeDir = new File(deDir, "usagestats");
if (!usageStatsDeDir.mkdir() && !usageStatsDeDir.exists()) {
if (deDir.exists()) {
Slog.e(TAG, "Failed to create " + usageStatsDeDir);
} else {
Slog.w(TAG, "User " + userId + " was already removed! Discarding pending events");
pendingEvents.clear();
}
return;
}
final File pendingEventsFile = new File(usageStatsDeDir,
"pendingevents_" + System.currentTimeMillis());