Bug: 276361926
Test: Initate split, dismiss whenever home is pressed,
doesn't dismiss when all apps dragged down
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Change-Id: Idc95123e27963c3913d04c6eb27f0e4c9b1eb401
- If a task is already visible, then startActivity is a no-op and the
remote transition that launcher expects to run is not started. As a
workaround (until restarts are an actual transition), listen for
the case where a task is restarted and invoke the end callbacks
Fixes: 286016555
Test: Repro steps on the bug
Change-Id: Iec3ab97c8817a5e95399cec90f891d65f369d234
> It will automatically target the latest SDK it was compiled with
Bug: 284349887
Test: Presubmit and manual
Flag: N/A
Change-Id: I32629b0dd710c3c04d8f70f988b7279e7cae6731
Tapping the overview scrim during an app -> overview transition in 3-button nav can replace that state transition's aniamtion, leaving the device in a broken state. The assumption is that the user did not mean to tap the scrim while quickly tapping the overview button. Skipping the startHome request if the overview command queue is not empty.
Flag: not needed
Fixes: 284920213
Test: quickly tapped overview button and quickly tapped scrim; added logs to check error case
Change-Id: I8fea76d810e550e28a61a4528796b358103cb5b3
* KI: After entering overview, swiping to exit doesn't
clear split state. That's because LauncherRecentsView#reset()
gets called both when entering and exiting overview.
We'd need to check or pass through what state we're moving to
to determine whether or not actually to reset state in
SplitSelectStateController, or handle that at the gesture level
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Test: Manual, split paths work w/ and w/o flag enabled
Bug: 276361926
Change-Id: I39391ac5f92b774d8198930829caabe84d950598
- All instances where we used TISBinder will now use TISBinderHelper#getBinder. This will allow TISBinderHelper to handle its lifecycle
- Moved all instance of TaskbarManager and OverviewCommandHelper as well since TIS and TISBinder handle their lifecycles
- Cleaning up launcher instance from TaskbarManager when TISBinder is being destroyed
Flag: not needed
Bug: 283490010
Test: ran launcher and performed gestures
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:248794e698417b1156bf911adb31682186fe2e34)
Change-Id: I8415a6b2c1dba0776e7c0e1ee32ad3c683100bde
Back gesture from All Apps (history for state):
If previous state was background, use quick switch state to return
to the previous app.
Swipe down from All Apps:
Return to previous state (which will be Normal or Quick Switch).
This animates from All Apps overview scale/translation to full
screen of the previous task. In this case we are animating from
0.5x Overview scale and 0 translation (centered).
Video: https://drive.google.com/file/d/1cpQjtFemtJ4zu9aWu7IiUftWWVGFrbtM/view?usp=drive_link&resourcekey=0-1zuMEvYNsk81YBxv8o10hA
Note: This is mostly for the gesture/state handling but it would
be nice to polish this transition in the future.
Bug: 283336332
Test: Manual
Flag: ENABLE_ALL_APPS_FROM_OVERVIEW
Change-Id: Iec92df933ce6522f181d3d5ca889b6a6469f4cc6
ItemInfo.getTargetComponent is nullable, so we can't always create a ComponentKey. Added a null-check and proper creation of ComponentKeys
Flag: not needed
Fixes: 286053950
Test: started and completed splitscreen selection from home, taskbar and overview
Change-Id: Ifa30f194ae064fab8aad79c5116f8c859dfd8cf1
Currently if we open an app, unfold the device and then go to home
screen we will start the unfold animation preemptively in Launcher
because Launcher activity will receive updated configuration change
(where isTablet = true) only after going back to home screen, not
when unfolding the device.
This causes a problem because SystemUI won't send the unfold animation
events after going back home as the animation has already run, so we
end up with wrongly started animation in Launcher.
This CL fixes the issues by checking if SystemUI has finished the
animation (or if it is currently running) to avoid preemptive animation
start in this case. This is done by subscribing to the original
unfold transition progress provider which emits progress events
sent through IPC from SystemUI.
Bug: 285150685
Test: open an app on folded screen, unfold, go to home screen =>
check that icons are not squished
Test: fold/unfold when launcher is open
Change-Id: Ic437ff4d19cbd5764635f3007d99880622150f5b
TouchInteractionService cannot be garbage collected until it has been cleared from the sysui process. Switching to use a WeakReference to help with garbage collection.
Flag: not needed
Bug: 283490010
Test: ran launcher and performed gestures
Change-Id: I37aa5f858f2ae0ac78b46478ab4c5f24770bd64f
* Launching existing pair doesn't rely on any existing
data/state in SplitSelectStateController or SplitSelectDataHolder
* Consolidate launchTask*() methods in GroupedTaskView
Test: TaskThumbnailViews measured correctly, animation
correct on small+large screen, initiating split
still working
Fixes: 274540670
Flag: none needed
Change-Id: Id359f53ac5f2bba19948d4ae3231092fb90cc7c5
> Addition/removal of shortcus is already removed. This just
cleans up the unused code path
Bug: 275875209
Test: Updated tests
Flag: N/A
Change-Id: I8ab7f57b693f996920e50e8beecafcffab5167e9
When we detect the home gesture or tap on home button in taskbar,
check if desktop apps are visible. If they are, signal WMShell
to stash the desktop apps.
Flag: persist.wm.debug.desktop_mode_2
Bug: 261234402
Test: have gesture nav enabled, put an app on desktop and swipe up to
home, verify toast is shown, and next app launches to desktop
Test: have 3-button nav enabled, put an app on desktop and press home,
verify toast is shown, and next app launches to desktop
Change-Id: I824e640bfafa20cb3451cbd8f035fe9dca18094f
Also moving various state handling to these end callbacks enstead of relying on resume
Bug: 265134143
Test: Verified that the end callback is received
Change-Id: I326a99c80154d244c0e49f678717c476602b6240
More details at "Log Startup Latency" section in go/launcher-startup-latency
Test: tested on phone, foldable and tablet, print latency logs in logcat
Bug: 278092752
Change-Id: Ibf269b0ecd6007d29b95e36f65ab6f02c45deb3a
* SplitSelectDataHolder contains logic for knowing how
to launch split, separate from the actual API calls to launch split
Flag: ENABLE_SPLIT_LAUNCH_DATA_REFACTOR
Bug: 279494325
Test: Tested w/ all 6 types of launches noted in
SplitSelectDataHolder#@SplitLaunchType.
Also checked to make sure most-recent running tasks are
still being used where applicable.
Change-Id: I8114f87e9956b100622c80f578e291937ed4eeac
Similar to I2726504094af2abacf1c41089c7bcd4efb588099
Fixes: 267695526
Test: have talkback on
open all apps
open long press menu
ensure focus stays on pop up menu
Change-Id: I38f78df3855495c53a5ae8966e9a996e4679e95b
As predictive back will be launched for U-QPR, we should gate it to avoid it leaked to U launch.
Test: turn on/off ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION flag and verify predicitive back is turned on/off
Bug: 264920023
Change-Id: Ieee14ca9d49f052f183d8734d62443b890210544
* Alternative solution could be to set
onTaskViewVisibilityChanged(true) for the taskView that is about
to be dismissed so it loads it's taskIcon/thumbnail back from the cache
* However, that does still leave us open to race conditions (even though
we can be reasonably confident the icon is probably in the cache)
* Also made other changes to allow already public fields on some classes
to be mockable for unit testing
Fixes: 275267738
Test: Tested with fullscreen task at end of overview,
GroupedTaskView at end of overview,
Initiating split from home,
Initiating split from overview actions,
Initiating split from overview app icon
Change-Id: Ic9059c93c07b90f61c9f418d5d36d6ba201ff96a
- Marking the hotseat long press edu as seen on setup to allow the popup menu to be shown immediately in tests
- Recording onWorkspaceItemLongClick on prediction item long click
Flag: not needed
Fixes: 273239675
Test: TwoPanelWorkspaceTest
Change-Id: I76354fd2e3adde11b2a428374fa9c8855ce2ece9