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

Commit d117271e authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Use elapsed time as timestamp of activity launch

To have the information of the relation to wall time.

Bug: 187043447
Test: atest ActivityMetricsLoggerTests
Change-Id: Ib9724b83698c5ada372cd5f0db5f4aa7a26e75b5
parent 184c6139
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -906,9 +906,11 @@ class ActivityMetricsLogger {
        // This will avoid any races with other operations that modify the ActivityRecord.
        final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info);
        if (info.isInterestingToLoggerAndObserver()) {
            final long timestamp = info.mTransitionStartTimeNs;
            final long uptime = info.mTransitionDeviceUptimeMs;
            final int transitionDelay = info.mCurrentTransitionDelayMs;
            mLoggerHandler.post(() -> logAppTransition(
                    info.mTransitionDeviceUptimeMs, info.mCurrentTransitionDelayMs,
                    infoSnapshot, isHibernating));
                    timestamp, uptime, transitionDelay, infoSnapshot, isHibernating));
        }
        mLoggerHandler.post(() -> logAppDisplayed(infoSnapshot));
        if (info.mPendingFullyDrawn != null) {
@@ -919,8 +921,8 @@ class ActivityMetricsLogger {
    }

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

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