summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator.cpp
diff options
context:
space:
mode:
authorMihai Popa <popam@google.com>2018-02-07 17:13:51 +0000
committerMihai Popa <popam@google.com>2018-02-19 14:32:15 +0000
commit4bcd4d40ff31a5261c9a27e1d7d9c25e0c438294 (patch)
tree69d58502ac71fb2677e8d48e4ef41e120187120f /tools/aapt2/java/JavaClassGenerator.cpp
parent944836c6c70bb91e1520434149c630313d0b8699 (diff)
[Magnifier-20] Raw Surface instead of PopupWindow
Since the movement of PopupWindows is handled by the global window manager, using one does not provide synchronization guarantees between the window movement and its view tree rendering. In the case of the magnifier this was producing a shaky-text effect, when the window was moved in one frame, but the content was only updated in the following one (although the movement and content update were issued during the same #show operation on the UI thread). This CL abandons the usage of a PopupWindow for the magnifier, in favour of a raw Surface whose movement can be controlled using the deferred transactions API. This way, we can defer the surface movement until the frame when the updated content is rendered. The allocated magnifier surface is slightly bigger than the magnifier content to have space for drawing the elevation. We obtain a native elevation by using a RenderNode to draw the content of the magnifier. Bug: 72041926 Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest Change-Id: Icb8ecf48a2f528e06790db95d54575f2ae119747
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator.cpp')
0 files changed, 0 insertions, 0 deletions