Commit Graph

76729 Commits

Author SHA1 Message Date
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
Tony Wickham 4e1befb394 Handle running task launch properly in desktop mode
- 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
2024-06-19 00:25:45 +00:00
Charlie Anderson df204b585e Merge "Only send new first screen broadcast on first load after restore" into main 2024-06-19 00:10:49 +00:00
Mady Mellor 58a6bbac4a Update bubble bar overflow to have a unique resId
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
2024-06-18 16:43:32 -07:00
Fengjiang Li 880de362f1 [Launcher Jank] Avoid LauncherWidgetHolder and QuickstepWidgetHolder calling IAppWidgetService$Stub$Proxy.setAppWidgetHidden from main thread
Fix: 347991067
Test: manual - jank fix
Flag: NONE - jank fix
Change-Id: I881e5961ee4422d89e761c95ee8371902ded7ae6
2024-06-18 15:47:31 -07:00
Brian Isganitis d0261a8e57 Extract RoboApplication object caching to Launcher3 interface.
Multivalent tests in Launcher3 can use the interface to override
MainThreadInitializedObject instances.

Test: n/a
Flag: TEST_ONLY
Bug: 230027385
Change-Id: I9c7c4fd004ca573a003fb11cd0a19a400e95afe4
2024-06-18 18:36:53 -04:00
Charlie Anderson 30a3acc779 Only send new first screen broadcast on first load after restore
Flag: EXEMPT launcher_broadcast_installed_apps
Bug: 322314760
Test: manually tested

Change-Id: I28a3ee1fb2c5c382ea8789b6e966c80db1abf0e0
2024-06-18 18:19:46 -04:00
Jagrut Desai 5074ef975a Merge "Fixing TaplUninstallRemoveTest#uninstallWorkspaceIcon" into main 2024-06-18 21:52:33 +00:00
Fengjiang Li 52c8595224 Merge "[Launcher Jank] Avoid making IWindowManager$Stub$Proxy.registerCrossWindowBlurEnabledListener bind calls from DepthController" into main 2024-06-18 21:48:07 +00:00
Xin Li 020c6204dd Merge 24Q3 (ab/11976889) to aosp-main-future
Bug: 347831320
Merged-In: I5059553cb9b6c02810e9638bfaf29dde9ab6140f
Change-Id: I924cc14ed3c2cee644125b91fa498cf5dc7865f8
2024-06-18 14:13:43 -07:00
Fengjiang Li 05ad8912bc [Launcher Jank] Avoid making IWindowManager$Stub$Proxy.registerCrossWindowBlurEnabledListener bind calls from DepthController
Fix: 347965970
Test: manual - jank fix
Flag: NONE - jank fix
Change-Id: I59605d22ebc215e171c3b93fb1efc3becf2a4ade
2024-06-18 20:18:55 +00:00
Treehugger Robot b47bed0fe6 Merge "Add logging and error detection around quick switching" into main 2024-06-18 16:24:34 +00:00
Jagrut Desai 66dfe90240 Fixing TaplUninstallRemoveTest#uninstallWorkspaceIcon
Test: Presubmit
Bug: 319501259
Flag: TEST_ONLY
Change-Id: I4a2af445fe51f4f3ffcc11748ff921baf6be9bd0
2024-06-18 09:19:22 -07:00
Schneider Victor-tulias 78e5bab45a Add logging and error detection around quick switching
Also adding a fallback case for when quick switch could otherwise fail

Flag: NONE debug logs
Bug: 320215753
Test: checked logs
Change-Id: I2c6b6d2c6beee77d8c2bf9e81329c4b16839c328
2024-06-18 10:49:37 -04:00
Xin Li f6d91d2d37 [automerger skipped] Merge "Merge Android 14 QPR3 to AOSP main" into main am: cc71aa83e1 -s ours am: e9c9245de6 -s ours
am skip reason: Merged-In Ib58ffbc33000d37eb9066354f217c95ca56091ac with SHA-1 667b7f5d7a is already in history

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/3132279

Change-Id: I1323b1afb1b48ff8d7ff62766f0c93ee8a4f7b43
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-18 05:57:09 +00:00
Xin Li 294dccb604 [automerger skipped] Merge Android 14 QPR3 to AOSP main am: f39ebbd606 -s ours am: db6763feca -s ours
am skip reason: Merged-In Ib58ffbc33000d37eb9066354f217c95ca56091ac with SHA-1 667b7f5d7a is already in history

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/3132279

