If the usage stats file doesn't exist in the first place there is no need to
backup and short return.
diff --git a/services/java/com/android/server/am/UsageStatsService.java b/services/java/com/android/server/am/UsageStatsService.java
index 373b44e..f99ca96b 100644
--- a/services/java/com/android/server/am/UsageStatsService.java
+++ b/services/java/com/android/server/am/UsageStatsService.java
@@ -380,11 +380,15 @@
// Get the most recent file
mFileLeaf = getCurrentDateStr(FILE_PREFIX);
// Copy current file to back up
- File backupFile = new File(mFile.getPath() + ".bak");
- if (!mFile.renameTo(backupFile)) {
- Log.w(TAG, "Failed to persist new stats");
- return;
+ File backupFile = null;
+ if (mFile != null && mFile.exists()) {
+ backupFile = new File(mFile.getPath() + ".bak");
+ if (!mFile.renameTo(backupFile)) {
+ Log.w(TAG, "Failed to persist new stats");
+ return;
+ }
}
+
try {
// Write mStats to file
writeStatsFLOCK();
@@ -468,16 +472,10 @@
final boolean samePackage = pkgName.equals(mLastResumedPkg);
if (mIsResumed) {
- if (samePackage) {
- Log.w(TAG, "Something wrong here, didn't expect "
- + pkgName + " to be resumed");
- return;
- }
-
if (mLastResumedPkg != null) {
// We last resumed some other package... just pause it now
// to recover.
- Log.w(TAG, "Unexpected resume of " + pkgName
+ Log.i(TAG, "Unexpected resume of " + pkgName
+ " while already resumed in " + mLastResumedPkg);
PkgUsageStatsExtended pus = mStats.get(mLastResumedPkg);
if (pus != null) {
@@ -516,7 +514,7 @@
return;
}
if (!mIsResumed) {
- Log.w(TAG, "Something wrong here, didn't expect "
+ Log.i(TAG, "Something wrong here, didn't expect "
+ pkgName + " to be paused");
return;
}
@@ -527,7 +525,7 @@
PkgUsageStatsExtended pus = mStats.get(pkgName);
if (pus == null) {
// Weird some error here
- Log.w(TAG, "No package stats for pkg:"+pkgName);
+ Log.i(TAG, "No package stats for pkg:"+pkgName);
return;
}
pus.updatePause();