All apps should display below system UI components such as the
notification tray and power menu, so an overlay window is more
appropriate. As a result, all apps has a separate window activity
context, but some properties are delegated to the taskbar activity
context. Taskbar should also be stashed while all apps is open.
Change-Id: I593457708779d84a0ab8b949a966d247d0a2e1b7
Test: Manual
Bug: 216843189
Fix: 217383817
(cherry picked from commit 473b980bf9)
There should send an opening task transition to remote transition
handler to finish the recents animation. For now there is no opening
transition send to Shell because the exist home activity won't be
collected while start home activity.
To collect the home activity, do not set transient launch when start
recents animation if the top activity is home, so the home activity
would be paused. Then when user touch home key to cancel recents, the
home activity will be resumed so it can be collect to the transition.
When receive opening home activity while recents is running, enter
home and dismiss recents.
Bug: 207297486
Test: 1. Enable shell transition.
2. Setup 3rd-party launcher as default home.
3. Entering Recents from home.
4. "adb shell input keyevent KEYCODE_HOME", verify recents
animation will be dismissed.
Test: atest NexusLauncherTests:com.android.quickstep.FallbackRecentsTest
Change-Id: I689032d1fa18aa9a923aaf89077dbd73c09721b7
While re-arranging icons the hotseat remains in scale 1.0f, while the workspace reduces it's scale (as defined by SpringLoadedState.java). Previously, the code to aggregate animations was assuming hotseat and workspace always had the same scale.
MultiScaleProperty.get() was being used to set the starting value of the animation. Previously, it was returning the last aggregated value. However, this value was correct only for the workspace, but not for the hotseat. Returning the current view scale makes it always correct.
Bug: 220271046
Test: Dragged icons from hotseat to workspace, and verified animation didn't jump
Change-Id: Ic01776c1d8e3967624626ed7c44d194a06295790
If icons are re-bound during the animation, they were not moved. I was able to reproduce this case 100% of times by folding, restarting launcher and unfolding. From a perfetto trace it seems that in this case `finishBindingItems` was called after the animation already started, therefore not registering any view.
With this cl, items are animated also after they are rebound.
Bug: 197834977
Test: folded -> restarted launcher -> unfolded -> verified icons are now moving towards the center
Change-Id: I5b001c502860c17d6ea5d54d099f04b2ddf1820a
With enabling shell-transition, in case of seeing status bar icon
blinking when hammer tapping on the navigation bar to trigger recents
animation quickly as CL[1] mentioned,
As the result, Launcher side still need to callback recents app
behind system bar status to signal WM if launcher should affect
system bar appearance with [1] introduced method
setRecentsAppBehindSystemBars.
Bug: 215504556
Test: manual as below steps
1) Launching a app
2) Hammer tapping on the navigation bar
3) Expect the staus bar icon won't blinking
Change-Id: I4b41e06e559168a61a29fa6ea9f58b834a7f1a1c
The launch cookie can now be transfered via the broadcast
Fixes: 220290671
Test: add Photos widget, return properly to widget
Change-Id: Ibfe9e5232317837f3111459212a4b016b5828ef4
- 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
- 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
Merged-In: I078a7d0f22c2ef2ba847796ec79e740c789ce1ae
Bug: 194414938
Test: After second app selected, first split placeholder
view doesn't jumpcut to arbitrary Y bounds.
Change-Id: Ic8b809f147bf38f78198ef4224d810faf5e3c5ba
The unfold progresses are mapped to 0.85 - 1 range and set as a scale for launcher.
In case of multiple scale animations for workspace and hotseat, they are combined using MultiScaleProperty (e.g. opening an app while unfolding/going to all apps while unfolding). Note that this is a pretty difficult scenario to be in. If that happens, we multiply all values and bound the result between the max and min values.
Bug: 217368525
Test: atest MultiScalePropertyTest and manually
Change-Id: I6131c39f36deade0b7280c72edda2d72045344e9
Param intentFirst is not necessary because we could use stagePosition
to ensure intent side is left or right.
Remove it and ensure start task on main stage at split side.
Bug: 218613028
Test: pass existing tests
Test: manual
Change-Id: I3b8fc74b18c4d48fe73b501be696c3d59677183b
- We need to listen to DeviceProfile changes in case the number of
columns changes in the grid. I made an interface/mixin separate from
ActivityContext to avoid polutting the latter with too many things. I
also applied this change to existing taskbar A-Z grid.
- Added all apps visited count to onboarding preferences for only
showing "All Apps" label in place of divider 20 times. Label is also
tracked on taskbar side and should be kept in sync.
Test: Manual
Fix: 216843395
Bug: 174174514
Change-Id: I97aa91397c334123626caf18251f19e17c7104fb
- Use hotseatBorderSpace instead of cellLayoutBorderSpace
- Also divide by 2f instead of 2 because AS was complaining. May or may not potentially address off by 1 pixel issues.
Test: locally set alignment = 1, ensure perfectly aligned
Fixes: 218880076
Change-Id: Ifec30e6727f62985427b65b6c0b0810e7f7cd695
The setting is set to 1 if the taskbar education should be shown as soon as the animation for opening an app starts and is set back to 0 when the taskbar education window is detached from the window.
Bug: 214590804
Test: N/A
Change-Id: Id26e3051a6e0ef1f9c2dcbeef98710efbb4df54f
Test: Long press to unstash while in an app still works and shows feedforward; long pressing handle while in overview, all apps, or when IME is showing doesn't show anything.
Fixes: 218902248
Change-Id: I2c96570cab018c0e63c446793b84b210964bdb94
Pip fixed-rotation should also be active when shell-transitions
is using fixed-rotation.
Bug: 217560545
Test: enter landscape pippable, enter pip (eg. via swipe-to-home)
Change-Id: I9bfbc1efc230a94dd9a480195e3a6ddf712ab353
In grouped task view, DWB banners will now rotate properly when phone is
in landscape or seascape orientation. Also fixes a couple of minor
existing issues with the bottom task not displaying correctly in the
first place.
Fixes: 208357326
Fixes: 216218406
Test: Tested locally on Pixel 6, using landscape, seascape, and
portrait. Double-checked with task proportions changed, RtL/LtR, and
split top/split left/split right initialization.
Change-Id: I945f9937d2d4d784c0c74a006c7d0680daf628c2
In legacy animation, it was set in RecentsAnimation
#startRecentsActivity. Now because shell transition use
startActivity, it can be set directly to the options.
Bug: 218847872
Test: adb shell setprop persist.debug.shell_transit 1; reboot
Enable statsd log: "adb shell cmd stats print-logs"
Swipe up gesture navigation bar from an app.
adb logcat | grep statsd | grep "(48)"
The line may contain 0x100000->4[I] 0x110000->20[I]
that means 4=by recents and 20=latency 20ms.
Change-Id: Ia7bef23f8dc6cbf371cd1cdfb42f1f68d88d0787
* Pass back an empty WorkspaceItemInfo with correct
itemType set on it so at least it can be identified
if remaining fields are missing.
Fixes: 218625473
Test: Wasn't able to repro crash
Change-Id: If20d8fa648edf6c210ad5398905bf78e173b23a1
* 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