Change-Id: I2089df7d0611ba93c5b3e5363f264579c56be81b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-18 05:55:19 +00:00
Mykola Podolian 490858bfba Merge "Added return before the animation is started." into main 2024-06-18 05:45:53 +00:00
Fengjiang Li 76b1669a48 Merge "[Launcher Jank] Avoid making binder call IContentService$Stub$Proxy.registerContentObserver from SettingsCache" into main 2024-06-18 03:17:52 +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
Fengjiang Li 56bf7ad33b [Launcher Jank] Avoid making binder call IContentService$Stub$Proxy.registerContentObserver from SettingsCache
Fix: 347789110
Test: manual
Flag: NONE - jank fix
Change-Id: Ib1409d6c856439455aa08eeb0cfbc8075a222d45
2024-06-17 16:50:49 -07:00
Fengjiang Li 54fb3b6af7 Merge "Log stacktrace for binder call tracer" into main 2024-06-17 23:31:26 +00:00
Treehugger Robot a2fe67108f Merge "Update All Set screen background colors to match specs" into main 2024-06-17 22:16:41 +00:00
Fengjiang Li f1727ac69e Log stacktrace for binder call tracer
Fix: 347752352
Flag: NONE - gated by studio build config
Test: Manual - record picture
Change-Id: I72f8fe62858a231ca5c996d880227337dccdd7a7
2024-06-17 14:35:58 -07:00
Treehugger Robot 017aad5417 Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2024-06-17 21:32:37 +00:00
Treehugger Robot b1eb420c9e Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2024-06-17 21:32:37 +00:00
Xin Li e9c9245de6 [automerger skipped] Merge "Merge Android 14 QPR3 to AOSP main" into main am: cc71aa83e1 -s ours
am skip reason: Merged-In Ib58ffbc33000d37eb9066354f217c95ca56091ac with SHA-1 667b7f5d7a is already in history

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/3132279

Change-Id: I47c3fe33535f754dcb2b7de70038f04b059c6105
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-17 20:43:08 +00:00
Xin Li db6763feca [automerger skipped] Merge Android 14 QPR3 to AOSP main am: f39ebbd606 -s ours
am skip reason: Merged-In Ib58ffbc33000d37eb9066354f217c95ca56091ac with SHA-1 667b7f5d7a is already in history

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/3132279

Change-Id: Ibda235d26fb29f10bba70f9566cf7c76a847695f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-17 20:41:12 +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
Treehugger Robot 66d18b98dd [automerger skipped] Merge "Import translations. DO NOT MERGE ANYWHERE" into 24D1-dev am: c44c004e1b -s ours
am skip reason: contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/27867184

Change-Id: Ie69438992cca7ecaa21e4095237770571ef0900c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-17 18:54:30 +00:00
Bill Yi fafb1a8129 [automerger skipped] Import translations. DO NOT MERGE ANYWHERE am: d06eb8a29d -s ours
am skip reason: contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/27867184

Change-Id: Ib49d57bd2f3b56de57b1204dbfd2b63ff67ed1fe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-17 18:54:26 +00:00
Bill Yi 835506e275 [automerger skipped] Import translations. DO NOT MERGE ANYWHERE am: 4645316a61 -s ours
am skip reason: contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/27866307

Change-Id: I6f31c1cefe9ab41596f1553fef9076ff4b7ce218
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-17 18:54:16 +00:00
Xin Li cc71aa83e1 Merge "Merge Android 14 QPR3 to AOSP main" into main 2024-06-17 18:51:28 +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
Treehugger Robot 97e7166bc8 Merge "Fix icon flash on app launch" into main 2024-06-17 18:34:33 +00:00
Brian Isganitis 0e709b9a9d Merge "Add test for toggleSearch." into main 2024-06-17 18:25:17 +00:00
Treehugger Robot c44c004e1b Merge "Import translations. DO NOT MERGE ANYWHERE" into 24D1-dev 2024-06-17 18:23:53 +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
Bill Yi 4645316a61 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Ib223b1dc82ae646244e2f471f2e930af61e71686
2024-06-16 23:10:52 -07:00
Bill Yi 54da62f9f9 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Ia28133416a47a1221d5e709281aee37b0e415042
2024-06-16 23:10:24 -07:00
Bill Yi d06eb8a29d Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I560b082a24e4bb9331d45bec4d3352bf225b313e
2024-06-16 23:09:27 -07:00
Bill Yi b08ec848c4 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Ifa72f8a78e474ba24eaea42a3163b87daae515bd
2024-06-16 23:09:01 -07:00
Fengjiang Li ff83f1c448 Merge "[Launcher Jank] Avoid making ContentResolver binder calls from GestureNavigationSettingsObserver" into main 2024-06-15 02:30:43 +00:00
Jeremy Sim fe9a7f3f38 Fix flickering issues with divider during split animation
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)
2024-06-15 01:13:35 +00:00
Hongwei Wang 0d7108bdc8 Merge "Ignore the mismatched source rect hint" into main 2024-06-14 23:49:04 +00:00