Switch to using newly exposed method Bubbles#showAppBubble as what
FloatingTaskController does is no longer POR.
Calling this allows 1 bubble from a specific app to be added to the
stack. The only user of this method is NoteTaskController which is guarded by the NOTE_TASK.
Bug: 237678727
Test: treehugger
Change-Id: I47c5c010a050796eff848ba3fcabc40cf5fbd902
Adds a menu on clicking handle that will enable windowing changes. Still
to implement for this prototype: More button, Split Screen button,
Overtop/Float button.
Bug: 239960071
Test: Launch various tasks, confirm handle menu appears, drag
functionality is unaffected.
Change-Id: I0aeeffb44e6bfd580c70270e562d8c04031892de
ccfed74e82, add the toast maker in StageCoordinator. NPE is
thrown when running the splitscreen test. It can't toast on a
thread that has not been called Looper.prepare(). This CL adds the
@UiThreadTest on needed tests to fix the NPE.
Bug: 256087248
Test: atest com.android.wm.shell.splitscreen
Change-Id: I9fef85c58570a9c1ca2741d1a8aa81439850cc88
There are cases not having enough task changes to enter split screen.
Update to support canceling the enter-transition by reparenting tasks
back to display.
Fix: 237635859
Bug: 250853925
Test: atest WMShellFlickerTests
Test: enable shell transition and verify the following behaviors
1. drag and drop Phone to enter split while Phone in front
2. select "split right" on Phone icon and Phone thumbnail in
recents to enter split
Change-Id: I0fe8dfc0c46a8b1f5ee70d85359d2078c263ac80
This CL introduces BackProgressAnimator which runs in app's main thread.
It receives target progress values from SysUI and drives the actual
progress value passed to the app with a high stiffness, no bounce
spring.
Bug: 238475284
Test: atest WindowOnBackDispatcherTest
Test: atest BackAnimationControllerTest
Test: atest TouchTrackerTest
Change-Id: Ib0d3ebe43929c405b10681000fb4e7ef8bccce34
- Adds DesktopModeTaskRepository to FreeformTaskListener to track
visible freeform tasks
- Adds a listener on DesktopModeController to allow sysui to find
out about freeform tasks becoming visible
- Adds a sysui state flag for freeform tasks being visible
Bug: 245569277
Test: manual - add freeform task => launcher contents are gone
- remove freeform task => launcher contents are visible
Test: WMShellTest DesktopModeTaskRepositoryTest
Change-Id: I2d717052678bc35a4c59b0bc03e0c4d22e6b103d
This CL does the following:
1. Fix misuses of mTaskInfo in CaptionWindowDecoration because it's the
old value at that time.
2. Reset RelayoutParams before using it so we don't pass old values.
3. Restore the test values by using the resources in test package so
that we don't need to change the test every time we change the
resources in prod.
4. Change loadResource() to loadDimension() and loadDimensionPixelSize()
to avoid confusion with other type of resources. Also make them
static just in case we need similar logic on other instances of
Resources.
5. Moved RelayoutParams closer to RelayoutResult.
It also cleans up some commented out code.
Bug: 254658472
Test: atest WindowDecorationTests
Change-Id: I6fa1b06351c388e3ca6985e76c889f4ec5506c38
When freeform tasks are visible and user attempts to go home, it
triggers a TRANSIT_OPEN transition with target as home screen.
Our current logic checks for TRANSIT_OPEN and brings all freeform apps
to front when this is detected.
Limit bringing freeform apps to front only if a freeform task launches.
Otherwise skip.
Bug: 254736507
Test: atest DesktopModeControllerTest
Change-Id: Ib1ec6449e5236d6e34efdad277fb35bfda7bd068
Refactor the edge extension logic from DefaultTransitionHandler to the
helper class so that we can reuse it for ActivityEmbedding.
Bug: 207070762
Test: manually verify with Settings.
Merged-In: I6a89b549e7b117caae75ceba6df8f41f5c4d4a15
Change-Id: I6a89b549e7b117caae75ceba6df8f41f5c4d4a15
If folding or unfolding makes the pip window size either larger
than maximum size or smaller than minimum size, then user-resize
to normal bounds.
Test: manually reproduced steps in the bug listed
Test: atest WMShellUnitTests:PipResizeGestureHandlerTest
Bug: 198679951
Bug: 198645990
Change-Id: I4a8c0a3a0fa75ab3d51d30e75bc85a53e4801086
This is the first CL towards implementing the bar type caption which
will have a back button, a handle, and a close button. The caption will
also disappear when the attached task is not in focus.
Still to be implemented:
1: Windowing options appearing on handle click
2: Drag down in fullscreen to enter desktop mode
3: Caption display via hovering when cursor available
Bug: 239960071
Test: Manual: confirm new caption displays with the correct buttons/layout.
Confirm buttons work and focus change works with multiple tasks.
Test: Atest WindowDecorationTests
Change-Id: I2ebed76b803d1f337edc3e7340966909f63eaf40
- Currently, the collection of binders to send to Launcher is inverted
and managed by OverviewProxyService which has to know about each
component directly (and a SysUI interface has to be created to support
this even if there are no other calls in SysUI to that component).
Instead, we should have each component register itself with the
ShellController for controllers which can be exposed to an external
process, and each product can customize which set of controllers it
needs to support.
- Add missing dump registration for ShellController
- Updating docs for creating remote callable controllers
Bug: 238217847
Test: atest WMShellUnitTests
Change-Id: Icd0ed33bdbd68b1dd9d782b9ba1f5b4a604479ba
Merged-In: Icd0ed33bdbd68b1dd9d782b9ba1f5b4a604479ba
Because SnapAlgorithm use many resources value and it will be
affected by density, we should update context and
mDividerSnapAlgorithm too when configuration density changed.
Fix: 250483334
Test: manaul
Test: atest SplitLayoutTests
Change-Id: I207a025503c032318ede707eed786ae83b60e658
There are some juggling between task listeners and the transition
observer of window decors because they are hosts together with its
corresponding task states. This change can remove those juggling by
putting all of them at one place.
Bug: 250622579
Test: atest WMShellUnitTests
Change-Id: Ic1db1633a5e79e2bcea5885b8fc2f345fa05fb1e
If the device is docked the letterbox edu should not be visible.
Fix: 215098637
Test: Run `atest WMShellUnitTests:LetterboxEduWindowManagerTest WMShellUnitTests:CompatUIControllerTest`
Change-Id: I9ad5274654ed827fc31800d9d6dae5be1fc4baa1
Adds implementation of providers to get list of
recent tasks, recent task thumbnails and icons.
Adds a method to Shell's RecentTasks interface to
get a provider of recent tasks without using the IRecentTasks
binder object (which is used by Launcher) as we can
call it directly inside SystemUI.
Bug: 240924731
Test: atest com.android.wm.shell.recents.RecentTasksControllerTest
Test: atest com.android.systemui.mediaprojection.appselector.data.ShellRecentTaskListProviderTest
Change-Id: I89579fc8e4e07f6bf656d300ecdbb75bdcb91035
If shell is starting an existing transition, it doesn't need the
returned transition token so it can be an async call then it won't
block shell's thread to execute other operations.
If shell is starting a new transition, then use the new added 2-way
startNewTransition which is the same as the original path.
Bug: 248550757
Test: atest ShellTransitionTests
Test: CtsWindowManagerDeviceTestCases with shell transition
Change-Id: I5f64d19475d5b857a461775dd6f3002567e93ad8
This enabled launcher to show all desktop apps when user clicks on the
desktop tile in recents.
This is only enabled when Desktop Mode feature flag is enabled.
Bug: 244348395
Test: atest DesktopModeControllerTest
Change-Id: I3c89ef01fd7d1f457a7afabda94b481711c0a350
Special "app bubble" that is ordered at the front of the list unless
something else was selected. This is guarded behind the flag to
enable floating tasks, and a new flag to allow floating tasks to be
bubbles.
Test: manual - enable the flags and create a floating task
=> floating task appears in a bubble
Bug: 237678727
Change-Id: Ibf66e8bae07800b5f64598c9b50de7a7995d09e6
Add back flags to allow start background activities since besides
drag-and-drop, start a shortcut into split also need these permission.
Fix: 243101552
Test: atest StageCoordinatorTests
Test: long press on a shortcut to enter split
Change-Id: I9159734836183c811642dffe1a9faebb2ccc23a5
Creates a new package within shell for floating tasks along with a
basic controller and interfaces for sysui and launcher to use to
manage floating tasks.
A single floating task is allowed at a time and they can only be
created if a sysui flag is turned on.
The floating task is backed by a TaskView, floats above all other
content, and can be moved via a handle at the top of the view. The
view sticks along the left and right edges of the screen, can be
stashed (similar to PIP), and can be removed by dragging to a dismiss
target in the middle of the screen (similar to PIP & bubbles).
The tests included trigger the sysui flag on and off to ensure the
flag behavior (i.e. that you can't create one unless the flag is on).
Test: atest FloatingTaskControllerTest
Bug: 237678727
Change-Id: I490c44685825e14166869b2cf7c2994ee0e30ba7
In core, windowing mode is being set in TDA with ag/19902621. Thus, set
windowing mode with RooTaskDisplayAreaOrganizer instead of
RootDisplayAreaOrganizer.
Bug: b/241168290
Test: services/tests/wmtests
Change-Id: Ib7e6701839f83ab4125a9630d20203f8c5e415ba
We were tracking active freeform tasks in the RecentTasksController.
This causes some issues when we want to share that information to other
controllers like DesktopModeController.
Move tracking of active tasks to a separate repository that controllers
can query and listen for updates.
Bug: 244348395
Test: atest DesktopModeTaskRepositoryTest RecentTasksControllerTest
Change-Id: I7a460020f6b2133225e292a04f29ae1dd27e964b