diff options
| author | 2016-05-19 18:09:30 +0000 | |
|---|---|---|
| committer | 2016-05-19 18:09:30 +0000 | |
| commit | 3eb06806429f444fe87b894308681e20e6871c7d (patch) | |
| tree | d4ad10cefee44c5bcce40b73f50d0dd8c5a2cd16 | |
| parent | 8f69021a908c9c805d53eefad1c4f2795d43f656 (diff) | |
| parent | 44b9f13f9cfaf2e1136a1f2baab54b229d221fe4 (diff) | |
Merge "ZygoteInit: install AndroidKeyStoreProvider in the Zygote" into nyc-dev
am: 44b9f13f9c
* commit '44b9f13f9cfaf2e1136a1f2baab54b229d221fe4':
ZygoteInit: install AndroidKeyStoreProvider in the Zygote
Change-Id: Ia20b312dfd8181fadd38f075817630a1c5ab518f
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 3 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteInit.java | 16 |
2 files changed, 14 insertions, 5 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index d0fa397acbf0..365f9c809779 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -102,7 +102,6 @@ import android.view.Window; import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.renderscript.RenderScriptCacheDir; -import android.security.keystore.AndroidKeyStoreProvider; import android.system.Os; import android.system.OsConstants; import android.system.ErrnoException; @@ -5989,8 +5988,6 @@ public final class ActivityThread { // Set the reporter for event logging in libcore EventLogger.setReporter(new EventLoggingReporter()); - AndroidKeyStoreProvider.install(); - // Make sure TrustedCertificateStore looks in the right place for CA certificates final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId()); TrustedCertificateStore.setDefaultUserDirectory(configDir); diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index a7fb200ed86f..9c960c04d491 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -31,6 +31,7 @@ import android.os.Process; import android.os.SystemClock; import android.os.SystemProperties; import android.os.Trace; +import android.security.keystore.AndroidKeyStoreProvider; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; @@ -253,7 +254,7 @@ 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 * provider for the first time. @@ -261,12 +262,23 @@ public class ZygoteInit { private static void warmUpJcaProviders() { 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.TRACE_TAG_DALVIK, "Starting warm up of JCA providers"); for (Provider p : Security.getProviders()) { p.warmUpServiceProvision(); } Log.i(TAG, "Warmed up JCA providers in " - + (SystemClock.uptimeMillis()-startTime) + "ms."); + + (SystemClock.uptimeMillis() - startTime) + "ms."); Trace.traceEnd(Trace.TRACE_TAG_DALVIK); } |