- Re-support GroupTask as a tag on TaskbarView BubbleTextViews
- Can tap to launch (startActivityFromRecents) or drag and drop
- Move divider when enable_recents_in_taskbar is true
Behavior:
- While in Desktop mode, all open tasks show up in TaskbarView,
either in the Hotseat section or the Running apps section
past the divider. Each one also has a running line indicator.
- While in Fullscreen mode, up to 2 Recent apps that are not
part of Hotseat will be added to the right of the divider.
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Bug: 315354060
Change-Id: I2e2870cca434b51f276a701860edb32069109159
- No longer bind All Apps to TaskbarRecentsController, and register
RecentsModel.RecentTasksChangedListener instead
- The source of truth for "running tasks" in Desktop mode is the
DesktopTask#tasks list itself, instead of
RecentsModel.RunningTasksListener (which is no longer used)
- Added TaskInfo.TaskKey#isVisible to distinguish minimized running apps
- Next CL will hook up the UI for Recent/Running tasks that are
not part of the Hotseat.
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Fixes: 335398876
Bug: 315354060
Change-Id: I1313f97a791c5c0c1db7443a5d4f1d5bc761981f
- Move logic from KeyboardQuickSwitchViewController to handle
bringing desktop tasks to front, and still support recent
tasks for non-desktop mode.
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: manually launch tasks from the Recents section in both
Desktop mode and full screen mode (running vs recent)
Bug: 315354060
Change-Id: I0520351b4d0095a3538c6165acd82a7b4c45a5e2
This allows the overflow to be tested properly in end-to-end tests.
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest OverflowBubbleTest (with other CL)
Bug: 347312208
Change-Id: Ice969434f9c40602c4b2d1a5baf6ba0509534a56
Multivalent tests in Launcher3 can use the interface to override
MainThreadInitializedObject instances.
Test: n/a
Flag: TEST_ONLY
Bug: 230027385
Change-Id: I9c7c4fd004ca573a003fb11cd0a19a400e95afe4
Also adding a fallback case for when quick switch could otherwise fail
Flag: NONE debug logs
Bug: 320215753
Test: checked logs
Change-Id: I2c6b6d2c6beee77d8c2bf9e81329c4b16839c328
Bounce the bubble bar when a new bubble is received while the bubble
bar is collapsed.
Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/fn7NWNY3htuR6K3wxhfcK2
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 280605790
Test: atest BubbleBarViewAnimatorTest
Change-Id: I4c622454fd99f6bb5a332b3fe4aa2764c8af93af
This cl address the problem for standalone picker (follow up to match
ag/27720721) to ensure widgets that aren't in section of their owning
package didn't appear in suggestions
Bug: 345520128
Test: Unit tests
Flag: EXEMPT bugfix
Change-Id: Ia0ef96c5be77db56b84c76ace498125d07f4be42
Currently the recents activity is started by a pending intent created
by launcher. And the sender is system server.
(HIERARCHY_OP_TYPE_PENDING_INTENT in WindowOrganizerController)
If the intent creator doesn't have visible windows, e.g. launcher is
occluded by its another embedded of another package, then the background
launch policy will check whether the intent sender is allowed. But
system server also doesn't have visible windows, which causes
BackgroundActivityStartController#
checkBackgroundActivityStartAllowedBySender to return BalVerdict.BLOCK.
Which will set MOVE_TO_FRONT_AVOID_PI_ONLY_CREATOR_ALLOWS to disallow
moving the target task to front.
See I72a6c22a5fb27aeac52a4e5d46c6a16e28ee6757 for the block policy.
Although currently the recents activity can still move to front because
some places miss to check blocking the launch. Then it is like just
using a security hole.
By adding the background launch permission hint to ActivityOptions,
BackgroundActivityStartController#hasBalPermission will check if the
real caller has permission START_ACTIVITIES_FROM_BACKGROUND. Then
it will pass because the intent sender is system server.
Bug: 341618283
Flag: EXEMPT bugfix
Test: atest NexusLauncherTests: \
com.android.quickstep.TaskAnimationManagerTest
Test: Swipe to minus one screen. Click a news item to Launch chrome.
Swipe from bottom to return to home. There should not have an
error log:
"Without Android 15 BAL hardening this activity would be moved
to the foreground ... only the creator of the PendingIntent
allows BAL. realCallingPackage: android.uid.system:1000 ..."
(from ActivityStarter#logPIOnlyCreatorAllowsBAL)
Change-Id: I19153f6553c09421bca248d4ff9110d168b34f98
This CL makes changes to the "split divider placeholder view", which was intended to cover up the backdrop a little during the split confirm animation. The placeholder view is now larger (fullscreen) and fades in with the animation movement, so there is no longer a period of time when it looks like an awkward rectangle.
New timings and interpolators confirmed with UX. Also renamed some variables and added comments for clarity.
Fixes: 344573331
Test: Manually verified that the visual bug no longer happens on large and small screen, and from desktop and Overview.
Flag: EXEMPT bugfix
Change-Id: I3b37f2b0478035d7a3181ae7c23962fe75a13b2c
Merged-In: I3b37f2b0478035d7a3181ae7c23962fe75a13b2c
(cherry picked from commit 91fb2f2e5e)