Skip to content
Commit dabdcc67 authored by Jacky Kao's avatar Jacky Kao
Browse files

Descreses the counts of windows_change_bounds events

When the display magnification is activated, the window bounds of
the windows callbacked from the SF will be the real position after
the magnifying. We need to use the inverse matrix of magnification spec
to compute the original bounds without the magnification effect. And we
found if the magnification spec changed too quickly, the computed window
bounds won't be correct because the callbacked windows will get one
frame behind.

This symptom will make the window bounds of the same window isn't the
same, and send the windows_change_bounds event out.

To descreses the counts of the window_change_bounds events, we stores
two consecutive magnification specs, and found out which one is the
proper one closing the identity matrix for generating the inverse
matrix based on below formula under window is at the stable state based
on the assumption, We don't consider the transition effect because this
condition wouldn't happen with changing the magnification spec
simultaneously:
WindowState#transform * MagnificationSpecMatrix * inputWindowHandle#transform
= IdentityMatrix

Bug: 191736824
Test: a11y CTS & unit tests
Test: Manual testing including the A11y services
Change-Id: Ib447d696feaa2758fe3192f7e570cce8019f40df
parent 914cef5f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment