This patch makes it so that the correct task will be chosen when selecting a second splitscreen app via Taskbar.
Prior to this patch, the Taskbar app selection function -- which attempts to match the tapped icon to a running TaskView -- assumed that the TaskView in question was always a solo (non-grouped) Task. This resulted in the wrong app being selected for split when the desired Task happened to be the secondary app in a pair.
Fixed by checking to see if the desired app is primary or secondary, and returning the correct Task, IconView, and ThumbnailView for the split operation.
Fixes: 265244769
Test: Manual
Change-Id: Ie1122d1b49151d70dec9711fe558fba7752b7d8e
Fix a bug in a condition determining when to show
filter ui for a certain taskview, making sure
that the ui is off when the feature flag for
multi-instance is off.
Test: reproduced the steps laid out in the bug
Bug: 264218764
Change-Id: Ie745789ad834d56b79de47e5196737eb08b081fa
Filter instances of GroupTasks based on package name
as a part of support for multi-instance
Add a feature flag to toggle multi-instance features
See the video below for how to use the demo.
Note: some extra UI elements were added since video
was recorded, but the filtering process is the same.
http://recall/-/da585DRwKRZK3S2xxcQrSm/gW9HZnbCvGyH1DQiVizOW2
See go/multi-instance for more info about the feature
Bug: 253520408
Test: manually tested the instance filtering
Change-Id: I19c947ca353699096388b9fbbdca6d75cb0041a7
when the method is called outside of taskbar.
This prevents the case where phone runs transient taskbar logic.
Bug: 260006210
Test: added local logs, tested in phone mode
Change-Id: I600c06d6c797bd68461ac033dcc2c6158f221024
> Removing some unused methods
> Moving some specialized methods to corresponding classes
> Removing GridProvider check as it is released
Bug: 257555083
Test: Presubmit
Change-Id: Ib0f8c673d018071d3f4b7d9247e0a35718ab009c
Merged-In: Ib0f8c673d018071d3f4b7d9247e0a35718ab009c
Returning a runnable list that doesn't get run later causes the overview command to be added to the pending command queue, but never gets removed. This causes following overview (and home on tablets) commands not to respond.
Test: forcefully caused the error condition programmatically; checked the queue is cleared and the user is sent home.
Fixes: 255851262
Change-Id: I9d2f54960c54963b1e7480a597d05911201c152b
This patch makes it so that (when we enable Taskbar in Overview) users will be able to select their second app for splitscreen by tapping the Taskbar icon, or the icon in AllApps.
This was done by performing a check to SplitSelectStateController when a taskbar icon is hit. If we are currently in split select mode, Taskbar/AllApps icons will no longer launch their respective fullscreen apps, but instead confirm the split attempt. The confirmed app will either be an already-running instance of the app, or a fresh instance of the app (if none is currently running). The split confirmation function is located in TaskbarUIController, where it is accessible to both LauncherTaskbarUIController (for 1P Launcher) and FallbackTaskbarUIController (for 3P launchers).
Also cleans up ~2 lines of unused code from the old splitscreen instructions toast.
Outstanding issues:
- When selecting a second app from within AllApps, the AllApps shade does not animate away in a satisfying way
- When selecting a second app and launching a fresh instance of that app, the animation appears to come from the wrong location
- Intent + Intent splitting does not currently work
- If the selected app is already running with multiple instances, it picks the oldest instance. Ideally, the newest instance is preferred.
Bug: 251747761
Test: Manual testing with Taskbar in Overview flag enabled
Change-Id: I302dc092740bb880f9134ba8e2e587c4f2c29d01
This change is only for the visual appearance of the
transient taskbar.
Bug: 252905206
Test: manual
Change-Id: I4990b20b39089a0c27ec2a72dd3010cf64ddba1d
This patch makes it so that the DWB banner transitions out neatly when a user in Overview drags a tile downward to launch the app. Previously, the banner would stick around throughout the transition, creating visual clutter and drawing attention to the corners of the app.
Fixed by creating an exit transition in setFullscreenProgress(), similar to other UI elements like Overview action chips.
There is another outstanding issue where sometimes the transition can get clipped and jump to the final frame. The cause is still unknown, but issue is tracked at b/250976138 for a future fix.
Fixes: 249825524
Test: Manual
Change-Id: Iea47a9bc643537f0b716ce11b104803d9ca25fd2
Create a desktop recents tile that shows a snapshot of the freeform
tasks running on desktop.
Scales them down and positions them in the same location as they would
be on the desktop.
Bug: 244348395
Test: manual
Change-Id: Ieb5830a331691844769003189f557c4b7e4cd35c
Moves Launcher's PreviewPositionHelper to shared
library between SystemUI and Launcher to reuse
it in the future in the partial screensharing
recents selector.
There should be no functional changes in the
code itself.
Bug: 240924926
Test: presubmit
Change-Id: Ib38b6f9db91e63a2598bf81229e3cd3e1a49ca60
This change updates the animation for initiating a split from the Overview screen on phones. Includes new timings and interpolators, and extends timing data classes related to SplitAnimationTimings.
Fixes a noticeable issue where the split animation appeared slow on phones.
Outstanding issues (fixes in progress):
- Repeated invocations of split on phones cause an erroneous animation to play. (b/249154347)
- Thumbnail corners do not match placeholder corners; the transition between the two is slightly janky. (b/236761794)
- Placeholder icons should be 72dp. (b/236761794)
Bug: 236761794
Test: Manual
Change-Id: Ibb97ef54498b0aa9556df531d8084799259c06e2
Create a placeholder tile in recents for desktop.
It is based on launcher task information. With extra flag indicating it
is for desktop.
When it is clicked, it will call sysui to show apps on desktop.
Test: manually verify that desktop tasks do not show up separately in
recents
Bug: 244348395
Change-Id: I8535a54e1545841cd988d4770e6fc5e857277cda
Fixes: 247843657
Test: Tapping on animating taskView as soon as
split top is selected from app menu doesn't result
in starting split prematurely.
Change-Id: I94455d9bab381e5223f70cab981830d51a8fad6b
This CL fixes an issue where initiating split select on a task with a DWB banner would result in the DWB banner sticking around long after the thumbnail itself fades, interfering visually with the rest of the animation.
Fixed by hiding all child views of the taskview when splitting, instead of just the thumbnail.
Fixes: 247257724
Test: Manual
Change-Id: I4dbeccf8dd28431749df5e78482e80aacf5df55a
This change updates the Overview > OverviewSplitSelect animation to the latest spec. This is a re-upload of a previous change, ag/19464657, but no longer will cause the b/241165022 issue.
Includes:
- New timings
- Task thumbnails slide in with an "overshoot" animation
- Icons fade out and fade in appropriately
- SplitInstructionsView has a new compound "unfold" animation
Bug: 236760307
Test: Manual on tablet. Made sure the b/241165022 issue is fixed.
Change-Id: Ia22f6b6d7b9474b782e693fae2320a34a2985b18
* If current TaskView is running live tiles, animate directly
when toggling recents button instead of trying to
launch the task
Fixes: 240231324
Test: Launching a single GroupedTaskView from overview
launches as expected in 3 button.
Tested adjacent launches as well.
Change-Id: I6c060d918d3ae08bee9da1ad9507bb25cf445b96
This commit fixes a bug where the user could cancel animations when transitioning between Launcher states, potentially resulting in a state where Overview elements (task thumbnails etc.) were wrongly hidden or invisible.
The bug occurred because functions such as createInitialSplitSelectAnimation() and createAtomicAnimation() did not carry out any cleanup upon animation failure. This resulted in RecentsView potentially being in a polluted state for the next launch.
Bug was fixed by adding cleanup routines to two onAnimationEnd listeners.
Fixes: 242715097
Test: Manual
Change-Id: I05415ecf515e247aa535e3ca8371e540c3189b01
This also avoids showing splash in split select state
Fix: 242284413
Test: follow up after b/238405972
Change-Id: I2e83fa3d030e8a74edb4152c472dbf02ac5a80b1
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
This update slightly changes the calculation method for Overview UI placement, in order to line up better with spec. (The previous calculation caused a small 30dp divergence on tablets.)
Bug: 236760307
Test: Manual by measuring pixels and comparing to spec
Change-Id: I94e9e7b5a6a24c37693425ac8ec71cd066003658
This will help SysUI test team (who uses TAPL) to set up Gradle build for their tests.
Bug: 202567877, 234414088
Test: presubmit
Change-Id: I3d923ea4b54d1a4c3d2b345be09692727d30433e
Revert "Move BaseActivityInterface task size methods to DevicePr..."
Revert submission 19279487-baseactivityinterface
Reason for revert: As per discussion in ag/19341332, make sure DeviceProfile can properly react to inset changes before moving task size calculations there
Reverted Changes:
I30324d34c:Move BaseActivityInterface task size methods to De...
Ia9c1d0387:Move BaseActivityInterface task size methods to De...
Bug: 238593212
Change-Id: I0d40fdd4a5d4468494e30cef32a284479ddd2feb
This change removes the custom TaskOutlineProvider class defined in TaskView. It appears to be serving no purpose currently, and is causing an issue with shadows on split tiles.
Fixes: 208650434
Test: Deployed change on local device. Observed no more shadows on split tiles, and all corners and outlines still seem to be functioning correctly.
Change-Id: I7e56401ccabcd19e598726cca5cf721a22c0d982
Remove other TaskView clipping logic as it is always false for other sides.
Fix: 234007059
Test: TaskThumbnailViewTest
Change-Id: I56210605fb8c2f433236a82932aaa2800afe392b
- Instead of calculating clippedInsets from thumbnail dimension, always use taskbarSize
- Clean up clippedInsets code as only bottom inset is ever present
Fix: 235328056
Test: With taskbar hidden, out of orientation thumbnail has proper size in quickswitch and overview
Change-Id: I3d7fc7899f04862c3401935b10f475e9ab74685a
When Launcher restarts (as the result of a UiModeChange or something else), it attempts to recover its previous state. However, the OverviewSplitSelect state is unique because it requires some additional information to recover properly (the taskId of the staged task and so on). This change makes it so that the relevant information is passed forward in the recovery bundle. Launcher will now restart in the base Overview state, and then immediately apply the saved data to recover the OverviewSplitSelect state.
Fixes: 233019928
Test: Manual
Change-Id: Ie6123ef9c374be000268f82857b696c49213c541
Merged-In: Ie6123ef9c374be000268f82857b696c49213c541