Was assuming that resume == home-screen; however, in shell
transitions, launcher is resumed while overview is active,
so make sure it is both resumed AND "isTaskbarAligned"
before making the to-hotseat animation
Bug: 241800590
Test: Open an app, long-press taskbar to stash, long-press again
to unstash
Change-Id: I117afcb006c363e50205f27f014ffc30d6f2896a
If you swipe down slightly diagonally, it will almost always be treated as a swipe to the next task rather than a return to the current task. If we are swiping down and the Y velocity is grater, we should snap to the current task instead.
Test: Manually in fully gestural mode.
Bug: 222117127
Change-Id: I8c3cd483f7ceefe0de1e24b6e98918b12428ed10
Because we check supportsVisualStashing() in
TaskbarStashController#init(), we need to avoid using
TaskbarUIController to provide that value since TaskbarUIController
isn't initialized until a bit later than the other controllers. So I
moved the logic from supportsVisualStashing() back to
TaskbarStashController, but still allow TaskbarUIController to override
it (e.g. for DesktopTaskbarUIController).
After that fix, I noticed that force stopping launcher (to test the fix)
would briefly show the taskbar background before resetting the stashed
state. This is also due to LauncherTaskbarUIController not being ready
immediately, since that's what sets FLAG_IN_APP due to launcher being
paused. To work around this, I set FLAG_IN_APP to true by default in
TaskbarStashController#init(), since that is the most common case, and
taskbar background/stashed handle isn't shown on home anyway.
Test: Force stop launcher while taskbar is stashed, verify it recreates
as stashed without background flicker; same when changing wallpaper
color on home or in app; also tested when taskbar isn't stashed and in 3
button mode for good measure
Test: testHideTaskbarPersistsOnRecreate
Fixes: 235986838
Change-Id: Ie55bd70e8288d5ad7433dde970f18c176831d747
Also moved references of "tasbkar_view" to share TASKBAR_RES_ID constant
Test: compiles; see follow up CLs
Bug: 235986838
Change-Id: I69bcfa975550e567f3daa35af8a810546297d79c
- Added ActiveGestureErrorDetector
- Removed startQuickstep logs; these were confusing and not helpful in ActiveGestureLogs
Test: printed logs after several gestures
Bug: 227514916
Design: go/gesture-nav-logging
Change-Id: Ia2a7e4f90a3a371d9a92190aa66eb07acd061d6c
This also avoids showing splash in split select state
Fix: 242284413
Test: follow up after b/238405972
Change-Id: I2e83fa3d030e8a74edb4152c472dbf02ac5a80b1
Instead, bind to TouchInteractionService and use that binder to call into taskbar.
Test: TaplTestsTaskbar
Bug: 235986838
Change-Id: I222522bc53c9d1698542fbae52c37889f14abf41
This method has grown quite large and has a lot of if-else nesting. We
can address these readability issues by defining some helper methods for
specific cases (e.g. flingY and non-fling).
Bug: 222117127
Test: Manual
Change-Id: Ia6012dbcee9a842b4b5bd2ffdb9aea978cfdfc26
The motivation ternary `alpha > 0 ? 0 : 1` was not immediately clear, so adding some clarification for future readers.
Test: No
Change-Id: I558e86153e68572a519317dba7fbba180cb5678e
Fix: 239074423
This affects Hotseat only for now. Taskbar will be occluded when unstashed.
When in gesture nav and with auto-enter pip, we need to pre-register the Hotseat
keep clear areas, as otherwise the event appears after the animator is started
and current logic doesn't allow to update those destination bounds in the animator.
Test: manually, existing tests pass
Bug: 183746978
Change-Id: I4d97ca77225d3502acac1fb6b5e3eff3e81285ed
* changes:
Update ActiveGestureLog to store n-gestures rather than n-events.
Add input consumer selection reason to active gesture logs
Collapse EventLogArray into ActiveGesture log.
EventLogArray is never used directly, only used as a super class of ActiveGestureLog. Simplifying the hierarchy to simplify follow-up changes.
Test: manually tried gestures in 3 button and gesture nav and checked logs
Bug: 227514916
Change-Id: I0916f969a776953ddc4886846ad2f4936566e7d7
PendingIntent#getActivity gets the owner UserHandle from the app
context. That makes the activity launch fail since the app only exists
in the work profile environment(secondary user).
This CL gets the correct Userhandle from Launcher and use
PendingIntent#getActivityAsUser to launch split task.
Bug: 242039471
Test: Launch Google chat by shortcut to enter split (work-profile)
Change-Id: Ie1db8a858bf9cee700cb3ff3a9e607a5d1dbad30
This CL updates the nullabality on methods associated with IconCache in Launcher.
Bug: 242895652
Test: manual
Change-Id: I4832c0950141c8a52c8a9e62659ccabb082897c8
ResetGestureInputConsumer was defaulting to finising the recents animation to app when the the state was set to home. This created a situation where the taskbar could become invisible. Updated ResetGestureInputConsumer to check the state.
Fixes: 241204341
Test: tested on a large screen device using the repro steps
Change-Id: If5c109810ae2882f8cdfc0248939feb7c0c53d0d
When desktop windowing prototype is enabled, we should only be able to
switch apps to freeform mode via the quick tile.
Disabling other routes to put individual apps to freeform.
Test: visually verified that freeform button is not visible when desktop
windowing prototype flag is enabled
Bug: 242906219
Change-Id: Ib1ce75969b67f30d82262927e2e4113fab2c4956
- It appears there are cases where the view root is not valid (in
which case schedule() returns false and we don't wait to handle
the callback) which causes an NPE, but in these cases we don't
need to add the surface changed callback at all.
Bug: 202776119
Bug: 242347940
Bug: 242897135
Test: Launch an app with sharesheet, swipe up and verify that
screenshot callbacks
Change-Id: Icc3afc604bd925c5d49c693b7de51755f5a8bd42
The animation from Overview to OverviewSplitSelect is now updated to the latest spec. See bug for details.
- New timings
- Task thumbnails slide in with a new spring animation
- Icons fade out and fade in appropriately
- SplitInstructionsView has a new compound "unfold" animation
Bug: 236760307
Test: Manual on tablet and phone. Looks good on both true and fake orientations.
Change-Id: If98d4464aa51c876d79bee9672279992a2cf9026
- In rare cases, we may schedule to update the taskview with a
screenshot but Launcher will not finish calling back because
the activity is stopped (can be the result of the animation
cancelling back to the app), which prevents Launcher from
scheduling any frames and properly decrementing the frame
count.
Bug: 202776119
Test: Launch an app with sharesheet, swipe up and verify that
screenshot callbacks
Change-Id: I6b7e121fd5d9ef27ef5cccca060a4ff819fe9acc
- Follow-up of http://ag/19559863 as Config diff on windowConfiguration does not work on 3P Launcher, so diff WindowManagerProxy.getRotation instead
- Also centralized Configuration diff logic into StatefulActivity
Bug: 240730723
Test: manual on 90/180 degree rotation in Launcher, RecentsActivity and 3P Launcher
Change-Id: Ib368ed5d749841a6873a03e2644608ff68885922
* TODO: Landscape/seascape support,
Separate nav spacing out into
separate class/add tests
Bug: 219035565
Change-Id: I8f5c007f04ea4d6df15962772806356181d764ff
- Invoke onConfiguration when receiving inset changes
- In Laucnher/RecentsActivity onConfiguration, additionally detect for windowConfiguration's rotation change; if Configuration stays the same, it'll be ignored.
Bug: 240730723
Test: manual on 90/180 degree rotation in Launcher and RecentsActivity
Change-Id: I7087878af847d62e1c715a4f52a18818d1a6c258