Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b98ccf2 authored by Brian Carlstrom's avatar Brian Carlstrom Committed by Android Git Automerger
Browse files

am 0924ef65: Merge "Treat missing package usage data as a separate case"

* commit '0924ef65':
  Treat missing package usage data as a separate case
parents a2121e49 0924ef65
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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) {