Fix Screen Magnification recursive draw

When invoke the method View#setLayoutParams(), ViewRootImpl
will run method ViewRootImpl#performTraversals(). And
OnGlobalLayoutListener#onGlobalLayout() will be invoked.
When the method View#setLayoutParams() is invoked in
OnGlobalLayoutListener#onGlobalLayout(), there will be recursive
call. The view will be draw on and on. This situation happen in
Screen Magnification. It should remove the listener after
work completion.

Bug: https://issuetracker.google.com/issues/62613000

Test: use systrace when enter Screen Magnification,and view the
"traversal" times.

Change-Id: I01b1fcccb8b915ec436fb95f1d30c8ec0c0de0a9
Signed-off-by: gaochong <gaochong@xiaomi.com>
1 file changed