From 7c51474301a84753451518075bc5c5f4359d91f9 Mon Sep 17 00:00:00 2001 From: Tiger Huang Date: Mon, 5 Apr 2021 17:56:17 +0800 Subject: [PATCH] Don't set mNextDrawUseBlastSync when hardware is not enabled Otherwise, it will make the ViewRootImpl pause forever. Because there won't be any frame-drawing callback where we clear the flag. Fix: 182797514 Test: steps in the bug Change-Id: Iadd35f1b112626399c064a1cd7d7da323bb9e36c --- core/java/android/view/ViewRootImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 426c9504c4f9b..034e338856a3f 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -3207,7 +3207,9 @@ public final class ViewRootImpl implements ViewParent, Log.d(mTag, "Relayout called with blastSync"); } reportNextDraw(); - mNextDrawUseBlastSync = true; + if (isHardwareEnabled()) { + mNextDrawUseBlastSync = true; + } } boolean cancelDraw = mAttachInfo.mTreeObserver.dispatchOnPreDraw() || !isViewVisible;