Merge "Avoid global transaction in magnifier"
This commit is contained in:
committed by
Android (Google) Code Review
commit
50afc5eb41
@@ -800,6 +800,7 @@ public final class Magnifier {
|
||||
// The surface we allocate for the magnifier content + shadow.
|
||||
private final SurfaceSession mSurfaceSession;
|
||||
private final SurfaceControl mSurfaceControl;
|
||||
private final SurfaceControl.Transaction mTransaction = new SurfaceControl.Transaction();
|
||||
private final Surface mSurface;
|
||||
// The renderer used for the allocated surface.
|
||||
private final ThreadedRenderer.SimpleRenderer mRenderer;
|
||||
@@ -1081,16 +1082,16 @@ public final class Magnifier {
|
||||
return;
|
||||
}
|
||||
// Show or move the window at the content draw frame.
|
||||
SurfaceControl.openTransaction();
|
||||
mSurfaceControl.deferTransactionUntil(mSurface, frame);
|
||||
mTransaction.deferTransactionUntilSurface(mSurfaceControl, mSurface, frame);
|
||||
if (updateWindowPosition) {
|
||||
mSurfaceControl.setPosition(pendingX, pendingY);
|
||||
mTransaction.setPosition(mSurfaceControl, pendingX, pendingY);
|
||||
}
|
||||
if (firstDraw) {
|
||||
mSurfaceControl.setLayer(SURFACE_Z);
|
||||
mSurfaceControl.show();
|
||||
mTransaction.setLayer(mSurfaceControl, SURFACE_Z)
|
||||
.show(mSurfaceControl);
|
||||
|
||||
}
|
||||
SurfaceControl.closeTransaction();
|
||||
mTransaction.apply();
|
||||
};
|
||||
mRenderer.setLightCenter(mDisplay, pendingX, pendingY);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user