Merge "Treat missing package usage data as a separate case"
This commit is contained in:
@@ -604,10 +604,10 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
private final AtomicLong mLastWritten = new AtomicLong(0);
|
||||
private final AtomicBoolean mBackgroundWriteRunning = new AtomicBoolean(false);
|
||||
|
||||
private boolean mIsFirstBoot = false;
|
||||
private boolean mIsHistoricalPackageUsageAvailable = true;
|
||||
|
||||
boolean isFirstBoot() {
|
||||
return mIsFirstBoot;
|
||||
boolean isHistoricalPackageUsageAvailable() {
|
||||
return mIsHistoricalPackageUsageAvailable;
|
||||
}
|
||||
|
||||
void write(boolean force) {
|
||||
@@ -698,7 +698,7 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
pkg.mLastPackageUsageTimeInMills = timeInMillis;
|
||||
}
|
||||
} catch (FileNotFoundException expected) {
|
||||
mIsFirstBoot = true;
|
||||
mIsHistoricalPackageUsageAvailable = false;
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, "Failed to read package usage times", e);
|
||||
} finally {
|
||||
@@ -1677,7 +1677,7 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
|
||||
@Override
|
||||
public boolean isFirstBoot() {
|
||||
return !mRestoredSettings || mPackageUsage.isFirstBoot();
|
||||
return !mRestoredSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -4124,7 +4124,7 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
// The exception is first boot of a non-eng device, which
|
||||
// should do a full dexopt.
|
||||
boolean eng = "eng".equals(SystemProperties.get("ro.build.type"));
|
||||
if (eng || !isFirstBoot()) {
|
||||
if (eng || (!isFirstBoot() && mPackageUsage.isHistoricalPackageUsageAvailable())) {
|
||||
// TODO: add a property to control this?
|
||||
long dexOptLRUThresholdInMinutes;
|
||||
if (eng) {
|
||||
|
||||
Reference in New Issue
Block a user