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
FlagDebugUtils.formatFlagChange() utility to always write the set of
updated flags, with a list of actual changes applied. Examples:
[allow_gesture|device_dozing] +[device_dozing]
[] -[state_started]
Additionally, moved the appendFlag utility to the new FlagDebugUtils
Test: manually verifed the output in logcat
Bug: 261418621
Change-Id: Ie4f2cfcd4b34f0a816db7845e1df4331babed07a
This CL introduces a new controller to manage the visibility of the
launcher workspace when desktop mode is active and freeform tasks
are visible.
This controller will be notified when the sysui state flag related
to freeform task visibility is changed.
The controller will modify the workspace visibility as well as
the flags on the activity indicating if it's been paused / resumed
based on freeform tasks being visible or not.
Bug: 245569277
Test: manual - enable desktop mode and open some freeform tasks
=> observe that the contents of launcher is hidden and
taskbar shows
- remove all of the freeform tasks
=> observe that the contents of launcher reappears along
with the hotseat.
Change-Id: I378ab97b40cbb954a06f4e2426b195efddad905c
In order to have all the activities in Launcher get
the same OnBackInvoked behavior, the logic is moved to BaseActivity.
Test: Manual, Tapl
Bug: 238475344
Change-Id: I3f49091397e31fe1f183596f7fba3bf514697468
This code branch is needed for taskbar, so needs to be moved from the
activity classes to an interface that both can share.
Test: Manual
Bug: 216683257
Change-Id: I042c0dcf08207d94847b9d7a1783acc14613ef5f
- We need to listen to DeviceProfile changes in case the number of
columns changes in the grid. I made an interface/mixin separate from
ActivityContext to avoid polutting the latter with too many things. I
also applied this change to existing taskbar A-Z grid.
- Added all apps visited count to onboarding preferences for only
showing "All Apps" label in place of divider 20 times. Label is also
tracked on taskbar side and should be kept in sync.
Test: Manual
Fix: 216843395
Bug: 174174514
Change-Id: I97aa91397c334123626caf18251f19e17c7104fb
- Replace UI_STATE_OVERVIEW with UI_STATE_FULLSCREEN_TASK. Overview no
longer needs it's own status bar treatment as it's handled by
ScrimView already. So remove instances of UI_STATE_OVERVIEW and
replace some with UI_STATE_FULLSCREEN_TASK if a TaskView is behind
the status bar.
- Add ScrimView to fallback recents activity.
- Remove scrim from Background state, don't fade it in until the
gesture ends to RECENTS.
Test: watch scrim and status bar colors during the following
- Swipe up to home (no scrim, status bar matches task at first but
then wallpaper once task isn't overlapping status bar)
- Swipe up to overview (no scrim until let go to overview, status
bar matches task at first, then wallpaper after not overlapping,
then scrim once it's 90% opacity)
- Quick switch from home (scrim fades in, status bar matches once
it reaches 90% opacity)
- Quick switch from app (no scrim, status bar matches center task)
- Repeat above for 3P launcher and 2 button mode
Fixes: 185681676
Fixes: 185286870
Change-Id: I9e5c292cc734e714169b9cc8268e8dad4e868aca
These are the more generic versions of Launcher and DragLayer, so
that Folders can be used in other surfaces.
Test: Open and close Folders on home screen, ensure works properly
Bug: 171917176
Change-Id: I39b9aedbd8319ca61ea0e776bc95eab585e023d5
* Transitions between AllApps and App screen logs LAUNCHER_ONSTOP & LAUNCHER_ONRESUME events. This change add InstanceId specific to the current AllApps session to these logs; this will help to regenerate AllApps session from logs on the server side. This should only affect logs from AllApps screen, but not others.
* Removes LiveSearchManager.allAppsLogger method as it may create confusion with 2 methods for logging into Statsd
* Moved AllApps entry and exit logs to Launcher.
Bug: 178562918
Test: Manual
Change-Id: I5fab941777a3dfd2e9b19c0efd5b06d3884222ef
- 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