Loading core/java/android/app/ActivityThread.java +8 −0 Original line number Diff line number Diff line Loading @@ -4937,6 +4937,7 @@ public final class ActivityThread { // Isolated processes aren't going to do UI. return; } Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "setupGraphicsSupport"); try { int uid = Process.myUid(); String[] packages = getPackageManager().getPackagesForUid(uid); Loading @@ -4949,6 +4950,8 @@ public final class ActivityThread { } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } finally { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } } Loading Loading @@ -5131,6 +5134,7 @@ public final class ActivityThread { /** * Initialize the default http proxy in this process for the reasons we set the time zone. */ Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "Setup proxies"); final IBinder b = ServiceManager.getService(Context.CONNECTIVITY_SERVICE); if (b != null) { // In pre-boot mode (doing initial launch to collect password), not Loading @@ -5141,9 +5145,11 @@ public final class ActivityThread { final ProxyInfo proxyInfo = service.getProxyForNetwork(null); Proxy.setHttpProxySystemProperty(proxyInfo); } catch (RemoteException e) { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); throw e.rethrowFromSystemServer(); } } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); // Instrumentation info affects the class loader, so load it before // setting up the app context. Loading Loading @@ -5215,7 +5221,9 @@ public final class ActivityThread { // Install the Network Security Config Provider. This must happen before the application // code is loaded to prevent issues with instances of TLS objects being created before // the provider is installed. Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "NetworkSecurityConfigProvider.install"); NetworkSecurityConfigProvider.install(appContext); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); // Continue loading instrumentation. if (ii != null) { Loading core/java/android/app/ApplicationLoaders.java +2 −0 Original line number Diff line number Diff line Loading @@ -65,7 +65,9 @@ class ApplicationLoaders { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "setupVulkanLayerPath"); setupVulkanLayerPath(pathClassloader, librarySearchPath); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); mLoaders.put(zip, pathClassloader); return pathClassloader; Loading core/java/android/app/LoadedApk.java +9 −0 Original line number Diff line number Diff line Loading @@ -806,6 +806,8 @@ public final class LoadedApk { return mApplication; } Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "makeApplication"); Application app = null; String appClass = mApplicationInfo.className; Loading @@ -816,7 +818,10 @@ public final class LoadedApk { try { java.lang.ClassLoader cl = getClassLoader(); if (!mPackageName.equals("android")) { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "initializeJavaContextClassLoader"); initializeJavaContextClassLoader(); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } ContextImpl appContext = ContextImpl.createAppContext(mActivityThread, this); app = mActivityThread.mInstrumentation.newApplication( Loading @@ -824,6 +829,7 @@ public final class LoadedApk { appContext.setOuterContext(app); } catch (Exception e) { if (!mActivityThread.mInstrumentation.onException(app, e)) { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); throw new RuntimeException( "Unable to instantiate application " + appClass + ": " + e.toString(), e); Loading @@ -837,6 +843,7 @@ public final class LoadedApk { instrumentation.callApplicationOnCreate(app); } catch (Exception e) { if (!instrumentation.onException(app, e)) { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); throw new RuntimeException( "Unable to create application " + app.getClass().getName() + ": " + e.toString(), e); Loading @@ -857,6 +864,8 @@ public final class LoadedApk { rewriteRValues(getClassLoader(), packageIdentifiers.valueAt(i), id); } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); return app; } Loading core/java/com/android/internal/os/PathClassLoaderFactory.java +4 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.internal.os; import android.os.Trace; import dalvik.system.PathClassLoader; /** Loading @@ -40,11 +42,13 @@ public class PathClassLoaderFactory { boolean isNamespaceShared) { PathClassLoader pathClassloader = new PathClassLoader(dexPath, librarySearchPath, parent); Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "createClassloaderNamespace"); String errorMessage = createClassloaderNamespace(pathClassloader, targetSdkVersion, librarySearchPath, libraryPermittedPath, isNamespaceShared); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); if (errorMessage != null) { throw new UnsatisfiedLinkError("Unable to create namespace for the classloader " + Loading Loading
core/java/android/app/ActivityThread.java +8 −0 Original line number Diff line number Diff line Loading @@ -4937,6 +4937,7 @@ public final class ActivityThread { // Isolated processes aren't going to do UI. return; } Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "setupGraphicsSupport"); try { int uid = Process.myUid(); String[] packages = getPackageManager().getPackagesForUid(uid); Loading @@ -4949,6 +4950,8 @@ public final class ActivityThread { } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } finally { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } } Loading Loading @@ -5131,6 +5134,7 @@ public final class ActivityThread { /** * Initialize the default http proxy in this process for the reasons we set the time zone. */ Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "Setup proxies"); final IBinder b = ServiceManager.getService(Context.CONNECTIVITY_SERVICE); if (b != null) { // In pre-boot mode (doing initial launch to collect password), not Loading @@ -5141,9 +5145,11 @@ public final class ActivityThread { final ProxyInfo proxyInfo = service.getProxyForNetwork(null); Proxy.setHttpProxySystemProperty(proxyInfo); } catch (RemoteException e) { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); throw e.rethrowFromSystemServer(); } } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); // Instrumentation info affects the class loader, so load it before // setting up the app context. Loading Loading @@ -5215,7 +5221,9 @@ public final class ActivityThread { // Install the Network Security Config Provider. This must happen before the application // code is loaded to prevent issues with instances of TLS objects being created before // the provider is installed. Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "NetworkSecurityConfigProvider.install"); NetworkSecurityConfigProvider.install(appContext); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); // Continue loading instrumentation. if (ii != null) { Loading
core/java/android/app/ApplicationLoaders.java +2 −0 Original line number Diff line number Diff line Loading @@ -65,7 +65,9 @@ class ApplicationLoaders { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "setupVulkanLayerPath"); setupVulkanLayerPath(pathClassloader, librarySearchPath); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); mLoaders.put(zip, pathClassloader); return pathClassloader; Loading
core/java/android/app/LoadedApk.java +9 −0 Original line number Diff line number Diff line Loading @@ -806,6 +806,8 @@ public final class LoadedApk { return mApplication; } Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "makeApplication"); Application app = null; String appClass = mApplicationInfo.className; Loading @@ -816,7 +818,10 @@ public final class LoadedApk { try { java.lang.ClassLoader cl = getClassLoader(); if (!mPackageName.equals("android")) { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "initializeJavaContextClassLoader"); initializeJavaContextClassLoader(); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } ContextImpl appContext = ContextImpl.createAppContext(mActivityThread, this); app = mActivityThread.mInstrumentation.newApplication( Loading @@ -824,6 +829,7 @@ public final class LoadedApk { appContext.setOuterContext(app); } catch (Exception e) { if (!mActivityThread.mInstrumentation.onException(app, e)) { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); throw new RuntimeException( "Unable to instantiate application " + appClass + ": " + e.toString(), e); Loading @@ -837,6 +843,7 @@ public final class LoadedApk { instrumentation.callApplicationOnCreate(app); } catch (Exception e) { if (!instrumentation.onException(app, e)) { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); throw new RuntimeException( "Unable to create application " + app.getClass().getName() + ": " + e.toString(), e); Loading @@ -857,6 +864,8 @@ public final class LoadedApk { rewriteRValues(getClassLoader(), packageIdentifiers.valueAt(i), id); } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); return app; } Loading
core/java/com/android/internal/os/PathClassLoaderFactory.java +4 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.internal.os; import android.os.Trace; import dalvik.system.PathClassLoader; /** Loading @@ -40,11 +42,13 @@ public class PathClassLoaderFactory { boolean isNamespaceShared) { PathClassLoader pathClassloader = new PathClassLoader(dexPath, librarySearchPath, parent); Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "createClassloaderNamespace"); String errorMessage = createClassloaderNamespace(pathClassloader, targetSdkVersion, librarySearchPath, libraryPermittedPath, isNamespaceShared); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); if (errorMessage != null) { throw new UnsatisfiedLinkError("Unable to create namespace for the classloader " + Loading