Commit Graph

399 Commits

Author SHA1 Message Date
Vinit Nayak 7ce42078da Add CUJ Jank interactions for App Pair saving and launching
* Added finishCallback consumer to LauncherAccessibilityDelegate
to inform when adding an item to workspace was completed.
* The logic seemed to be dependent on the parameter
"focusForAccessibility", but all callers of that are currently
passing in true

Bug: 328646540
Test: https://paste.googleplex.com/6232597136408576
Newly added CUJs showing up when playing w/ device

Change-Id: I5dce4b7e83fb17cc3a70565bfd5ce100a4cf72bb
2024-03-15 14:10:36 -07:00
Jeremy Sim aa8b7b9a02 Remove finished TODO
Finished in ag/25945753.

Test: N/A
Flag: N/A
Change-Id: I7d86a62c5a84d7d68b89ef9f2fa6548df21588aa
2024-03-04 16:09:15 -08:00
Helen Cheuk 96fd73ed84 Merge "Stash taskbar when software keyboard is docked" into main 2024-02-27 10:40:07 +00:00
Saumya Prakash b3b4cc6edb Merge "Ensure taskbar insets for camera cutout only apply on the needed sides" into main 2024-02-23 22:59:57 +00:00
Schneider Victor-tulias bdc846448c Merge "Update KQS launch task callbacks" into main 2024-02-23 19:54:44 +00:00
Saumya Prakash 40fc6eb323 Ensure taskbar insets for camera cutout only apply on the needed sides
For devices with a camera cutout, we only need the increased inset to
accomodate a camera cutout on the sides/orientations where the cutout
interrupts the taskbar. This change ensures that the insets are only
added when necessary.

Fix: 325508089
Test: Open an app and ensure the insets remain unchanged for 0 and 90
degree rotations. Ensure the insets for 180 and 270 degrees are still
covering the camera cutout.
Flag: N/A

Change-Id: I3ee14ffc84d72512acdb750d0f614acacefc7639
2024-02-23 19:15:44 +00:00
helencheuk 00ddb5e3a9 Stash taskbar when software keyboard is docked
Stash taskbar when
1) Software keybaord is docked
2) Input toolbar is placed at the taskbar area (stash so toolbar and taskbar would not overlap)

Testing result:
https://drive.google.com/file/d/1NMDexHl0FgyHFaOUh_GSEEUU2k08STJH/view?usp=sharing

Bug: 317251202
Test: TaplTestsQuickstep#testQuickSwitchToPreviousAppForTablet
Flag: N/A

Change-Id: I90662bc6e68f644e919f5c702059476b02519ed6
2024-02-21 23:03:03 +00:00
Brandon Dayauon 0fa9113028 Merge "Add home settings toggle featureflag for enablingTwoLineText" into main 2024-02-21 18:14:21 +00:00
Schneider Victor-tulias 56aa9ed61b Update KQS launch task callbacks
Updated KQS to allow launching tasks through OverviewCommandHelper to allow launching the overview task without it having focus.

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 324888738
Fixes: 324904244
Test: used enter and tap to launch tasks in KQS
Change-Id: I6de38ceea22c362a52a420c8ba0165ba23e5c862
2024-02-20 14:54:08 +00:00
Tracy Zhou dfb334f1e1 Hide task bar when folding before the new config renders the correct task bar
Currently on folding, onConfigurationChange doesn't return about 0.5sec after the small screen turns on. The old bar is visible on the new screen before a visual jump from rendering the new bar.

While the ideal solution is to figure out what causes the delay, we can mitigate the visual jump by dimming the old bar when folded listener returns folded

Test: repeatedly fold and unfold, observe that there is no glare task bar change in task bar area after folding
Bug: 291562764
Change-Id: Ic6834d2d3b7df01a8ef841dde601cdb6a3e481b0
2024-02-12 17:06:04 -08:00
Brandon Dayauon 5787a2710c Add home settings toggle featureflag for enablingTwoLineText
- Have shouldUseTwoLine() be decided with the home settings toggle value

