While quickswitch in landscape mode, the orientation handler would be
update to LandscapePagedViewHandler when receive onLauncherStart,
however, it might be too late because the VelocityTracker can already
tracking with PortraitPagedViewHandler at
AbsSwipeUpHandler#setupRecentsViewUi, which leads the wrong
judgement while PagedView#onTouchEvent handling the ACTION_UP that
the velocity can nearly 0 from mOrientationHandler.getPrimaryVelocity.
By update the orientation handler earlier at onGestureAnimationStart,
the velocity tracking result should stay consistent from ACTION_DOWN
till ACTION_UP.
Bug: 213867585
Bug: 209936664
Bug: 221805258
Test: run below tests w/o shell transition.
atest FlickerTests:QuickSwitchBetweenTwoAppsForwardTest
atest FlickerTests:QuickSwitchBetweenTwoAppsBackTest
Change-Id: If73fa8d88cc372b6f783fb6cdda4148d11a2ee19
* Also all null check when trying to show divider
after swipe down animation from overview
Fixes: 223946009
Test: Steps in bug no longer cause crash
Change-Id: I2c8484c37b863c4cb6aba7e274c1eb76bce92b4a
This is to prevent the Taskbar from flickering when the app settles in
full-screen mode.
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/dIgvinb9yEB8MYfYDx0Ijy
Bug: 218450853
Test: see video
Change-Id: I9cfb0ca151dea6951561f78798bb16bafa48eba0
- Introduce inset to the staged split view
- Update width of the staged split view
- Introduce rounded corners to staged split view. It's tricky to animate it in with smooth transition considering the rounded corners. The best way to handle it is to draw content as if part of it is off the screen, so that when it's animated in, the rounded corners can slide in onto the screen correctly.
Fixes: 219085340
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/09a99b75-3614-4d20-b6d4-a78108f769d8
Change-Id: I24d90cc9e2695d822cb2de8b21e2d5519f2e344d
- Introduced additional page spacign for clear all button to match mocks
Fix: 222664142
Test: Quick switch to last task and immediately enter overview
Test: Dismiss last task in overview grid
Change-Id: I4d2f93d843c50b10051f3fb17027cd06e86707e1
This is caused by having set a wrong animation duration in the 3 button case. Before this change we have a fixed duration of 370ms which happens to be almost match the Overview transtion duration in gesture nav. However the transition duration in 3-button is set to 250ms. After the transition duration, any unfinished animation is cancelled including this one, resulting in the wrong staged split position. Instead this change pulls the transition duration of toState from the caller = RecentsViewStateController.
Fixes: 222210349
Test: manual
Change-Id: Ie2f3dbe38bb6df33961e2ee78b8a55d0e925501f
- Introduce rounded corners (since we scale x and y differently, we can't use outline since it doesn't support rx and ry. It's achieved by custom drawing).
- Make sure the thumbnail content doesn't shift during the transition (we use custom cropping for TaskThumbnailView, and we have to do it accordingly here)
TODO: update UX of the initial split view (b/219085340)
Fixes: 194414938
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/64953aa7-62ea-427c-8ec0-5f2bd96e4762
Change-Id: Id9a5d2f0f41cb4d619c8b3bd3a83c633e3d1f2de
- Determine the task in the group being clicked in split-select mode
and launch split using that selected task
- Also make sure we don't handle drag cancel twice when we are animating
the return of the drag surface
Bug: 219060441
Test: Split from home/overview with fullscreen+fullscreen task, and with
fullscreen+split task
Change-Id: I48ec0a82812197803ff4b3698830a9cb705719e3
Bug: 194414938
Test: After second app selected, first split placeholder
view doesn't jumpcut to arbitrary Y bounds.
Change-Id: Ic8b809f147bf38f78198ef4224d810faf5e3c5ba
* Other checks haven't changed, only pulled them out into
separate block
Fixes: 215699962
Test: Unable to repro the crash, I tried ending the
activity and starting via adb shell, but I was never
able to get into the original if-block that triggered the NPE
Change-Id: I83320634f1d059de610176f9031682ca287bd589
- Refactor the util method to create the animator and track the existing
animation in AbsSwipeUpHandler to be able to cancel it if another call
to change the visbility comes in. Note that this doesn't address
the case where the launch animation overlaps with swipe up (though that
hopefully shouldn't happen in normal usage)
Bug: 213403679
Test: Tap in the gesture space while split
Change-Id: I078a7d0f22c2ef2ba847796ec79e740c789ce1ae
- Use isTablet directly instead of overviewShowAsGrid
- Tablet/landscape resoruces can now be overriden via xml
- Use Landscape resources in tablet in additional to vertical bar layout
- For resources overwritten in values-land that was intended for vertical bar layout, override them in sw600dp for tablet landscape
Bug: 210597891
Test: manual
Change-Id: I19eac935a5fb1a420485408aa8b4774632726af1
* Old code assumes there will only be a single
GroupedTaskView, removing those code paths helps
consolidate single and grouped task code flows
* Correctly check when we need to add a stub
taskView for GroupedTaskViews by checking each
individual taskId
Test: Swiping with multiple split pairs doesn't
cause a cycle
Fixes: 213355942
Change-Id: Ibb98ae0dfcd4f52b762685aec9d2ee6445b9ef54
* Consolidate setState() and setStateWithAnimation()
to be handled in the same manner
* If no animation, we run the created
PendingAnimation right away
Fixes: 209935590
Test: Tested w/ and w/o animation
Change-Id: I1d6fdba21761b6721e6bd52234016178547cd437
Also only reloadIfNeeded() instead of always reloading in showCurrentTask(), which is called twice as the gesture starts and could contribute to jank.
Test: quickly quick switch from app A to B, ensure no jumpcut back to A
Bug: 205499708
Change-Id: I516020551d3f76eb4025df848bf4c88adf5499b7
- In split select there is no overview actions, and focused task's snappign position is not centered, it's weird to snap so avoid it
- Follow-up of ag/16378986
Bug: 208644826
Test: manual
Change-Id: I260b5c6164db562717346396b1830af02d408944
* Copied logic mostly from
Base/RecentsViewStateController
* There's one KI crash specific to 3P
(b/209694087)
* Swipe to home animation is TODO, but
then again it also seems incorrect for
full-screen app. 3P has many cosmetic issues
throughout.
Bug: 195607777
Test: Tested w/ Nova launcher with grid
and non-grid, able to invoke split screen with
same animations as 1P launcher
Change-Id: I35a1bc92a51caccac4214289e614000cd47bb503
Adding announceForAccessibility() in createTaskDismissAnimation()
to announce the task has being closed.
Test: Manually tested
Fix: 186744160
Change-Id: I71f57e7ba03a61b2ced7e338da4251637e89bd16
* changes:
Improve quick switch from home to taskbar
Cleanup some taskbar/hotseat handoff issues
Fix taskbar stash misalignment when going from app to overview
- Update floatingTaskView, apply splitsSelectTranslation and splitPrimaryScorllOffest when rotating while in split select
- Moved getSplitSelectTranslation to RecentsView
- When in portrait, treat STAGE_POSITION_BOTTOM_OR_RIGHT as STAGE_POSITION_TOP_OR_LEFT in split translation calculation
- Apply splitsSelectTranslation for portrait grid too
Fix: 201721153
Test: manual
Change-Id: I768a3b15de4d434674058b274c368798f5852917
- Add LauncherState#isTaskbarAlignedWithHotseat() which defaults to !isTaskbarStashed(), but is always false for quick switch from home
- Replaced FLAG_TRANSITION_STATE_START_STASHED and FLAG_TRANSITION_STATE_COMMITTED_STASHED with FLAG_STATE_TRANSITION_RUNNING and a reference to mLauncherState. STATE_START is equivalent to TRANSITION_RUNNING changing to true, and STATE_COMMITTED is equivalent to TRANSITION_RUNNING changing to false. Then can get details from the state such as whether taskbar is stashed and icon alignment from mLauncherState
Test: quick switch from home, both with taskbar stashed in apps and not
Fixes: 194728611
Bug: 204657916
Change-Id: I6cf84ec73a4036e14cc7268667c6f62100884c27
* TODO currently it doesn't animate when
dragging a split task back down because we need
to sync that with the other task scaling
animation playback controllers.
* It also doesn't animate in when opening a
split pair from overview because I think shell
is setting it to be visible before the divider
leash even makes it to launcher
Bug: 202914644
Change-Id: I6c60cffdb63aa262d0b547f85acc604c0c8a3637