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
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
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
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
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
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
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
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
In small screen, we use 48dp for nav bar height, while it's 60dp for task bar.
Bug: 230395757
Test: manual
Change-Id: Ia7083a1b2246981466e1163404c63b645a6bf5b1
[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
[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
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
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
- Breakout CL part 6
- This is a breakout cl from ag/24272821 to make it more readable and atomic.
- This cl makes default taskbar window height to be transient when the taskbar pinning flag is on, so we don't see taskbar window cutoff during animation.
Test: Manual, Visual
Bug: 265170176
Flag: ENABLE_TASKBAR_PINNING
Change-Id: I37e8ad0f2c4d144476828f101019dcacdea7acb2
Changing the flag currently requires a reboot, because it is read once when the process starts and never changes.
This change triggers a re-read of the flag value from SystemProperties whenever Taskbar is recreated.
This allows setting the flag as part of integration tests for bubble bar.
Bug: 273994695
Test: Manual:
- turn flag off
- create bubbles
- observe floating bubbles are added
- turn flag on
- change navigation mode to gesture navigation
- observe bubble bar becomes visible
Change-Id: I277ea6aa2c8d3ab04094537bf4cd31630310dfec
When the bubble bar becomes visible the space between icons in the
hotseat is now adjusted. This change only does it when the QSB is
above the icons, but this will be changed in the future to be based
on the amount of space between the hotseat and the edge of the screen.
When the hotseat is adjusted, the new width is smaller by the size of
2 icons. The icons are then translated to be evenly spaced within the
boundaries of the new width.
Since the adjustment is only applied when the QSB is above the icons,
it is resized accordingly to the new width.
All visual updates currently snap to the new position, but will be animated
in a follow up.
Demo: https://recall.googleplex.com/projects/3391fc5c-599d-4827-b6f8-d2deb160aa99/sessions/fad1a5c5-e9cf-4586-92e4-1e92df3b002e
Bug: 280494203
Test: Manual (on tangor)
- Set device to landscape
- Make the bubble bar visible by adding a bubble
- Rotate to portrait mode
- Observe that the hotseat is adjusted
- Rotate to landscape
- Observe that the hotseat adjustment is removed
- Rotate back to portrait
- Observe that the hotseat is adjusted again
- Dismiss the bubble to hide he bubble bar
- Observe the hotseat adjustment is removed
Change-Id: I5b02a60b6cb301ffa2507a6d825c748a782cca18
- Add ENABLE_TASKBAR_NO_RECREATION flag
When the flag is turned on,
* Always destroy and recreate
* Move task bar drag layer lifecycle from TaskbarActivityContext to TaskbarManager
* Wrap the drag layer into a fullscreen root view
Note that in order to preserve the window across multiple TaskbarActivityContext creations, the inset types and ids must stay the same, so it's extracted out.
Bug: 274517647
Test: Fold and unfold a few times. Use a few applications. Make sure the task bar is visible and in the right place (tested with ENABLE_TASKBAR_NO_RECREATION and FLAG_HIDE_NAVBAR_WINDOW both on, both off, and one on and one off)
Change-Id: Ic3f0aa3d056fe178a53b76b2ad6cc6b9bffd5898