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

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

Change-Id: Ie344e429cb3840997fdac81632874f0793dc562e
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:03:00 +00:00
committed by Automerger Merge Worker

View File

@@ -882,11 +882,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());