some GLES drivers dequeue buffers before a frame is started
(which is allowed), which can cause a that frame to be rendered
into a buffer of the wrong size. Such buffer will be ignored
by the compositor. If the application draws only once after a
size change, the screen might stay in this stale state.
this can be avoided by telling the GL driver to purge all its
pending buffers, which is done by making the surface not current
and then current again.
this solution is specific to android, but acceptable because
handled solely in the framework.
Bug: 2263168
Change-Id: I3d3c9a019979a9186e329d3160fa54adac78d3f7