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

Commit 14876bd2 authored by Calin Juravle's avatar Calin Juravle
Browse files

Save PackageDexUsage on PMS shutdown

This ensures that we persist the in memory data between restarts (makes
testing much easier).

Bug: 64151900
Test: Manual, flash + restart + check the dex usage file

(cherry picked from commit 6ef7f0b8)

Change-Id: I7bd99fc03c3a40cbbf5d615886f857b5f84f438c
parent 0d8c1b81
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -10004,6 +10004,7 @@ public class PackageManagerService extends IPackageManager.Stub
    public void shutdown() {
        mPackageUsage.writeNow(mPackages);
        mCompilerStats.writeNow();
        mDexManager.savePackageDexUsageNow();
    }
    @Override
+7 −0
Original line number Diff line number Diff line
@@ -592,6 +592,13 @@ public class DexManager {
        return existingValue == null ? newValue : existingValue;
    }

    /**
     * Saves the in-memory package dex usage to disk right away.
     */
    public void savePackageDexUsageNow() {
        mPackageDexUsage.writeNow();
    }

    public static class RegisterDexModuleResult {
        public RegisterDexModuleResult() {
            this(false, null);
+6 −2
Original line number Diff line number Diff line
@@ -198,8 +198,12 @@ public class PackageDexUsage extends AbstractStatsBase<Void> {
     * Convenience method for async writes which does not force the user to pass a useless
     * (Void) null.
     */
    public void maybeWriteAsync() {
      maybeWriteAsync((Void) null);
    /*package*/ void maybeWriteAsync() {
      maybeWriteAsync(null);
    }

    /*package*/ void writeNow() {
        writeInternal(null);
    }

    @Override