Commit Graph

30 Commits

Author SHA1 Message Date
Vinit Nayak a4e5a9eebe Prevent double selection of second split app
* Also fix small other bug where we were
checking only for LauncherState
OVERVIEW_SPLIT_SELECT and not for equivalent
3P RecentsState

Fixes: 227419997
Test: Repro steps don't cause bug. Yay.
Change-Id: Ibb8238185b959d22d8455b6812d29b2e268d9739
2022-04-14 11:06:47 -07:00
Tracy Zhou 53ad207008 Use topComponent to get package name
task.topActivity can be null

Fixes: 226232720
Test: manual
Change-Id: I7d0c928871d01402bf41bc96514aae7854045baf
2022-03-22 17:13:52 -07:00
wilsonshih 7315e33630 [Shell Transition]Release floating task view after second task select.
Register animation start callback to RemoteSplitLaunchTransitionRunner,
so there can clear up the floating task view when entering recents.

Bug: 223397364
Test: verify no floating task view remaining on RecentsActivity.
Change-Id: Idedc7950b8954d1376960d5e74aa4c60fefa9c86
2022-03-16 11:30:46 +08:00
Tracy Zhou d9cb8cfa0d Support launching an intent and a task from the same app as multi-instance
Similar to ag/16820166, add FLAG_ACTIVITY_MULTIPLE_TASK to the fillInIntent

Fixes: 222583964
Fixes: 217965464
Fixes: 221415250
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/7606236a-3350-49d6-bfad-9e6a609413d1
Change-Id: I676358ef1cbff8317995430de961a0a3242c0cbf
2022-03-09 15:21:45 -08:00
Tony Huang 3a2d621429 Refactor startIntentAndTaskWithLegacyTransition
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
2022-02-15 15:57:02 +08:00
Tracy Zhou a0d4720815 Initial implementation of split from workspace and all apps
Bug: 216829535
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/feb5db9c-9429-42c2-a124-777e66fd5f0b
Change-Id: I34118975d0d7e15eb46b483f5a05447f5391e6fd
2022-02-02 13:37:47 -08:00
Vinit Nayak 1465a5af7b Handle split selection when animation is disabled
* 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
2022-01-05 12:19:11 -08:00
Jerry Chang 279c3b7fa2 Support to launch app pair from overview with recorded split ratio.
Bug: 207479945
Test: Quickswitch back to app pair keep split ratio
Change-Id: Id24195c15fe59053cc51515a942f72c3b8e87ba7
2021-11-25 11:38:14 +08:00
Vinit Nayak 788821ec4e Launch GroupedTaskView from thumbnails
* Previously when starting the remote animation
we were relying on SplitPlaceholderViews to
animate into the proper place since we weren't
launching from the TaskView itself
* Now when launching from a GroupedTaskView,
we use the existing animation that handles that
animation in addition to showing the new split tasks

Fixes: 206608786
Test: Thumbnails animate from home -> overview -> launch
Change-Id: I1499ead7d90cd41e285ed0f4df66ea31f0dfbc95
2021-11-18 22:58:53 -08:00
Vinit Nayak 97f9bd575a Reset split selection state when RecentsView resets
* We weren't calling reset on the views
involved in split selection when recents view gets
a reset call (oops)
* Use device theme for split placeholder theme instead
of hardcoding to white

Fixes: 206155455
Change-Id: I3768fd574cb21eec9562d89c1a93eaa3f53d5ff1
2021-11-18 14:06:27 -08:00
Winson Chung d0e6c8b2e7 Freeze task list if requested when launching split tasks
Bug: 206000278
Test: Quickswitch from app pair and back
Change-Id: I76af1396145e121e7f66f9e6b97f21a85c075e8e
2021-11-12 06:27:26 +00:00
Evan Rosky e4102c6ffe Support multiple tasks in recentsaninmation onTaskAppeared
Needed for app-pairs support

Bug: 204094785
Test: TODO
Change-Id: I3c5f8097b04b4033ba887e3c6d9e5ffd900df80e
2021-11-08 17:40:13 -08:00
Evan Rosky a3defa4d39 Merge "Provide app-process tokens to remote transitions so they can be boosted" into sc-v2-dev 2021-11-03 20:59:08 +00:00
Vinit Nayak 0516737146 Reset state after split launch animation finishes
Previously we were clearing SplitSelectStateController
state too soon for fake landscape case where
as soon as the tasks launch the device does a rotation
animation since the new split tasks are in landscape.
Move restting state after animation finishes.

Fixes: 201980666

Change-Id: I23efd59fad444c47ae6c2048888a8570f22610fd
2021-10-05 15:29:24 -07:00
Jerry Chang d3ceb3dc88 Reset floating split task view after remote animation finished
Move reseting floating task view for entering split after remote
animation finished to prevent the floating task view disappear before
opening split task view being visible and causing flicker.

Bug: 199377815
Test: Manual check the flicker disappear
Change-Id: I4a864335972842570c61291a7a0c423edeb74578
2021-09-23 16:01:18 -07:00
Evan Rosky 80ca459e7d Provide app-process tokens to remote transitions so they can be boosted
The app process token is required for shell to request delegated
transition animators to be boosted.

Bug: 183993977
Test: add logging in WPC.setRunningRemoteAnimation and verify calls
      during transitions
