Previously, whenever a user returned to the same
rotation that they had started quickswitch in,
we were sending sysui the reset flag(-1) indicating
that quickstep was complete instead of sending
the rotation of the device the user was in.
This was intentional and it worked, however we now
always send the active rotation while the user
is in a quickswitch session because sysui needs
to show the fake home handle for immersive apps,
which can occur in any rotation. This state is
distinct from not being in quickswitch at all, in
which no fake handles are shown.
Fixes: 158677967
Change-Id: I910324abf781b4b30fe981139712bcb5b653c318
(cherry picked from commit f2daafcdf8)
Previously, whenever a user returned to the same
rotation that they had started quickswitch in,
we were sending sysui the reset flag(-1) indicating
that quickstep was complete instead of sending
the rotation of the device the user was in.
This was intentional and it worked, however we now
always send the active rotation while the user
is in a quickswitch session because sysui needs
to show the fake home handle for immersive apps,
which can occur in any rotation. This state is
distinct from not being in quickswitch at all, in
which no fake handles are shown.
Fixes: 158677967
Change-Id: I910324abf781b4b30fe981139712bcb5b653c318
While display is in landscape, and the launcher is transformed to
portrait, the display rotation from activity or application context
will get the rotation in portrait.
In order to transform the input event when the orientations are
different, the actual device rotation is still needed. By creating
the display context from application context, the resources of
the new context won't be affected by the activity/application level
display info adjustments. That provides the actual device states.
Additionally, DefaultDisplay#INSTANCE should only be used for the
operations related to physical orientation/size because it won't
contain the override information from activity.
Bug: 157456493
Test: Use a device which may switch refresh rate.
Open Maps and put device in landscape.
Use gesture navigation to swipe up.
The direction of movement should be consistent with UI.
Change-Id: I03108b1ab057e28727b6a6db3629d2c1c069e828
Fixes: 159312066
Test: Have two dup items in a folder under one grid setting. Migrate. Make sure the folder is migrated correctly to the new grid setting.
Change-Id: Ic5aeb30a1c8acb382bccf744d7553913d8a8a320
They were ultimately caused by killing Launcher process from tests.
Now having a test info handler request to clear db.
Bug: 152629799
Change-Id: Ia81ddc3e338718c4cff08c7396b9fda1b7091024
UNLABELED -> title==null and EMPTY_LABEL -> title=="". When adding new items for the folder if the folder is in UNLABELED state, auto-labeling will be enabled.
This change also addresses auto-labeling issue due to false edit from UNLABELED to EMPTY.
Bug: 159164315
Change-Id: Ia17cd27b4afb60420dc15c544f544061fc46ad33
If activity rotation is allowed, Launcher/recents can rotate while swipe animation
is running leading to inconsistencies between deviceProfile and rotation
> Using activity configuration to determine the rotation instead of using display rotation
> Removing rotation watcher when rotation is enabled as it is not used anymore
Bug: 158781568
Change-Id: I107d856cae80af111c0514656fac7ab1fa0c21cb
- Reduce slop for gestural mode (and apply multiplier to slop
at checktime)
- When quickswitch threshold is passed, reduce the total movement
check and reduce the velocity needed to fling to the next page
to accommodate short swipes
- Use touch slop to determine scrolling in paged view, and only
use paging slop to determine flinging to the next page (when
easy flings are disabled (which is the default))
Bug: 157165240
Test: Ensure the flings in normal overview/paged views don't change,
check short flings from quickswitching
Change-Id: Idd04ce23f53c06759e84ac8ad73cf2cc6dff6975
We were setting mGestureState = DEFAULT_STATE when touching outside
of the swipe region. Instead, we should only set mGestureState when
starting a new gesture, and only set it to DEFAULT_STATE on reset.
This also makes it clearer that mGestureState always refers to the
current gesture state, rather than sometimes being the current
gesture and sometimes being the previous gesture depending on
where it was used. Now previousGestureState is passed when needed.
Bug: 159494933
Change-Id: Ib62278b7c591ca4c6b99b26e058a34772e6cec2a