onConfigurationChanged is only passed down to views that are currently
attached. Naturally, a recycler view has some views in its pool that are
not attached and thus do not get the call when the orientation changes.
When this happens and the view is then attached later, it can be in an
incorrect orientation.
To fix this, we save the current orientation the task item is using and
check on attaching if it's still the same as the orientation the device
is in. If it isn't we then run the orientation change logic.
Bug: 131848689
Fix: 131848689
Test: Change orientation with some views not attached, see that they are
correct orientation when attached
Change-Id: I3dec501c332338444e321b4a50876c7840a5bc6e
Test (all in multi window and non-multi window):
- Quick switch from home screen
- Quick switch from an app
- Swipe up from an app (slowly)
- Swipe down on a task (slowly)
Bug: 131689686
Change-Id: I69bf6dd1a34904cdf5ec7febea8f858012e2a0ac
There was an issue where tapping recents while there were no tasks and
we first launched would not actually go to recents. This was because we
had the leave recents call tightly coupled with showing the empty view.
When the user first goes to recents and no task is available, we animate
to the empty view. However, this also causes us to leave the view even
though nothing happened and it results in the user leaving right after
enterring.
Instead, we should couple the leaving logic with the actual action,
removing the task.
Bug: 131708240
Fix: 131708240
Test: Go to recents while empty, goes on first tap now
Test: Ensured swipe to remove => leave recents logic still works
Change-Id: Ifff6d051d957838c3cfae200a2a8ebb316b22965
For Recents Go, the thumbnails actually go directly under the status bar
text, so we should ensure that there is some scrim to ensure it's always
readable. We do this by adding a foreground drawable scrim to the
activity's root view.
Since this root view is used in other Launcher states, Launcher has to
toggle this on and off when going/leaving recents. When this view is
just being used for recents as a stand-alone, however, (i.e. when the
user has a different default launcher), it's fine to set this once at
the beginning since nothing else uses the root view.
Bug: 131834685
Fix: 131834685
Test: When quickstep is the default, go to recents and back. Status bar
is readable. Scrim does not animate when going to and from recents.
Test: When quickstep is not the default, scrim shows up fine
Change-Id: I5d88a1fd873860887b3141e1ec0ee999f59ccfad
Thumbnail corners should be anti-aliased so that they look smoother and
less rough.
Bug: 131779031
Test: Manual, go to recents and see corners
Change-Id: I49a299671ec37f56b6eebe2dd2eb71790e8cb2b4
Workspace and hotseat are drawn in rotated UI giving the impression that the
device is in Portrait, even though it is in landscape
Bug: 131360075
Change-Id: I29c4068af25fd4dcf7039b9a45886e864a137977
Test:
- Enter overview
- Swipe from right edge (no TaskView) goes back
- Swipe from left edge on top of TaskView scrolls to it
- Now swipe from either edge scrolls
- Swipe outside carousel goes back
Bug: 129297464
Change-Id: I0abd444a6e8d8daf79a824c94bdd05c01dfe19cb
Previously we only proxied if the end target was recents (now we do it
for home as well) and only proxied to the controllers, not to all views.
We still only proxy to controllers for touches in the nav bar, but
otherwise we dispatch touches through normal view hierarchy.
Tests while animating home:
- Swipe down for notifications
- Swipe up for all apps
- Long press icon or wallpaper for shortcuts
- Tap a folder to open it
- Tap an icon to launch it (currently no animation plays, looking into
it separately)
Bug: 131775822
Change-Id: I705b7a657b6d17bc0e24ed4fb44ecfb0f319e942
We did this already for mCurrentShift, which is used for all animations
except home animation. Now we do it for the home animation as well to
ensure we are properly cleaned up for the next interaction.
Test: Swipe up to home and double tap nav region before animation
finishes. Before, this would return to the app you swiped up from but
was in a broken state where subsequent swipes were ignored. Now we
jump to the home screen and remain there.
Bug: 130802487
Change-Id: I98a2e71a1791f5580451c94a35af98da193ff12f
Bug: 119847865
TL;DR;;
When configuration activity starts, simply make everything in drop
target bar invisible.
Change-Id: I37d067168368de4ee43b54e5dc95f958f5e94623