Commit Graph

1177 Commits

Author SHA1 Message Date
Tony Wickham
74fc385999 Merge "Load and draw Recent/Running tasks that aren't in Hotseat" into main 2024-06-21 21:01:41 +00:00
Tony Wickham
a79bc15cd0 Merge changes from topic "taskbar-running-minimized" into main
* changes:
  Maintain Running Tasks order in Desktop mode
  Change running apps section to use GroupTask instead of AppInfo
2024-06-21 21:00:01 +00:00
Treehugger Robot
f4934108bb Merge "Fix bubble bar bounce animation issue" into main 2024-06-21 20:44:10 +00:00
Liran Binyamin
cdc3e4d8b4 Fix bubble bar bounce animation issue
The bubble bar bounce animation was assuming that the initial translation
of the bubble bar is also the translation the bubble bar should have at
the end of the animation. This is normally correct except when the
bubble bar is initially hidden. What happens in that case is that the
translation is 0 so the bubble bar gets animated incorrectly.

This change gets the target animation from stash controller.

ABTD 100 runs: https://android-build.corp.google.com/abtd/run/L26900030004638356/

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 347856510
Test: atest BubbleBarTest#selectDifferentBubble
Change-Id: I661bf006c6f23ff871c221f8d9da74d79a2dff11
2024-06-20 18:03:52 -04:00
Liran Binyamin
8af78f19a3 Merge "Animate bubble removal from the bar" into main 2024-06-20 20:57:34 +00:00
Liran Binyamin
7b426af15f Animate bubble removal from the bar
This change creates a BubbleAnimator class that handles animating
both new bubbles in and removed bubbles out.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/dMHGANplWjGC5HZT6MXyA4

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 345687290
Test: atest BubbleAnimatorTest
Test: see demo

Change-Id: Ie060495f4b1421d1c8af48a861cd3e12dd0adbe8
2024-06-20 14:57:03 -04:00
Alex Chau
91602f658c Move testQuickSwitchFromHome to possubmit
Bug: 325659406
Test: presubmit
Flag: EXEMPT test
Change-Id: Iccc2c1f06da85a0df79b5f3e0881535ce226f953
2024-06-20 13:50:19 +01:00
Tony Wickham
c5995c8f6d Load and draw Recent/Running tasks that aren't in Hotseat
- 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
2024-06-19 00:27:30 +00:00
Tony Wickham
7c7c90528d Maintain Running Tasks order in Desktop mode
Fixes: 345034545
Test: TaskbarRecentAppsControllerTest
Flag: com.android.launcher3.enable_recents_in_taskbar
Change-Id: I4ab856c5293625c5279d4713450e5ea2d3b0ed85
2024-06-19 00:27:30 +00:00
Tony Wickham
2021727f1e Change running apps section to use GroupTask instead of AppInfo
- 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
2024-06-19 00:27:30 +00:00
Riddle Hsu
d76b06359f Merge "Let sender permission allow background launch when starting recents" into main 2024-06-18 01:48:41 +00:00
Liran Binyamin
ad2f15c5b2 Merge "Implement new bubble animation when collapsed" into main 2024-06-18 00:16:08 +00:00
Shamali Patwa
0fb4cce4a7 Merge "Consider WidgetSections for suggestions in standalone picker" into main 2024-06-17 23:55:16 +00:00
Jagrut Desai
18087d8b6f Merge "Add orientation logic to taskbar icon specs" into main 2024-06-17 20:28:33 +00:00
Liran Binyamin
9e15f07c1c Implement new bubble animation when collapsed
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
2024-06-17 16:24:59 -04:00
Shamali P
77e42868da Consider WidgetSections for suggestions in standalone picker
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
2024-06-17 20:02:18 +00:00
Jagrut Desai
67b8de56ce Add orientation logic to taskbar icon specs
Test: Presubmit
Bug: 341146605
Flag: NONE Taskbar Customization
Change-Id: Ia86d61fd6ac38d03e45b23ea2a424a5b0b33c12b
2024-06-17 11:43:04 -07:00
Brian Isganitis
0e709b9a9d Merge "Add test for toggleSearch." into main 2024-06-17 18:25:17 +00:00
Riddle Hsu
a37161182e Let sender permission allow background launch when starting recents
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
2024-06-17 17:52:16 +08:00
Jagrut Desai
55d101d15f Merge "Util classes for the Taskbar Customization Framework" into main 2024-06-14 17:25:39 +00:00
Randy Pfohl
69092b41f6 Merge changes from topic "windowPrototype" into main
* changes:
  Fixing tests related to abstraction
  Abstracting StatefulActivity from StateManager
2024-06-13 22:11:49 +00:00
Brian Isganitis
fa1f4c9f79 Add test for toggleSearch.
Focus is not requested until the open animation finishes, so we need to
emulate the animation completing.

