From 75260282e5b33c586a51a0a0c99a30dcf2e17274 Mon Sep 17 00:00:00 2001 From: Schneider Victor-tulias Date: Tue, 13 Sep 2022 15:37:40 -0700 Subject: [PATCH] Reuse log IDs when a GestureState is being reused Fixes: 227514916 Test: completed several gestures in rapid succession then checked the logs Change-Id: Ieecde51fbf0398470f85bf54d71ccd4a765463e8 --- .../src/com/android/quickstep/TouchInteractionService.java | 7 +++++-- .../src/com/android/quickstep/util/ActiveGestureLog.java | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) 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 40eb31b727..9117077f29 100644 --- a/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java +++ b/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java @@ -215,6 +215,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,