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

Commit aaedcc44 authored by Riddle Hsu's avatar Riddle Hsu Committed by Automerger Merge Worker
Browse files

Merge "Use elapsed time as timestamp of activity launch" into sc-dev am: f192f080 am: 002bd884

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14419582

Change-Id: Ie7e707afc4514d11740d258c425bd9c1a7896fb4
parents 4d2f9c26 002bd884
Loading
Loading
Loading
Loading
+9 −6
Original line number Original line Diff line number Diff line
@@ -936,9 +936,11 @@ class ActivityMetricsLogger {
        // This will avoid any races with other operations that modify the ActivityRecord.
        // This will avoid any races with other operations that modify the ActivityRecord.
        final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info);
        final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info);
        if (info.isInterestingToLoggerAndObserver()) {
        if (info.isInterestingToLoggerAndObserver()) {
            final long timestamp = info.mTransitionStartTimeNs;
            final long uptime = info.mTransitionDeviceUptimeMs;
            final int transitionDelay = info.mCurrentTransitionDelayMs;
            mLoggerHandler.post(() -> logAppTransition(
            mLoggerHandler.post(() -> logAppTransition(
                    info.mTransitionDeviceUptimeMs, info.mCurrentTransitionDelayMs,
                    timestamp, uptime, transitionDelay, infoSnapshot, isHibernating));
                    infoSnapshot, isHibernating));
        }
        }
        mLoggerHandler.post(() -> logAppDisplayed(infoSnapshot));
        mLoggerHandler.post(() -> logAppDisplayed(infoSnapshot));
        if (info.mPendingFullyDrawn != null) {
        if (info.mPendingFullyDrawn != null) {
@@ -949,8 +951,8 @@ class ActivityMetricsLogger {
    }
    }


    // This gets called on another thread without holding the activity manager lock.
    // This gets called on another thread without holding the activity manager lock.
    private void logAppTransition(long transitionDeviceUptimeMs, int currentTransitionDelayMs,
    private void logAppTransition(long transitionStartTimeNs, long transitionDeviceUptimeMs,
            TransitionInfoSnapshot info, boolean isHibernating) {
            int currentTransitionDelayMs, TransitionInfoSnapshot info, boolean isHibernating) {
        final LogMaker builder = new LogMaker(APP_TRANSITION);
        final LogMaker builder = new LogMaker(APP_TRANSITION);
        builder.setPackageName(info.packageName);
        builder.setPackageName(info.packageName);
        builder.setType(info.type);
        builder.setType(info.type);
@@ -1001,7 +1003,7 @@ class ActivityMetricsLogger {
                info.launchedActivityName,
                info.launchedActivityName,
                info.launchedActivityLaunchedFromPackage,
                info.launchedActivityLaunchedFromPackage,
                isInstantApp,
                isInstantApp,
                transitionDeviceUptimeMs,
                0 /* deprecated transitionDeviceUptimeMs */,
                info.reason,
                info.reason,
                currentTransitionDelayMs,
                currentTransitionDelayMs,
                info.startingWindowDelayMs,
                info.startingWindowDelayMs,
@@ -1015,7 +1017,8 @@ class ActivityMetricsLogger {
                isHibernating,
                isHibernating,
                isIncremental,
                isIncremental,
                isLoading,
                isLoading,
                info.launchedActivityName.hashCode());
                info.launchedActivityName.hashCode(),
                TimeUnit.NANOSECONDS.toMillis(transitionStartTimeNs));


        if (DEBUG_METRICS) {
        if (DEBUG_METRICS) {
            Slog.i(TAG, String.format("APP_START_OCCURRED(%s, %s, %s, %s, %s)",
            Slog.i(TAG, String.format("APP_START_OCCURRED(%s, %s, %s, %s, %s)",