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

Commit 8b0323ee authored by Sergio Giro's avatar Sergio Giro Committed by android-build-merger
Browse files

Merge "ZygoteInit: install AndroidKeyStoreProvider in the Zygote" into nyc-dev am: 44b9f13f

am: 14c9a306

* commit '14c9a306':
  ZygoteInit: install AndroidKeyStoreProvider in the Zygote

Change-Id: I294dcbfa1fbf6066357b8291b5b7af8e0e7525ec
parents 9f112e12 14c9a306
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -102,7 +102,6 @@ import android.view.Window;
import android.view.WindowManager;
import android.view.WindowManager;
import android.view.WindowManagerGlobal;
import android.view.WindowManagerGlobal;
import android.renderscript.RenderScriptCacheDir;
import android.renderscript.RenderScriptCacheDir;
import android.security.keystore.AndroidKeyStoreProvider;
import android.system.Os;
import android.system.Os;
import android.system.OsConstants;
import android.system.OsConstants;
import android.system.ErrnoException;
import android.system.ErrnoException;
@@ -5989,8 +5988,6 @@ public final class ActivityThread {
        // Set the reporter for event logging in libcore
        // Set the reporter for event logging in libcore
        EventLogger.setReporter(new EventLoggingReporter());
        EventLogger.setReporter(new EventLoggingReporter());


        AndroidKeyStoreProvider.install();

        // Make sure TrustedCertificateStore looks in the right place for CA certificates
        // Make sure TrustedCertificateStore looks in the right place for CA certificates
        final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
        final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
        TrustedCertificateStore.setDefaultUserDirectory(configDir);
        TrustedCertificateStore.setDefaultUserDirectory(configDir);
+14 −2
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ import android.os.Process;
import android.os.SystemClock;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.os.SystemProperties;
import android.os.Trace;
import android.os.Trace;
import android.security.keystore.AndroidKeyStoreProvider;
import android.system.ErrnoException;
import android.system.ErrnoException;
import android.system.Os;
import android.system.Os;
import android.system.OsConstants;
import android.system.OsConstants;
@@ -253,13 +254,24 @@ public class ZygoteInit {
    }
    }


    /**
    /**
     * Warm up the providers that are already registered.
     * Register AndroidKeyStoreProvider and warm up the providers that are already registered.
     *
     *
     * By doing it here we avoid that each app does it when requesting a service from the
     * By doing it here we avoid that each app does it when requesting a service from the
     * provider for the first time.
     * provider for the first time.
     */
     */
    private static void warmUpJcaProviders() {
    private static void warmUpJcaProviders() {
        long startTime = SystemClock.uptimeMillis();
        long startTime = SystemClock.uptimeMillis();
        Trace.traceBegin(
                Trace.TRACE_TAG_DALVIK, "Starting installation of AndroidKeyStoreProvider");
        // AndroidKeyStoreProvider.install() manipulates the list of JCA providers to insert
        // preferred providers. Note this is not done via security.properties as the JCA providers
        // are not on the classpath in the case of, for example, raw dalvikvm runtimes.
        AndroidKeyStoreProvider.install();
        Log.i(TAG, "Installed AndroidKeyStoreProvider in "
                + (SystemClock.uptimeMillis() - startTime) + "ms.");
        Trace.traceEnd(Trace.TRACE_TAG_DALVIK);

        startTime = SystemClock.uptimeMillis();
        Trace.traceBegin(
        Trace.traceBegin(
                Trace.TRACE_TAG_DALVIK, "Starting warm up of JCA providers");
                Trace.TRACE_TAG_DALVIK, "Starting warm up of JCA providers");
        for (Provider p : Security.getProviders()) {
        for (Provider p : Security.getProviders()) {