From 9d28de67f30bd41109d355f58dbb507eaa67fb25 Mon Sep 17 00:00:00 2001 From: Vishnu Nair Date: Mon, 13 Mar 2023 13:22:20 -0700 Subject: [PATCH] Set timeouts for SurfaceSyncGroup based on HW timeout SurfaceSyncGroup is timing out on an emulator target. Use ro.hw_timeout_multiplier to address this and other slow target. Test: presubmit Bug: 273314551 Change-Id: I83dc352a24caabba2429ecf3f76c63500fa8a44d --- core/java/android/view/ViewRootImpl.java | 3 ++- core/java/android/window/SurfaceSyncGroup.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 24dcb69f83426..fb25e7a6bfe15 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -11626,7 +11626,8 @@ public final class ViewRootImpl implements ViewParent, mNumPausedForSync++; mHandler.removeMessages(MSG_PAUSED_FOR_SYNC_TIMEOUT); - mHandler.sendEmptyMessageDelayed(MSG_PAUSED_FOR_SYNC_TIMEOUT, 1000); + mHandler.sendEmptyMessageDelayed(MSG_PAUSED_FOR_SYNC_TIMEOUT, + 1000 * Build.HW_TIMEOUT_MULTIPLIER); return mActiveSurfaceSyncGroup; }; diff --git a/core/java/android/window/SurfaceSyncGroup.java b/core/java/android/window/SurfaceSyncGroup.java index 0672d6318212f..7f99fb7e7815f 100644 --- a/core/java/android/window/SurfaceSyncGroup.java +++ b/core/java/android/window/SurfaceSyncGroup.java @@ -21,6 +21,7 @@ import android.annotation.Nullable; import android.annotation.UiThread; import android.os.Binder; import android.os.BinderProxy; +import android.os.Build; import android.os.Debug; import android.os.Handler; import android.os.HandlerThread; @@ -62,7 +63,7 @@ public final class SurfaceSyncGroup { private static final int MAX_COUNT = 100; private static final AtomicInteger sCounter = new AtomicInteger(0); - private static final int TRANSACTION_READY_TIMEOUT = 1000; + private static final int TRANSACTION_READY_TIMEOUT = 1000 * Build.HW_TIMEOUT_MULTIPLIER; private static Supplier sTransactionFactory = Transaction::new;