bug:316027081
spec: https://www.figma.com/file/uMzPkNMZpb7EyfHDo8usIa/V-%E2%80%A2-Toast-Butter?type=design&node-id=405-384593&mode=design&t=UBkdeuNlAdRh2FGU-0
Test:
Video: https://drive.google.com/file/d/15VUhNVro2fiwv3SzMda1StiPb3PV1eMT/view?usp=sharing
before searchPreferenceScreen: https://screenshot.googleplex.com/3uqdMsZoGSBYb6c
after searchPreferenceScreen: https://drive.google.com/file/d/15dswiHRTnafyhgQA_tL2tRc7vHFWdHbZ/view?usp=sharing
before homeSettingsPage: https://screenshot.googleplex.com/7wsNevxGun2KCCB
after homeSettingsPage: https://drive.google.com/file/d/15m5bjEyewlNHI_h26aygHa7zrgZ5qDF6/view?usp=sharing
AppListSettingsPage: https://drive.google.com/file/d/15hl4ScHBOLgKv3M38HtatMxQw85pgl7t/view?usp=sharing
Flag: enableTwolineToggle DEVELOPMENT

Change-Id: I3ad133dd51dcb97e14ccded730e7737c5049261a
2024-02-12 09:24:48 -08:00
Jeremy Sim cf9132e07c Fix app pairs launch from in-app Taskbar
This CL adds a handler function in SplitAnimationController that manages the complicated logic flow for launching an app pair when already inside of an app.

To give an idea of the complicated logic:
If the user tapped on an app pair while already in an app pair, there are 4 general cases:
  a) Clicked app pair A|B, but both apps are already running on screen
  b) App A is already on-screen, but App B isn't
  c) App B is on-screen, but App A isn't
  d) Neither is on-screen

If the user tapped an app pair while inside a single app, there are 3 cases:
   a) The on-screen app is App A of the app pair
   b) The on-screen app is App B of the app pair
   c) It is neither

For each case, we call a different animation and launch the app pair in a different way.

When merged, this patch will fix all animation glitches that are currently happening in these situations, and get us 90% of the way to having the ideal animation in all cases. There are still a few complicated cases that need a polished animation (like when you launch app pairs with custom ratios), which will be implemented in a following patch soon (I thought this CL was big enough already as is).

Bug: 316485863
Fixes: 315190686
Test: Manual testing of all the different launch combinations
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I5c0e03512bb706360c575d833cac6ed02a5de936
2024-02-09 13:41:29 +08:00
Vinit Nayak 64af5ca348 Merge "Revert "Ignore taskbar launch request if app(s) are already running"" into main 2024-01-26 21:33:47 +00:00
Vinit Nayak 8a13e275ec Revert "Ignore taskbar launch request if app(s) are already running"
This reverts commit 9a7b6f972b.

Reason for revert: b/319750648

Change-Id: I778453cf65bb48e31062365a069cfe5b1cb77b96
2024-01-26 19:01:48 +00:00
Sunny Goyal 4b67d7f47f Adding an abort listener in app launches to clear state
Bug: 318394698
Test: Verified on device
Flag: None
Change-Id: Ib6108782429abb5dfd9c4e42246e4a93ddf10f55
2024-01-26 17:16:31 +00:00
Tracy Zhou 9c9befae5f Use nearest region for all the nav buttons in 3-button folded mode
Bug: 230395757
Test: In 3-button folded mode, make sure that the touches that happen between nav buttons go to the nearest button. No regression in other modes.

Change-Id: Icb776a9a4ed4fc31d33dc3267c7053f2b0da0bfc
2024-01-24 11:06:01 -08:00
Tracy Zhou a009a5e82e Update task bar height update logic to consider screen rotation cases
When home screen rotation is enabled, instead of updating taskbar height (assuming that folded task bar is always on the bottom of screen display), we should update taskbar width instead.