Test: TaskbarAllAppsControllerTest
Flag: TEST_ONLY
Fix: 346394798
Change-Id: I5ba57e9bb1813c159599b31404a28ef10c85e3ee
2024-06-13 20:06:30 +00:00
Jagrut Desai
3cddb5817d Util classes for the Taskbar Customization Framework
Test: Presubmit
Bug: 341146605
Flag: NONE Taskbar Customization
Change-Id: Ice9d2e6db2754ba75a1253da45dd28aa63cad58f
2024-06-13 11:46:29 -07:00
Brian Isganitis
1535867fa7 Merge "Test TaskbarAllAppsController non-search behavior." into main 2024-06-13 18:04:12 +00:00
randypfohl
4b40965346 Fixing tests related to abstraction
Flag: NONE - fixing tests

Test: built and ran locally, verified test pass in presubmit

Bug: 224595066

Change-Id: Ifefab1e1696853c5bd816a361314082073ba8a20
2024-06-13 10:26:12 -07:00
Michał Brzeziński
f24e6ad602 Merge "Disabling touchpad gestures in launcher for SYSUI_STATE_TOUCHPAD_GESTURES_DISABLED state" into main 2024-06-13 10:19:30 +00:00
Brian Isganitis
e2b79a499d Merge "Add more documentation explaining main thread requirements." into main 2024-06-13 00:02:22 +00:00
Brian Isganitis
e54c1462a3 Test TaskbarAllAppsController non-search behavior.
Flag: TEST_ONLY
Bug: 230027385, 346394798
Test: TaskbarAllAppsControllerTest
Change-Id: Id97e1b82cb8fba48687b5e23222e3bba6695ac4c
2024-06-12 23:59:51 +00:00
Brian Isganitis
6e02de9c2b Merge "Add more tests for {request,hide}Window." into main 2024-06-12 22:30:39 +00:00
Brian Isganitis
e16fc827d3 Add more documentation explaining main thread requirements.
Flag: TEST_ONLY
Test: n/a
Bug: 230027385
Change-Id: Iad38f946c2e75a3372253e57abb4df2f52e62ca5
2024-06-12 16:23:14 -04:00
Brian Isganitis
a76fcaf5b4 Add more tests for {request,hide}Window.
Flag: TEST_ONLY
Fix: 346394585
Test: TaskbarOverlayControllerTests
Change-Id: I59ed58d7f3a4d46bccfb34ef6923f1bf4f5bf2c1
2024-06-12 15:53:33 -04:00
Brian Isganitis
e59b640ffc Merge "Initial TaskbarUnitTestRule with example overlay controller tests." into main 2024-06-12 19:26:17 +00:00
Orhan Uysal
8f2a4e0854 Merge "Use RecentTasksListener to trigger TopTaskTracker" into main 2024-06-12 12:30:13 +00:00
Brian Isganitis
9eaae4b6a4 Initial TaskbarUnitTestRule with example overlay controller tests.
Flag: TEST_ONLY
Bug: 230027385
Test: TaskbarOverlayControllerTest
Change-Id: I858906ece7e67677962ec8b4432bfcca5ec30283
2024-06-11 23:48:13 -04:00
Orhan Uysal
c948537a82 Use RecentTasksListener to trigger TopTaskTracker
Currently launcher gets task stack updates through WM core. Ideally we
would like to migrate into a model where launcher gets these updates
through shell instead.

Test: Manually check that the correct task info is delivered to launcher
from shell
Bug: 341932484
Bug: 344684650
Flag: NONE Just adding a listener, no logic added

Change-Id: Iaf534a4bfee968138d4a4ff282a66e62759af2c0
2024-06-11 21:00:22 +00:00
Treehugger Robot
0f83d92ae4 Merge "Scrolling down to locate PS after lock/unlock event." into main 2024-06-11 20:24:17 +00:00
Himanshu Gupta
3a4b79bf7b Scrolling down to locate PS after lock/unlock event.
This change fixes TAPL tests by:
1. Scrolling down to locate PS, in case the scrollbar moves after lock/unlock.
2. Retrying lock/unlock, as sometimes, the request is cancelled by UserManager (if the profile is already in that state)

Bug: 345556016
Test: atest TaplPrivateSpaceTest
Flag: NONE Tapl fix tweak.
Change-Id: Ic0cc3259a2f92065a699d694c47f65c5f68934b8
2024-06-11 18:15:51 +00:00
Michal Brzezinski
2eff95ef6d Disabling touchpad gestures in launcher for SYSUI_STATE_TOUCHPAD_GESTURES_DISABLED state
As gestures start with checking of canStartTrackpadGesture() method, disabling it there disables all touchpad gestures.

