From 2dfb91412c27581d27b7eba172912d2893d69abe Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Wed, 22 Jul 2015 17:23:40 -0700 Subject: UsageStats: Reduce log spam during time change With lots of usage stats files, the log gets spammy when the time changes and we are moving files around. Bug:22549399 Change-Id: I9da39399b090066d52568dea6fc5b59aba063c5a --- .../com/android/server/usage/UsageStatsDatabase.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'services/usage') diff --git a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java index 0a7091e..f8ae03f 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java +++ b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java @@ -21,6 +21,7 @@ import android.app.usage.UsageStatsManager; import android.os.Build; import android.util.AtomicFile; import android.util.Slog; +import android.util.TimeUtils; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -277,14 +278,21 @@ class UsageStatsDatabase { public void onTimeChanged(long timeDiffMillis) { synchronized (mLock) { + StringBuilder logBuilder = new StringBuilder(); + logBuilder.append("Time changed by "); + TimeUtils.formatDuration(timeDiffMillis, logBuilder); + logBuilder.append("."); + + int filesDeleted = 0; + int filesMoved = 0; + for (TimeSparseArray files : mSortedStatFiles) { final int fileCount = files.size(); for (int i = 0; i < fileCount; i++) { final AtomicFile file = files.valueAt(i); final long newTime = files.keyAt(i) + timeDiffMillis; if (newTime < 0) { - Slog.i(TAG, "Deleting file " + file.getBaseFile().getAbsolutePath() - + " for it is in the future now."); + filesDeleted++; file.delete(); } else { try { @@ -299,14 +307,17 @@ class UsageStatsDatabase { } final File newFile = new File(file.getBaseFile().getParentFile(), newName); - Slog.i(TAG, "Moving file " + file.getBaseFile().getAbsolutePath() + " to " - + newFile.getAbsolutePath()); + filesMoved++; file.getBaseFile().renameTo(newFile); } } files.clear(); } + logBuilder.append(" files deleted: ").append(filesDeleted); + logBuilder.append(" files moved: ").append(filesMoved); + Slog.i(TAG, logBuilder.toString()); + // Now re-index the new files. indexFilesLocked(); } -- cgit v1.1