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
Now we can use AXIS_GESTURE_SWIPE_FINGER_COUNT per ag/23288416
Test: swipe up to overview / home; workspace scroll 2-finger only / quick switch/ pull down notifications works
Bug: 284463803
Change-Id: Ie1c7d13f4683d3b9c8de6e5ea2821df73b97ca29
Updates keyboard quickswitch logic handle quickswitching while on
desktop. When on desktop, alt+tab moves only between desktop tasks.
Fullscreen tasks are shown in the overflow tile and can be accessed by
going to overview.
TODO:
- when not in desktop and using quickswitch, show the desktop tile as a
combined tile in the row, similar to what is shown in overview
Flag: persist.wm.debug.desktop_mode_2
Bug: 280468885
Test: open some apps on desktop and have some fullscreen apps opened in
the background, when on desktop, observe that alt+tab only switches
between desktop tasks
Test: same setup, but switch to a fullscreen app, observe that alt+tab
only switches between fullscreen tasks and desktop is accessible from
overview
Change-Id: Ib19f2eaa24363bbd0669c8c8c3d99ed9d9118a17
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
Originally gated onTaskMovedToFront behind prototype because looked like
it was causing overlay to close when it shouldn't. However, it turns out
it was actually onTaskStackChanged that was doing this.
Additionally, changing onTaskMovedToFront to close with animation, because this will fire if swiping up from all apps (going to overview so Launcher is considered as the task moving to front). Also, registered onTaskCreated to be a bit more thorough.
Test: Manual (EDU, All Apps, and EDU + All Apps)
Fix: 283373523
Flag: none
Change-Id: I4cd3969f91a93bab190b764a656d9cfc03d1ce09
This change was previously attempted, but failed because of a tricky issue where the LockedUserState singleton object was getting permanently set to a mock context in LockedUserStateTest, and then was failing TaplTests because isUserUnlocked was always false.
This fixes that by avoiding using the singleton LockedUserState instance in the unit tests.
Bug: 251502424
Test: Compilation threw no errors and user unlock behavior worked
correctly. Post-submit was tested and this CL passed all previously
failing tests: https://android-build.googleplex.com/builds/abtd/run/L12900000960898179
Change-Id: I045c9f2558a6bdacb4bfa029fbf6a07c3c190fe7
- The launcher state does not transition from Background -> Overview
until the overview animation finishes, and if a side task is launched
before that happens, then we receive onTaskAppeared() but
isInLiveTileMode() is false, which results in a state where no
animation of the side task surface is run, and the recents animation
is not finished. In these cases, if we've already calculated the
end target is RECENTS, then we can still animate the side task
- Adding some more gesture logs to indicate side task launched (or didn't)
Bug: 279114961
Test: Go to overview and launch next task
Change-Id: I23eac8721da801f14cc95fc6781a0ef9f0355cc0
* TopTaskTracker gets updated too late after we've exited
split screen so we can't use that to determine how many
RemoteTargetHandles to use
* We default to 2, and then scale it down to 1. Because we
modify the array holding the handles directly, it should
also get updated in AbsSwipeUpHandler
* Temporary solution to stop setting up RecentsView if we detect that
TopTaskTracker has incorrect data and re-setup when we get
onRecentsAnimationStart()
Test: Tested quickswitch in gestural and recents button
double tap in button nav.
Bug: 236226779
Flag: none
Change-Id: I1bae7aed1f8712ddd1bf496acfcb851c0e32a115
- Updated gesture nav edu overview step post-success motion and colors
- Updated gesture nav edu menu done button color and legacy action button color
- Switching light/dark mode when a step is complete started the demonstration animation. fixed this jank
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Fixes: 281764891
Fixes: 283964958
Bug: 279823249
Test: ran full tutorial with ENABLE_NEW_GESTURE_NAV_TUTORIAL enabled and disabled
Change-Id: I9adc05947267ec038b6f374b2a29a5499468883b
DWB toast initialization is being called 3 times for every TaskView. Twice during the TaskView bind (setOrientationState and bind), and for every TaskView loaded in applyLoadPlan the bind and the setOrientationState are invoked. This CL removes the excessive calls in the TaskView bind and applyLoadPlan.
The DWB for the focused task view is still being called twice due to orientation update for the focused task.
Bug: 281980412
Flag: N/A
Test: atest DigitalWellBeingToastTest
Change-Id: Id301b53b9cb0dfc23a81debec67a6de9a35485b9
During each app launch, a new `MyDepthController` is instantiated, which
registers two of its methods as listeners for cross window blur and
opaqueness. This controller's usefulness spans that specific animation
only, but the listeners are never unregistered. This creates conflicts
when an opaqueness signal happens, which cause the background to flicker
(see videos).
Bug: 283335820
Test: manual, see videos in the bug
Flag: not needed, bug fix
Change-Id: I3dcb0b8ff0aa77bf3183a926889d0131b17bcaa4