diff options
4 files changed, 16 insertions, 9 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 44ab596b93ee..330e6c137f8b 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -9566,7 +9566,10 @@ public final class ViewRootImpl implements ViewParent, return mRtBLASTSyncTransaction; } - SurfaceControl getRenderSurfaceControl() { + /** + * @hide + */ + public SurfaceControl getRenderSurfaceControl() { if (mUseBLASTAdapter) { return mBlastSurfaceControl; } else { diff --git a/core/java/android/widget/Magnifier.java b/core/java/android/widget/Magnifier.java index a6a5ec55b972..47ea1cbade93 100644 --- a/core/java/android/widget/Magnifier.java +++ b/core/java/android/widget/Magnifier.java @@ -1257,7 +1257,8 @@ public final class Magnifier { return; } // Show or move the window at the content draw frame. - mTransaction.deferTransactionUntilSurface(mSurfaceControl, mSurface, frame); + mTransaction.deferTransactionUntil(mSurfaceControl, mSurfaceControl, + frame); if (updateWindowPosition) { mTransaction.setPosition(mSurfaceControl, pendingX, pendingY); } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java index e80b43739557..7dcf4b0c11ae 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java @@ -24,6 +24,7 @@ import android.os.Handler.Callback; import android.os.Message; import android.os.Trace; import android.view.Surface; +import android.view.SurfaceControl; import android.view.View; import android.view.ViewRootImpl; @@ -39,7 +40,7 @@ public class SyncRtSurfaceTransactionApplierCompat { private static final int MSG_UPDATE_SEQUENCE_NUMBER = 0; - private final Surface mTargetSurface; + private final SurfaceControl mBarrierSurfaceControl; private final ViewRootImpl mTargetViewRootImpl; private final Handler mApplyHandler; @@ -52,7 +53,8 @@ public class SyncRtSurfaceTransactionApplierCompat { */ public SyncRtSurfaceTransactionApplierCompat(View targetView) { mTargetViewRootImpl = targetView != null ? targetView.getViewRootImpl() : null; - mTargetSurface = mTargetViewRootImpl != null ? mTargetViewRootImpl.mSurface : null; + mBarrierSurfaceControl = mTargetViewRootImpl != null + ? mTargetViewRootImpl.getRenderSurfaceControl() : null; mApplyHandler = new Handler(new Callback() { @Override @@ -91,7 +93,7 @@ public class SyncRtSurfaceTransactionApplierCompat { mTargetViewRootImpl.registerRtFrameCallback(new HardwareRenderer.FrameDrawingCallback() { @Override public void onFrameDraw(long frame) { - if (mTargetSurface == null || !mTargetSurface.isValid()) { + if (mBarrierSurfaceControl == null || !mBarrierSurfaceControl.isValid()) { Message.obtain(mApplyHandler, MSG_UPDATE_SEQUENCE_NUMBER, toApplySeqNo, 0) .sendToTarget(); return; @@ -102,7 +104,7 @@ public class SyncRtSurfaceTransactionApplierCompat { SyncRtSurfaceTransactionApplierCompat.SurfaceParams surfaceParams = params[i]; SurfaceControlCompat surface = surfaceParams.surface; - t.deferTransactionUntil(surface, mTargetSurface, frame); + t.deferTransactionUntil(surface, mBarrierSurfaceControl, frame); applyParams(t, surfaceParams); } t.setEarlyWakeup(); diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java index 073688b0bf8c..8f4926fe14a3 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java @@ -20,6 +20,7 @@ import android.graphics.Matrix; import android.graphics.Rect; import android.view.Surface; import android.view.SurfaceControl.Transaction; +import android.view.SurfaceControl; public class TransactionCompat { @@ -87,8 +88,8 @@ public class TransactionCompat { } public TransactionCompat deferTransactionUntil(SurfaceControlCompat surfaceControl, - Surface barrier, long frameNumber) { - mTransaction.deferTransactionUntilSurface(surfaceControl.mSurfaceControl, barrier, + SurfaceControl barrier, long frameNumber) { + mTransaction.deferTransactionUntil(surfaceControl.mSurfaceControl, barrier, frameNumber); return this; } @@ -102,4 +103,4 @@ public class TransactionCompat { mTransaction.setColor(surfaceControl.mSurfaceControl, color); return this; } -}
\ No newline at end of file +} |