Bug: 313371759
Test: try out both folded and unfolded 3-button and gesture nav modes, enable home rotation, make sure all the nav buttons are functional and visible when they should be.
Change-Id: I16f53d9e9c3cd0229fc50b73613b032a96322b97
2024-01-19 16:58:03 -08:00
Andy Wickham 32f2cae290 Merge "Allow stashed taskbar to be long pressed." into main 2024-01-17 21:09:15 +00:00
Andy Wickham caf0c35661 Allow stashed taskbar to be long pressed.
Bug: 319175012
Test: Manual and unit test
Flag: NA
(see other change)

Change-Id: Ic8ac68d21c64a909a1035339d36f9c3b50a8963c
2024-01-16 21:43:46 -08:00
Tracy Zhou cf5407dfc6 Hook up luma sampling state change from CommandQueue
Currently when swiping up from some apps (maps), the stashed task bar color changes. Instead, sampling should be disabled during the transition (with a signal from the frameworks).

Bug: 230395757
Test: Swipe up from maps. Make sure the bar color doesn't change during transition
 to overview
Change-Id: Ifc30f4067a0e4d134b422d152f5b5caee0a77a33
2024-01-09 21:56:58 -08:00
Jagrut Desai 21f3d770a0 Merge "Taskbar Pinning Animation Improvements" into main 2024-01-05 23:21:57 +00:00
Jagrut Desai a3d3c06967 Taskbar Pinning Animation Improvements
Test: Manual
Bug: 312178646
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED

Change-Id: I708127be8301a61994168f780474c75be726815d
2024-01-05 12:12:12 -08:00
Liran Binyamin 40c1b93aee Add a test for stashed bubble bar
This change introduces a new test protocol event for unstashing the bubble bar.

It's not possible to do this via a UI event because the stashed handle is only visible when an app is in the foreground, but in that state none of the elements in TaskbarDragLayer are visible to accessbility.

Flag: LEGACY persist.wm.debug.bubble_bar DISABLED
Bug: 273994695
Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.bubble.BubbleBarTest
Change-Id: I4581bf95b07691429966ecbd573232047f820b69
2024-01-05 08:49:27 -05:00
Jeremy Sim 9a7b6f972b Ignore taskbar launch request if app(s) are already running
This CL fixes several issues:
- When launching an app pair on top of the exact same app pair, Overview no longer enters a broken state
- When launching another app quickly after launching an app pair, splitscreen no longer breaks

Fixes: 315190686
Test: Launch app pair and then launch same app pair again from Taskbar -- Overview does not break
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Change-Id: I0d474dd89359e1a10a881c5cf8deee64754219c3
2023-12-21 10:13:20 +09:00
Himanshu Gupta ce2b013d31 Merge "Adding methods to access LauncherApps APIs." into main 2023-12-19 11:27:09 +00:00
Jeremy Sim 34aa1c5366 Merge "Fixes two bugs with findLastActiveTasksAndRunCallback()" into main 2023-12-19 02:08:54 +00:00
Himanshu Gupta 6c25654e84 Adding methods to access LauncherApps APIs.
These methods are added to ApiWrapper class
so that Launcher can acess these APIs.

Bug: 308054233
Test: Presubmit
Flag: ACONFIG com.android.launcher3.Flags.private_space_sys_apps_separation DEVELOPMENT
Change-Id: Ic2e64b38cc8b0d262d3f6e9614e2b3fceb9d82a0
2023-12-18 19:47:13 +00:00
Jeremy Sim 42a44d7984 Fixes two bugs with findLastActiveTasksAndRunCallback()
This CL changes findLastActiveTasksAndRunCallback to return a fixed array rather than an ArrayList.

1) This fixes a (minor) crash with app pairs, where we performed get(0) on an empty array when no running tasks were found.
2) This also fixes a live bug where app pairs would launch apps in the wrong order if app 1 was not found in running tasks, but app 2 was.

The function should be more robust now, preserving the indexing of the input keys.

