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

Commit 822ab5ec authored by Xin Guan's avatar Xin Guan Committed by Android (Google) Code Review
Browse files

Merge "Fix traceEnd missing for LoadedApk.makeApplication"

parents e34433f3 dba5b4ae
Loading
Loading
Loading
Loading
+76 −72
Original line number Diff line number Diff line
@@ -1401,16 +1401,21 @@ public final class LoadedApk {
        if (mApplication != null) {
            return mApplication;
        }


        if (Trace.isTagEnabled(Trace.TRACE_TAG_ACTIVITY_MANAGER)) {
            Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "makeApplication");
        }

        try {
            synchronized (sApplications) {
                final Application cached = sApplications.get(mPackageName);
                if (cached != null) {
                    // Looks like this is always happening for the system server, because
                    // the LoadedApk created in systemMain() -> attach() isn't cached properly?
                    if (!"android".equals(mPackageName)) {
                    Slog.wtfStack(TAG, "App instance already created for package=" + mPackageName
                            + " instance=" + cached);
                        Slog.wtfStack(TAG, "App instance already created for package="
                                + mPackageName + " instance=" + cached);
                    }
                    if (!allowDuplicateInstances) {
                        mApplication = cached;
@@ -1460,7 +1465,6 @@ 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
                        + " package " + mPackageName + ": " + e.toString(), e);
@@ -1479,7 +1483,6 @@ 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);
@@ -1487,9 +1490,10 @@ public final class LoadedApk {
                }
            }

        Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);

            return app;
        } finally {
            Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
        }
    }

    @UnsupportedAppUsage