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

Commit 90ed0f9b authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Ensure that the recents start time is non-zero

It was only assigned when using gesture navigation.

When using non-gesture navigation, the calculation below in
ActivityMetricsLogger will be (uptime - 0) which could be several
hours or days.
 mSourceEventDelayMs = (int) (TimeUnit.NANOSECONDS.toMillis(
     launchingState.mStartUptimeNs) - sourceInfo.eventTimeMs);

Because the start time was set right after GestureState is created,
it can be simply set as the creation time of GestureState.
So non-gesture navigation can provide the timestamp when handling
OverviewCommandHelper.TYPE_TOGGLE.

Bug: 206872204
Test: Use 3-button navigation to enter recent.
      The value of LatencyTracker should not be unexpected large.
Change-Id: Ie661222822912e287d1ac295ccaf49e2086d909e
parent 0e920d2c
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent
import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.SET_END_TARGET_NEW_TASK;

import android.content.Intent;
import android.os.SystemClock;
import android.view.MotionEvent;
import android.view.RemoteAnimationTarget;

@@ -182,7 +183,7 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL
    private HashMap<Integer, ThumbnailData> mRecentsAnimationCanceledSnapshots;

    /** The time when the swipe up gesture is triggered. */
    private long mSwipeUpStartTimeMs;
    private final long mSwipeUpStartTimeMs = SystemClock.uptimeMillis();

    private boolean mHandlingAtomicEvent;

@@ -508,10 +509,6 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL
        return null;
    }

    void setSwipeUpStartTimeMs(long uptimeMs) {
        mSwipeUpStartTimeMs = uptimeMs;
    }

    long getSwipeUpStartTimeMs() {
        return mSwipeUpStartTimeMs;
    }
+0 −1
Original line number Diff line number Diff line
@@ -753,7 +753,6 @@ public class TouchInteractionService extends Service {
                GestureState prevGestureState = new GestureState(mGestureState);
                GestureState newGestureState = createGestureState(mGestureState,
                        getTrackpadGestureType(event));
                newGestureState.setSwipeUpStartTimeMs(SystemClock.uptimeMillis());
                mConsumer.onConsumerAboutToBeSwitched();
                mGestureState = newGestureState;
                mConsumer = newConsumer(prevGestureState, mGestureState, event);