Fixes: 316053131
Test: Clear all tasks from Overview, launch an app pair, launch succeeds
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Change-Id: I51d8ba823a2ec57e9ecfeede956e0afce1d653f4
2023-12-18 11:39:33 +09:00
Tracy Zhou 95c4c8d268 Fix crash from folding/unfolding
This is fundamentally caused by the phone device profile not having task bar related attributes, which crashes in icon alignment animation. We had resolved it by skipping this animation based on isPhoneMode check. However, we passed in launcherDp instead of taskbarDp (from TaskbarActivityContext) which doesn't always have the most up to date information in race conditions (e.g. repetitively fold/unfold)

Fixes: 311431054
Test: repetively fold/unfold, make sure it doesn't crash
Change-Id: I65f600112da4123d337b3f59a2fe6dd13ac7af74
2023-12-14 18:39:42 -08:00
Tracy Zhou 9ccd5d4257 Introduce taskbar_phone_size
In small screen, we use 48dp for nav bar height, while it's 60dp for task bar.

Bug: 230395757
Test: manual
Change-Id: Ia7083a1b2246981466e1163404c63b645a6bf5b1
2023-12-13 00:38:15 -08:00
Jagrut Desai 2be2b93256 Merge "TaskbarPinningController Unit Tests" into main 2023-12-12 16:19:00 +00:00
Jeremy Sim 160225029d Merge "App Pairs: Launch animation" into main 2023-12-12 00:58:49 +00:00
Jagrut Desai 70de8a4823 TaskbarPinningController Unit Tests
Test: Presubmit
Bug: 265439107
Flag: NONE

Change-Id: I5da3558adf88126b07c5d6217ee4fbbcc1e2e348
2023-12-11 14:46:55 -08:00
Tracy Zhou 901b190153 Merge "Pass in navigation bar panel context created by task bar when taskbar navbar unification is on" into main 2023-12-11 21:47:59 +00:00
Jeremy Sim 23fcbf2f73 App Pairs: Launch animation
[App Pairs 7/?]

This patch implements the app pair launch animation from icon. Adds a new function, composeFadeInSplitLaunchAnimator(), in SplitAnimationController, that builds the combined launcher + shell animation.

Bug: 309618233
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Test: Manual
Change-Id: I8e95f629ae2a71f1bd6cbb356f5e33233e5c2906
2023-12-11 13:09:06 +09:00
Jeremy Sim 2987d95ba4 App Pairs: Implement Taskbar functionality
[App Pairs 8/?]

This CL adds taskbar functionality for app pairs:
- Ability to drag an app pair icon to Taskbar
- App pair launch from Home Taskbar
- App pair launch from Overview Taskbar
- App pair launch from in-app Taskbar

KNOWN ISSUES:
- Bug (b/315190686): if user is inside a running split pair and attempts to launch the same pair from an app pair icon on taskbar, Overview tiles get temporarily messed up (recoverable by leaving Overview)
- User can attempt to split with an app pair icon on the Taskbar. This should result in a "can't split with this" bounce animation on the SplitInstructionsView (to be implemented). Currently does nothing.

Bug: 274835596
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Test: Manual
Change-Id: I5256547af236fc2deeb192d60bfe1f2b7ddc5647
2023-12-08 15:07:45 -08:00
Saumya Prakash 55fdc45ecc Merge "Ensure Taskbar stashes when launching an app from folder" into main 2023-12-08 22:59:45 +00:00
Saumya Prakash 86285d477d Ensure Taskbar stashes when launching an app from folder
We use the folder closing callback to trigger a call to stash the
taskbar if an app was launched. We can check whether an app was launched
from a folder based on whether a folder's view is open when
an app is launched. This ensures that the taskbar only stashes after the
folder is done animating.

Flag: NA
Fix: 295296529
Test: Launched an app in a folder on taskbar. Also ensured that other
taskbar behavior remains unchanged.

