From 068de1685c7121a31f7bbfab4a4e297c6d9a1726 Mon Sep 17 00:00:00 2001 From: vadimt Date: Thu, 14 Jan 2021 18:44:52 -0800 Subject: [PATCH] Skipping swipe metrics if recents view doesn't exist This will skip generating metrics for fallback recents, which is not a big loss Test: manual Bug: 177472265 Change-Id: I0e167ddc3276246510ea5a22ba04dfd53a8d4eac --- .../src/com/android/quickstep/AbsSwipeUpHandler.java | 11 ++++++----- .../quickstep/QuickstepProcessInitializer.java | 7 ++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index d648dd6400..38cf09f2d5 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -721,11 +721,12 @@ public abstract class AbsSwipeUpHandler, Q extends @UiThread public void onGestureStarted(boolean isLikelyToStartNewTask) { - // Temporarily disable this until we have a view that we can use - // InteractionJankMonitorWrapper.begin(mRecentsView, - // InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH, 2000 /* ms timeout */); - // InteractionJankMonitorWrapper.begin(mRecentsView, - // InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME); + if (mRecentsView != null) { + InteractionJankMonitorWrapper.begin(mRecentsView, + InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH, 2000 /* ms timeout */); + InteractionJankMonitorWrapper.begin(mRecentsView, + InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME); + } notifyGestureStartedAsync(); setIsLikelyToStartNewTask(isLikelyToStartNewTask, false /* animate */); mStateCallback.setStateOnUiThread(STATE_GESTURE_STARTED); diff --git a/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java b/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java index 80308a58e2..65847f11bb 100644 --- a/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java +++ b/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java @@ -26,6 +26,7 @@ import com.android.launcher3.BuildConfig; import com.android.launcher3.MainProcessInitializer; import com.android.launcher3.util.Executors; import com.android.quickstep.logging.SettingsChangeLogger; +import com.android.systemui.shared.system.InteractionJankMonitorWrapper; import com.android.systemui.shared.system.ThreadedRendererCompat; @SuppressWarnings("unused") @@ -35,7 +36,11 @@ public class QuickstepProcessInitializer extends MainProcessInitializer { private static final String TAG = "QuickstepProcessInitializer"; private static final int SETUP_DELAY_MILLIS = 5000; - public QuickstepProcessInitializer(Context context) { } + public QuickstepProcessInitializer(Context context) { + // Fake call to create an instance of InteractionJankMonitor to avoid binder calls during + // its initialization during transitions. + InteractionJankMonitorWrapper.cancel(-1); + } @Override protected void init(Context context) {