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

Commit 34bdf168 authored by Calin Juravle's avatar Calin Juravle Committed by android-build-merger
Browse files

Add logic for recording dex files use on disk

am: 6ea5ace7

Change-Id: I82246efd8e78c1c4ac18a67f0274b10545605207
parents f412290e 6ea5ace7
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -60,12 +60,12 @@ public abstract class AbstractStatsBase<T> {
        return new AtomicFile(fname);
        return new AtomicFile(fname);
    }
    }


    void writeNow(final T data) {
    protected void writeNow(final T data) {
        writeImpl(data);
        writeImpl(data);
        mLastTimeWritten.set(SystemClock.elapsedRealtime());
        mLastTimeWritten.set(SystemClock.elapsedRealtime());
    }
    }


    boolean maybeWriteAsync(final T data) {
    protected boolean maybeWriteAsync(final T data) {
        if (SystemClock.elapsedRealtime() - mLastTimeWritten.get() < WRITE_INTERVAL_MS
        if (SystemClock.elapsedRealtime() - mLastTimeWritten.get() < WRITE_INTERVAL_MS
            && !PackageManagerService.DEBUG_DEXOPT) {
            && !PackageManagerService.DEBUG_DEXOPT) {
            return false;
            return false;
@@ -105,7 +105,7 @@ public abstract class AbstractStatsBase<T> {


    protected abstract void writeInternal(T data);
    protected abstract void writeInternal(T data);


    void read(T data) {
    protected void read(T data) {
        if (mLock) {
        if (mLock) {
            synchronized (data) {
            synchronized (data) {
                synchronized (mFileLock) {
                synchronized (mFileLock) {
+15 −0
Original line number Original line Diff line number Diff line
@@ -24,11 +24,13 @@ import android.app.AppGlobals;
import android.content.Intent;
import android.content.Intent;
import android.content.pm.PackageParser;
import android.content.pm.PackageParser;
import android.content.pm.ResolveInfo;
import android.content.pm.ResolveInfo;
import android.os.Build;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserHandle;
import android.system.ErrnoException;
import android.system.ErrnoException;
import android.util.ArraySet;
import android.util.ArraySet;
import android.util.Log;
import android.util.Log;
import dalvik.system.VMRuntime;
import libcore.io.Libcore;
import libcore.io.Libcore;


import java.io.File;
import java.io.File;
@@ -197,4 +199,17 @@ public class PackageManagerServiceUtils {
        }
        }
        return sb.toString();
        return sb.toString();
    }
    }

    /**
     * Verifies that the given string {@code isa} is a valid supported isa on
     * the running device.
     */
    public static boolean checkISA(String isa) {
        for (String abi : Build.SUPPORTED_ABIS) {
            if (VMRuntime.getInstructionSet(abi).equals(isa)) {
                return true;
            }
        }
        return false;
    }
}
}
+512 −0

File added.

Preview size limit exceeded, changes collapsed.

+318 −0

File added.

Preview size limit exceeded, changes collapsed.