From 7c5c864c8a6690243e1cea13c5ff37add16b1744 Mon Sep 17 00:00:00 2001 From: Brian Carlstrom Date: Fri, 9 May 2014 09:48:33 -0700 Subject: [PATCH] If PackageUsage information is missing, treat as first boot and compile everything Bug: 14663243 Change-Id: I0ae33882044211f777590f482e17e87596be4463 --- .../com/android/server/pm/PackageManagerService.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index e3e9d60930954..51c450bc0286c 100755 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -603,6 +603,12 @@ public class PackageManagerService extends IPackageManager.Stub { private final AtomicLong mLastWritten = new AtomicLong(0); private final AtomicBoolean mBackgroundWriteRunning = new AtomicBoolean(false); + private boolean mIsFirstBoot = false; + + boolean isFirstBoot() { + return mIsFirstBoot; + } + void write(boolean force) { if (force) { write(); @@ -691,6 +697,7 @@ public class PackageManagerService extends IPackageManager.Stub { pkg.mLastPackageUsageTimeInMills = timeInMillis; } } catch (FileNotFoundException expected) { + mIsFirstBoot = true; } catch (IOException e) { Log.w(TAG, "Failed to read package usage times", e); } finally { @@ -1691,7 +1698,7 @@ public class PackageManagerService extends IPackageManager.Stub { @Override public boolean isFirstBoot() { - return !mRestoredSettings; + return !mRestoredSettings || mPackageUsage.isFirstBoot(); } @Override