Commit Graph

459 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
Brian Isganitis c113b277e6 Support toggling Taskbar All Apps with 3P Launcher.
Taskbar All Apps exists regardless of the default launcher. Thus, we can
toggle it on large screen devices. This CL ties registering the system
action to default launcher and taskbar's enablement.

Test: adb shell input keyevent 117
Test: AllAppsActionManagerTest
Flag: LEGACY ENABLE_ALL_APPS_SEARCH_IN_TASKBAR ENABLED
Fix: 317259709
Change-Id: I26f0ed9e921beac762f3f9e6aaceb1002ad4801a
2024-03-15 13:42:10 -04:00
Tony Wickham 7233d2a0e0 Merge "Avoid playing taskbar haptic when swiping up from home" into main 2024-03-14 16:20:34 +00:00
Schneider Victor-tulias 06e819d61c Merge "Close the KQS view when touching the gesture nav region" into main 2024-03-14 02:35:42 +00:00
Schneider Victor-tulias 14d912b062 Close the KQS view when touching the gesture nav region
Also, stop handling KQS open/close during gestures

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 328689890
Fixes: 328689534
Fixes: 328692760
Test: attempted gestures while KQS is shown. attempted KQS while attempting gestures
Change-Id: Idbd1f9cef09d9fbf611350d0847d94ccf8300369
2024-03-13 19:02:29 -04:00
Tony Wickham d1915657cc Avoid playing taskbar haptic when swiping up from home
Only play the haptic if the stashed value actually changed. In the
case of home-to-overview, taskbar is unstashed already.

Fixes: 314311118
Flag: none
Test: Manual, feel for haptics during home-to-overview
Change-Id: I36f70740d35bd98feafbb3980f861db16705b1da
2024-03-13 21:39:10 +00:00
Saumya Prakash e46e12c0f6 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
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ad5e4c795624955ae2d4a984b93cf7ae900e28aa)
Merged-In: Iba766b8a19ddce37d9ca20afb0219d679ce36ace
Change-Id: Iba766b8a19ddce37d9ca20afb0219d679ce36ace
2024-03-13 17:34:37 +00:00
Saumya Prakash b5f0d06360 Merge "Ensure taskbar insets for camera cutout only apply on the needed sides" into main 2024-03-13 17:19:08 +00:00
Saumya Prakash ad5e4c7956 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: Iba766b8a19ddce37d9ca20afb0219d679ce36ace
2024-03-12 20:09:17 +00:00
Saumya Prakash 50ae58df57 Merge "Revert "Ensure taskbar insets for camera cutout only apply on the needed sides"" into main 2024-03-11 17:36:24 +00:00
Jagrut Desai 754f171a98 Revert "Ensure taskbar insets for camera cutout only apply on the needed sides"
This reverts commit 40fc6eb323.

Reason for revert: <b/328182219>

Change-Id: I5b846919823d696933b7d9f4220c1797409fc8b8
2024-03-07 20:55:48 +00: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