Test: RecentsAnimationDeviceStateTest
Flag: NONE these changes are not directly flagged but usage of SYSUI_STATE_TOUCHPAD_GESTURES_DISABLED state is guarded by flag: com.android.systemui.new_touchpad_gestures_tutorial
Bug: 345207568
Change-Id: I0409475a3e006609c6b722cd3b17d75e1ebed939
2024-06-11 15:28:31 +01:00
Jeremy Sim
dafbaa5f1b Merge "Fix flaky test" into main 2024-06-11 04:12:58 +00:00
Treehugger Robot
9aafa6bd76 Merge changes I8411fb83,I5b757558 into main
* changes:
  Move Desktop running apps support into TaskbarRecentAppsController
  Add flag for Recents in Taskbar
2024-06-11 02:16:56 +00:00
Tony Wickham
a2b510dc23 Move Desktop running apps support into TaskbarRecentAppsController
- Merged DesktopTaskbarRunningAppsController up into
  TaskbarRecentAppsController, which is now initialized directly
- The old TaskbarRecentAppsController was effectively a no-op
  that was always overridden, so merging the one subclass up makes
  things simpler (especially for the follow up CLs which will add
  support for switching between Running and Recent tasks using
  the same underlying data).

Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Bug: 315354060
Change-Id: I8411fb832e5dd3d76201d2694dec0b11bd70bbf9
2024-06-11 00:18:23 +00:00
Jeremy Sim
c1470021c8 Fix flaky test
Attempts to fix a flaky test by ensuring that recents is always cleared before creating a split pair (so the split pair under test is always the same).

Bug: 340935208
Test: testSaveAppPairMenuItemOrActionExistsOnSplitPair(), testSplitTaskTapBothIconMenus()
Flag: TEST_ONLY
Change-Id: Ibc81b90fac531f0e78e93a494ff59073ab5e52cf
2024-06-10 14:51:53 -07:00
Vadim Tryshev
d37d4d8b7d Merge "Removing test class TaplViewInflationDuringSwipeUp" into main 2024-06-07 21:19:04 +00:00
Vadim Tryshev
e7d59d06c4 Removing test class TaplViewInflationDuringSwipeUp
The bugs for fixing the removed tests are obsolete, and it was decided to not allocate resources for fixing the tests.

Bug: 190618549, 190729479
Test: presubmit
Flag: NONE it's a test
Change-Id: I1ca3c2c054e4b598c65c86913f0ddbbc711d7f6c
2024-06-07 12:16:37 -07:00
Shamali P
d69e21f8fe Ensure widgets from WidgetSections.xml are included in suggestions
Additionally, let only prediction system provide suggestions, since the
UI surface has been there for a while, adding locally filtered widgets
from app package isn't required.

Bug: 345520128
Test: Unit tests
Flag: EXEMPT bugfix
Change-Id: Ia97f0743fefeae750e07a694bb19d24a5cc11ffe
2024-06-06 22:23:35 +00:00
Himanshu Gupta
91988caf99 Merge "Re-enabling a failing Tapl test for Private Space." into main 2024-06-06 17:08:41 +00:00
Ats Jenk
765cc415a3 Merge changes from topic "bubblebar-a11y" into main
* changes:
  Move bubble bar strings
  Add content description to bubble bar and bubbles
2024-06-05 19:04:22 +00:00
Ats Jenk
cd4c9d153d Add content description to bubble bar and bubbles
Set content description on the bubble bar when it is collapsed. Only
allow focus on the bar itself. In collapsed mode, bubbles in the bar
can't be focused.
Content description for the bar matches what we have in floating mode.
We include the text for the first bubble and then how many bubbles are
there more.

Set content description on bubbles in bubble bar. When bubble bar is
expanded, only the bubbles are focusable.
Bubble content description matches the floating bubbles content
description. Includes the notification title and app name.

Bug: 344670947
Flag: com.android.wm.shell.enable_bubble_bar
Test: enable talkback, focus on bubble bar when it is collapsed, check
  that only bubble bar receives focus
Test: enable talkback and expand bubble bar, check that only the bubbles
  receive focus
Change-Id: Id931f0360b9ebadd01dd16b05b75546fcc4df803
2024-06-05 10:13:22 -07:00
Himanshu Gupta
72297b7b81 Re-enabling a failing Tapl test for Private Space.
The test seemed to be failing due to animation issues
(settings cog and Lock text not visible)- b//339179262
Re-enabling the test as those issues are now fixed.

Bug: 322882655
Test: TaplPrivateSpaceTest
Flag: None TaplTest
Change-Id: I4053b9759cd97c721ea576965f57ef309fffaab3
2024-06-05 15:42:46 +01:00
Alina Zaidi
f895a7b0bd Add transition source for DesktopMode enter transition event originating
from AppIcon press in overview

Test: Updated unit tests
Flag: EXEMPT not a major feature/ user visible change
Bug: b/326231756

Change-Id: I9e53cd3ec41dd2475ba90ea8fab2fb7a90f5e158
2024-06-04 13:12:04 +00:00