Change-Id: Ib5a797186978ee960e44b6b62c833eead03bccd0
2023-12-08 20:16:15 +00:00
Tony Wickham 18551f29fe Remove ENABLE_TRANSIENT_TASKBAR and long-press stash support
Flag: NA
Test: manual, TaplTestsTaskbar, TaplTestsPersistent, TaplTestsTransient
Fixes: 270395798
Change-Id: I4ecf5ddcd1206e846538175c684043c5e065fd5d
2023-12-06 22:13:10 +00:00
Tracy Zhou 7fae462565 Pass in navigation bar panel context created by task bar when taskbar navbar unification is on
When the flag is on, task bar is created with window context navigation bar. The floating rotation button window context should be in navigation bar panel.

Fixes: 309930089
Test: N/A
Change-Id: I730a4b898d9fb65cc5d7544dcb37dfe32d49a632
2023-12-05 12:53:51 -08:00
Tracy Zhou ec26a138d5 Do not apply rounded corner background to task bar when it's in phone mode
Fixes: 311428370
Test: Make sure nav bar in landscape phone mode doesn't have weird clips
Change-Id: I0c402dd10a3bd39afd5692d21ef8adaad04646db
2023-12-04 22:07:04 -08:00
Jagrut Desai a5ad8bed64 Decreasing the intensity of haptic feedback for taskbar invocation
Test: Presubmit, Manual
Bug: 308496668
Flag: NONE
Change-Id: Ic8c28b8e84bf9f388a73c518c91840d958287546
2023-11-29 19:03:33 -08:00
Jagrut Desai 90dd098c85 Migrate ENABLE_TASKBAR_PINNING to aconfig flag
Test: Manual, Presubmit
Bug: 265437087
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED

Change-Id: I4800230c04feceefa2398e189c493c8c4a7b2fe5
2023-11-09 23:20:03 +00:00
Tracy Zhou f2d7be1cec Make enableTaskbarNoRecreate() depend on ENABLE_TASKBAR_PINNING and ENABLE_TASKBAR_NAVBAR_UNIFICATION
We want to turn on the flag when either of the dependent features is on

Bug: 299193589
Test: N/A
Change-Id: I7b48ff2be0cf9da3b6bc00d75370fa585ce4140d
2023-11-08 14:52:58 -08:00
Tracy Zhou 6fe69f5a2a Migrate HIDE_NAVBAR_WINDOW to aconfig and rename is to enable_taskbar_navbar_unification
Bug: 309671494
Test: N/A
Change-Id: If35d807c17351146029498a876a055384eff3c2f
2023-11-07 13:51:38 -08:00
Jagrut Desai b10f2a3d03 Refactor TaskbarActivityContext#applyDeviceProfile
Test: presubmit
Bug: 308024141
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED
Change-Id: Ic0ecc80f9b61910a917b93cbe62139e2c5d0d9d2
2023-10-26 16:12:12 -07:00
Jagrut Desai 24231d9994 Merge "Taskbar pinning animation with no recreate" into main 2023-10-26 21:33:41 +00:00
Jagrut Desai 631b284836 Taskbar pinning animation with no recreate
Test: Manual, Visual
Bug: 265436799
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED

Change-Id: I84a4d1efdb0bd4a0f856fa1f46b6489ef54a3841
2023-10-26 10:36:48 -07:00
Tracy Zhou f767c86896 Add task bar window of TYPE_NAVIGATION_BAR when FLAG_HIDE_NAVBAR_WINDOW is on
Bug: 304426019
Test: manual
Change-Id: I0c09e57db5a9bf6391605d5ec667cf12c96a2042
2023-10-25 14:54:01 -07:00
Tracy Zhou 00f9e52575 Migrate ENABLE_TASKBAR_NO_RECREATION to launcher.aconfig
Bug: 274517647
Test: manual
Change-Id: I29fe58691440ee757c9f391bd574ef80eefb5ae6
2023-10-24 18:42:15 -07:00