Need to updateSurface if surface size was changed in relayoutWindow
On some chips, SurfaceControl.setSize will not take effect for several frames. We have to also do a updateSurface/invalidate (which destroys and creates the EGLSurface) to get the size right. Keep track of SurfaceControl size changes in window manager, and pass that to ViewRootImpl, so that a updateSurface is done either the surface itself or its size is changed. Note that we don't use frame size change to trigger updateSurface, because frame size could be different from the surface size that window manager set. For example during drag resizing, the surface size is fullscreen although frame size changes constantly. Doing updateSurface upon frame size change could cause us to do many unnecessary updateSurface. bug: 25583942 Change-Id: I1989613a187bb6ef1c179bd2800c6a7b01fcdb3a
Loading
Please register or sign in to comment