diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index 040c55bb9c..d7fa58fbf8 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -709,16 +709,19 @@ public class TouchInteractionService extends Service } public GestureState createGestureState(GestureState previousGestureState) { - GestureState gestureState = new GestureState(mOverviewComponentObserver, - ActiveGestureLog.INSTANCE.incrementLogId()); + final GestureState gestureState; TopTaskTracker.CachedTaskInfo taskInfo; if (mTaskAnimationManager.isRecentsAnimationRunning()) { + gestureState = new GestureState(mOverviewComponentObserver, + ActiveGestureLog.INSTANCE.getLogId()); taskInfo = previousGestureState.getRunningTask(); gestureState.updateRunningTask(taskInfo); gestureState.updateLastStartedTaskId(previousGestureState.getLastStartedTaskId()); gestureState.updatePreviouslyAppearedTaskIds( previousGestureState.getPreviouslyAppearedTaskIds()); } else { + gestureState = new GestureState(mOverviewComponentObserver, + ActiveGestureLog.INSTANCE.incrementLogId()); taskInfo = TopTaskTracker.INSTANCE.get(this).getCachedTopTask(false); gestureState.updateRunningTask(taskInfo); } diff --git a/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java b/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java index 0c47ee667a..23fdd58877 100644 --- a/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java +++ b/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java @@ -213,6 +213,11 @@ public class ActiveGestureLog { return mCurrentLogId++; } + /** Returns the current log ID. This should be used when a log trace is being reused. */ + public int getLogId() { + return mCurrentLogId; + } + private boolean isEntrySame( EventEntry entry, int type,