Change-Id: Ide2dd3e77714cca8e85e409c8d88c69c20122827
2021-09-03 13:38:00 -07:00
Vinit Nayak 57e261ceef Quickswitch with staged split
* UI polish/animations needed.
* One known bug (b/198310766), temp work around is to
swipe up to home.

Bug: 181704764
Test:
* Open apps in staged split and quickswitch
between GroupedTaskView and fullscreen apps.
* QS to fullscreen app and then go into overview
and re-launch split screen tasks
* QS to fullscreen app, wait 5 seconds,
swipe into overview, no GroupedTaskView shown

Change-Id: I0ce10a944d86be5c927eeaaef922559a40f39923
2021-09-02 11:44:36 -07:00
Vinit Nayak dd85a9c0a6 Launch multiple tasks at once
Bug: 195675206

Change-Id: I31c76e8dfec617092f73e989ce94bf0ab693d0d1
2021-08-30 19:24:43 +00:00
Vinit Nayak cdcaf7a2ed Code cleanup from rebase
Bug: 195423591
Change-Id: I623d6ef46458a282e3c63cde0bdc457cb38e4d50
2021-08-27 16:28:12 -07:00
Vinit Nayak 6174106f68 Add Split button in OverviewActions
Shows up only for large screen devices, not phones.
Tested for NexusLauncher, general 3P launcher support
needed for staged split (TODO b/195607777)

Bug: 195423591
Change-Id: I4d455769b17637174b590c640516b9fbb6352c3d
2021-08-26 11:49:38 -07:00
Vinit Nayak aa11976cc5 Fix public variables to not have 'm' prefix
Bug: 181704764
Change-Id: I89e43ce6cc74119514c8124e7cc61b11dc475f58
2021-08-25 11:59:43 -07:00
Vinit Nayak 7903758d08 Animate SplitPlaceholderView when entering split from overview
Bugs tracked in b/181704764

Bug: 181704764
Test: Tested on phone and large screen in multiple orientations

Change-Id: I07509006ae3d1f4425dc5119d0c8ed52b41a3bc2
2021-07-22 20:12:26 +00:00
Evan Rosky 1abc73c587 Hook up split-launch to legacy transition system
Adds legacy versions of the animation logic.

Bug: 192279476
Test: use SPLIT_SELECT to launch 2 apps in split and observe
Change-Id: I5cbe7416819ba88d8c081fb413177fadac5b815d
2021-07-08 09:03:12 -07:00
Sunny Goyal 696c612964 Fixing TaskView.launchTask.onEndCallback is not called
Sometimes onAnimaitonCancelled can be called without onCreate. Calling
onEnd in this case so that the sate is cleared

Removing additional subclassing for the runner

Bug: 190856140
Test: Manual
Change-Id: If105cb343cab446a4eac90a45184ce50c6e4c485
2021-06-21 16:06:40 -07:00
Vinit Nayak 2dbdddb4ba Add funtional animation for SplitSelect from Grid.
Long ways to go to final UI - TODO(b/186800707)
Add comments to grid layout code,
no functional changes at all.

Bug: 181705607
Test: Enter split screen from overview task menu
in grid and carousel. Able to select all items
and enter split.

Change-Id: Ib62f1b286acf0781ec47862fa31b670e6ff1892a
2021-05-05 09:38:42 -07:00
Vinit Nayak 0e16272049 Place split selection placeholder view based on option selected
* Add first split app's choosen icon inside the view

TODO: Update animation of where selected app goes.

Bug: 181704764
Test: Tested tablet + phone, real and fake landscape
Change-Id: Ia3c635b056f2ac3812a0df001bbbb38bde26f6af
2021-04-22 21:23:21 -07:00
Evan Rosky 0c504d047f Update API usage for mergable transitions
Bug: 183994113
Test: N/A, just added parameter
Change-Id: Iabe2dabebd8e3dc929d1851ac1adbce5b3a64ad7
2021-04-20 15:17:54 -07:00
Vinit Nayak b1bbc0f78d Changes to use new startTasks API
When shell transitions is enabled, this will use the
newer multi-task-launch api and control the animation.

There is no actual animation yet, this just adds the
infrastructure.

Bug: 182002789
Test: enable developer option and enter split via recents
Change-Id: If5be104a86e7b5f743f85efed20b0d2bf1b8bfd1
2021-04-09 12:09:28 -07:00
shawnlin ffb976c404 Attached the navigation bar to app for launching from Launcher
- Play the nav bar fade-out animation at the same time when the app
  launching animation starts and make the fade-in animation ends at the
  same time when app launching animation ends.
- To make the nav bar fade-in animation looks like it's attached to the
  app, apply crop rect and translation that the app targets apply to the
  nav target.

Bug: 181638132
Test: manual: click app icon on launcher to launch an activity and
observe the navigation bar animation.

Change-Id: If7e610eca5fccbb747a76c87335a600b018195a6
2021-04-09 04:04:42 +00:00
Vinit Nayak d987a828e8 Initial commit of new split screen work.
TODO:
* Extract out common elements in TaskShortcutFactory.MultiWindowFactory
for commonalities between new and old way of
invoking split screen
* Integrate with WM APIs (b/182002789)
* Write tests for SplitSelectStateController

Bug: 181704764

Change-Id: Ice35adb4ea82897f5e2433dc9b93a549f3d511b5
2021-03-15 15:42:32 -07:00