Merge "UsageStatsService: ignore removed users in persistPendingEventsLocked()" am: f523bbcddc

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

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

View File

@@ -787,11 +787,16 @@ public class UsageStatsService extends SystemService implements
return; return;
} }
final File usageStatsDeDir = new File(Environment.getDataSystemDeDirectory(userId), final File deDir = Environment.getDataSystemDeDirectory(userId);
"usagestats"); final File usageStatsDeDir = new File(deDir, "usagestats");
if (!usageStatsDeDir.mkdirs() && !usageStatsDeDir.exists()) { if (!usageStatsDeDir.mkdir() && !usageStatsDeDir.exists()) {
throw new IllegalStateException("Usage stats DE directory does not exist: " if (deDir.exists()) {
+ usageStatsDeDir.getAbsolutePath()); 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, final File pendingEventsFile = new File(usageStatsDeDir,
"pendingevents_" + System.currentTimeMillis()); "pendingevents_" + System.currentTimeMillis());