- Provide a hint to Launcher to indicate it will be resumed when
swiping home, which allows us to notify sysui before any potential
pip invocation, reducing the likelyhood of two conflicting animations
when entering pip
Bug: 156637223
Change-Id: Iae773e1aac88bbea6f74e1d1332417b448126471
Now doing this before branching points, thus avoiding flakes when the
execution can go to an unexpected branch and not produce an event.
Bug: 153824894
Change-Id: If117da0498eaf2d94c9610552724981be34c6569
Instead of creating a fixed number of targets, we now pass an ArrayList
of targets to. Any class implementing
LogContainerProviders#fillInLogContainerData can setup it's own target
and add it to the ArrayList, It can also pass the ArrayList to other
LogContainerProvider to capture full Target hierarchy.
Bug: 147305863
Change-Id: I0063c692120fb9e1cff2d8902c5da972d0623418
There is a guaranteed order in which TIS events will be registered
relative to other TIS events. However, relative to the touch events
arriving to the activity, TIS events can come in any order.
Now the event checker verifies 2 independent ordered event sequences:
from TIS, and “the rest” (Main).
Change-Id: I5872e0e3b0b498050a91c67105fbe4a29411375a
- Add call to unregister for remote animations from the system
when the launcher activity is destroyed to prevent a lingering
reference from the system to the old activity. But separately,
to not have to wait for the system to GC before clearing the
binder ref, we also wrap all runner implementations so that
they can be cleaned up after a GC in our process only.
Bug: 139137636
Change-Id: Ib6276cac80b446440ec101fe00eae6ca41fdf32c
Allows us to override only the required methods, instead of providing
a proxy method for everything
Change-Id: I816dcdb2a8d5432496050118ded0f2bbe7122cf7
Split LauncherAppTransitionManagerImpl common functionality into a base
quickstep app transition class and subclass for recents-specific
implementation. In addition, override the app transition manager to the
appropriate manager depending on the build.
Bug: 114136250
Test: Manual test NexusLauncher, Launcher3GoWithQuickstep
Test: Build Launcher3GoIconRecents
Change-Id: Iab1b5ae0c75af276879d5e12df95f62a514bf571
- Add methods to ModelWriter to prepareForUndoDelete, then
enqueueDeleteRunnable, followed by commitDelete or abortDelete.
- Add Snackbar floating view
- Show Undo snackbar when dropping or flinging to delete target; if the
undo action is clicked, we abort the delete, otherwise we commit it.
Bug: 24238108
Change-Id: I9997235e1f8525cbb8b1fa2338099609e7358426
is not really invisible, but consider it invisible for window transitions
When a recents animation is cancelled, the callback can be received before or after the
wallpaper animation. To ensure that wallpaper animaiton runs properly, we keep the launcher
forceInvisible=true, only for that particular animaiton and false everywhere
Bug: 109735443
Change-Id: I5b22cc3327c8cd53a836d10e09fc88ae103becfc
> Encoded hierarchy is smaller is size and has a lot more information about the views
Bug: 79861035
Change-Id: I84316b1b0031282b0579f3aaac22d8d8f00d8bcb
This reverts commit f5d5b6f00f.
Reason for revert: Can be submitted once a build with ag/4040557 is available for flashing
Change-Id: Id94440a1dc9b765bb9758af81b0567628befa283
Insets may not correctly indicate seascape configuration in multi-window or
when the presence of device-cutouts
Bug: 79376298
Change-Id: I8268efca0001fe527a0ffefe48cc71e774fad01c
In some cases, we prematurely clear the force invisible flag before composing
the launcher animation, causing us to skip the animation.
Bug: 77205145
Change-Id: I4224741649a4fef34e255abac7b66bcf919c042f
- In the case where an app auto-enters into PiP, we don't run the
predefined remote animation, which means that the force-invisible flag
is never reset. With ag/3876550, we can rely on enter animation complete
to be called after the transition, and we can reset the flag here as well.
Bug: 77730018
Change-Id: Ifa4cbe518047eed7ab327721ff6d17db1a2b8cd5
onStop() is a confirmed signal of user leaving Launcher. In most use
cases, we use onUserLeaveHint() to move PIP. However, in some cases,
onUserLeaveHint() does not get triggered. It's still a good signal for
those use cases because it happens sooner than onStop() and is not
interrupted by focus change. In order to address cases that
onUserLeaveHint() is not triggered (e.g. cancelling swipe up), onStop()
pushes PIP to the right position. In other cases, we simply set it
twice, which does not hurt.
Change-Id: Ia206590d10d673b16196bbab927a24aaae3ba46b
Fixes: 77648293
Test: manual test
> If launcher already started, creating the state transition only after threshold crossed, so that previous animations are not cancelled
> Not posting animaiton callbacks at the front of the queue, as that sometimes causes it get executed before onNewIntent
> Farking the activity as forceInvisible while launching an opaque app, so that quickly pressing home/back runs the reverse animation
> Not running state animations when force-invisible is true
Bug: 77830325
Bug: 77898806
Change-Id: I50a7e915ca35fd6aeb284c8f321ecca74396fe98
- To prevent surface thrashing, we no longer hide the home activity before
starting the transition home. This prevents the launcher from being added
to the remote animation target list, which means that we default to
skipping the launcher animation. As a workaround, we special case the
flow and force the animation to run when starting the recents animation.
Bug: 74405472
Test: Go home from an app, ensure there is an animation.
Change-Id: Ifd2b39444fdeab323ee79a368b580a6264c3e5b9
SysUI change: ag/3721784, ag/3793664
- Track LauncherState and launcher activity state through callbacks.
- Devise logic to send shelf visibility and height signal to SysUI based
on LauncherState and Launcher activity state.
Bug: 73961893
Test:
- By default, pip shows up right above the shelf.
- Transitioning to all apps moves the pip down as the shelf becomes
invisible.
- Going to any specific app moves pip down. Hitting home moves pip
right above the shelf again.
- Dismissing IME should push PIP down but above the shelf on home
screen, bottom if not.
Change-Id: I1ab6ceb8007a5a7b5d932a456efa0a07f586ea4c
- Draw the thumbnail view and align with the thumbnail bounds instead of
the whole task bounds with the icon
- Defer animating the task list until after the animation completes
Bug: 73118672
Test: Enter split screen
Change-Id: Ie10c079cb22ae82f3c5974296462abae335ef5a8
> Refactoring RecentsView to a common base class
> Moving some dependency form Launcher to BaseActivity
> Using the Recents view in RecentsActivity
Change-Id: Ie0e6741d356291e77420798c140c999121de3a0d
> Adding a listener for device profile changes
> Updating various controllers instead of recreating them
> Clearing all-apps icon
Bug: 71709920
Change-Id: Ief7db199eb7494ebd8fb433198f333cd2e8e661d
SystemUiController manages various system UI flags in priorty order and merges
all the states before applying the syste flags.
Fixing WallpaperColors when it was not handing wallpaper change properly in
some cases
Change-Id: I915442818e7888c97c81f63c8ea9f3c13053eb2c