58 Commits

Author SHA1 Message Date
Sunny Goyal
177785eccf Moving all widget picker tests to instrumentation tests
Bug: 196825541
Test: Presubmit
Change-Id: I946f29baedb2e6b29044f8df1bc73b74e9999efe
2021-08-18 15:06:53 -07:00
Sunny Goyal
5996937798 Removing Launcher dependency from Folders
This allows opening/closing folders without a Launcher context

Bug: 187353581
Test: Manual
Change-Id: Id73a40445a23004eb554f0422d286aa0ff6b3c41
2021-05-10 14:01:43 -07:00
Tony Wickham
b482188775 Some overview scrim and status bar color adjustments
- 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
2021-04-27 17:44:30 -07:00
Sunny Goyal
b65d766d88 Adding support for listening for app launch animation completion
Bug: 181165935
Bug: 179065491
Test: Verified on device
Change-Id: Ifa6a91560cb31b4dfb72a0f582607e873d8a002d
2021-03-10 15:53:21 -08:00
Tony Wickham
1906cc33f9 Refactor Folder to use ActivityContext and BaseDragLayer
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
2021-02-16 15:06:50 -08:00
thiruram
c96873caad [AA+] Log LAUNCHER_ONSTOP & LAUNCHER_ONRESUME events with AllApps session InstanceId.
* 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
2021-02-15 23:56:52 +00:00
Winson Chung
f99351888c Revert "Revert "Merge commit '8d14dbe041199d611839140f1c9285fd4174e9f4' ...""
This reverts commit 087a9e39b6.

Change-Id: I05b17a6e4aaaef6de3c2fa26aad45a39eb2833f9
2020-10-23 09:27:48 -07:00
Alistair Delva
087a9e39b6 Revert "Merge commit '8d14dbe041199d611839140f1c9285fd4174e9f4' ..."
Revert "Merging from ub-launcher3-master @ build 6877130"

Revert "Merging from ub-launcher3-master @ build 6877130"

Revert "Merging from ub-launcher3-master @ build 6877130"

Revert submission 12738409-merge_ub-launcher3-master_6877130

Reason for revert: Introduced crashes to global presubmit

Reverted Changes:
I624658ce6:Merge commit '8d14dbe041199d611839140f1c9285fd4174...
Iccd2f1e3a:Merging from ub-launcher3-master @ build 6877130
I791d64951:Merging from ub-launcher3-master @ build 6877130
Icdd32ab01:Merging from ub-launcher3-master @ build 6877130

Bug: 169963211
Change-Id: I77a4ae59e823147beae8dd7cb9b54ccdace2c7f4
2020-10-05 14:46:26 +00:00
Hyunyoung Song
95786e077d Good riddance UserEventDispatcher
Bug: 165675920
Bug: 161381246

TL;DR;;
- nano -> lite proto
- add all the missing logs to WW
- pin item related logging fix
- Removed logging for assistant

sgrep "com.android.launcher3.userevent.nano." | cut -f1 -d: | xargs sed -i -e 's/userevent\.nano\./userevent\./g'

Change-Id: Ie2a49fdd891cacbd7ef40a1dc9e41ff0574c7517
2020-09-27 13:41:49 -07:00
Hyunyoung Song
801f81fba5 Log Launcher transitions to WW
- ONRESUME / ONSTOP
- HOME_GESTURE
- OVERVIEW_GESTURE
- QUICKSWITCH
- SWIPELEFT/SWIPERIGHT

Bug: 156875719
Bug: 148822714
Bug: 137777105

Debug log: go/launcher-log-parity

Change-Id: I64a0deab4996b5be36320fbe0339f320891c53e0
2020-06-22 12:09:06 -07:00
Winson Chung
034ce6fd94 Update shelf offset earlier when in gesture nav
- 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
2020-05-14 10:55:14 -07:00
vadimt
cf275c1bd7 Choosing better points to output "start" events for TAPL
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
2020-04-15 12:45:11 -07:00
Samuel Fufa
a579ddc9c8 Refactor logging to capture Target hierarchy
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
2020-03-06 13:49:19 -08:00
vadimt
d633c9c7da Verifying events from TouchInteractionService
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
2020-02-07 11:46:03 -08:00
vadimt
6098a8c8c0 Adding events checking for Launcher starting apps
Change-Id: Id651397f643280a9f99a470df029479bd1b41e5c
2020-01-23 19:12:19 -08:00
Winson Chung
24ab40cebe Move remote animation definition runner to wrapped class
- 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
2020-01-17 21:34:54 +00:00
Sunny Goyal
fa39536570 Removing static reference of deep shortcut manager
Bug: 141376165
Change-Id: Ie60b82be63a8926825598c681d8b2a1b2ace6413
2020-01-02 20:13:12 +00:00
Sunny Goyal
fca20151b0 Removing custom activity dump logic
Change-Id: I37c339be205a4e35227986544d36ca03b1ae4ba4
2019-11-25 11:18:28 -08:00
Sunny Goyal
210e174c9c Subclassing Launcher instead of using UiFactory
Allows us to override only the required methods, instead of providing
a proxy method for everything

Change-Id: I816dcdb2a8d5432496050118ded0f2bbe7122cf7
2019-10-21 11:10:21 -07:00
Winson Chung
ef52876739 Defer listening on widget host until after the state transition ends
Bug: 140246642
Change-Id: I4532e4298f04ff5c6dea04ccda89320995cadb80
2019-09-09 10:24:53 -07:00
Winson Chung
a36c8004ed Reset the overview sysui state when returning to the previous task
- Otherwise, it gets stuck until the next time launcher pauses/task launch

Bug: 135008910
Change-Id: Ia0696d764522e36a4064583cb82003c1e9c0cb7a
2019-06-11 16:53:01 -07:00
Sunny Goyal
5686333117 Adding a utility class to cache views at an activity level
Bug: 122345781
Change-Id: I9a939e0b19c06c1089c1ceb515f8b97fb5dbb49e
2019-05-22 14:23:12 -07:00
Sunny Goyal
8c48d8bea6 Changing min sdk to 25
Change-Id: I0d28069967854357ca755bf25dec19d4979bdecf
2019-01-29 11:29:52 -08:00
Kevin
c4ad03b9ef Split LauncherAppTransitionManagerImpl for Go
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
2019-01-23 14:59:19 -08:00
Sunny Goyal
fe8e4a90be Moving some methods from various activities to the base interface
This allows creating some custom views in the absence of
activity context

Bug: 118758696
Change-Id: I23999290e972a2a8cbd725a521a4e0c7c2e5023e
2018-11-19 13:04:35 -08:00
Hyunyoung Song
fc00747909 Add StatsLog*Manager for logging.
Bug: 113043444

Verification: (19) is our event classifier number
11-05 11:24:28.188   932   994 I statsd  : { 1541445868000000000 766293363001 (19)0x10000->1[I] 0x20000->0[I] 0x30000->0[I] 0x40000->[S] 0x50000->1[I]  }

Change-Id: I75403837f9fa8e51efa012fb708bce7efc9c4488
2018-11-05 11:41:38 -08:00
Tony Wickham
6a71a5bd77 Add undo snackbar for deleting items
- 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
2018-08-30 16:22:25 -07:00
Sunny Goyal
d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -07:00
Sunny Goyal
0a40a187b5 Merge "Exposing some private methods to easily customize arrow popup" into ub-launcher3-master 2018-07-12 18:45:27 +00:00
Hyunyoung Song
956ec4b0e5 Remove device profile dependency from UserEventDispatcher
Bug: 110122682

Change-Id: I31ba61e60e31f1cc84e6d0cf115193e45d9fcfdb
2018-07-11 23:31:01 -07:00
Sunny Goyal
87b5eb689b Exposing some private methods to easily customize arrow popup
Change-Id: I6f6dc0604a616f26c0879732a0237767ddbfdccc
2018-07-11 14:35:51 -07:00
Sunny Goyal
1c63c72c1a Adding a pending invisibility flag, which is used to indicate that the launcher
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
2018-06-05 16:47:54 -07:00
Hyunyoung Song
46d07f7cb0 Log the parent of the PREDICTION container type (ALLAPPS OR TASKSWITCHER)
Bug: 79423536

Change-Id: I23ff0d4d0aa3fec781e9b6c8792d2d7a738ca6c8
2018-05-23 11:35:02 -07:00
Sunny Goyal
55eb556a4b Dumping the excoded view hierarchy instead of the default activity dump
> Encoded hierarchy is smaller is size and has a lot more information about the views

Bug: 79861035
Change-Id: I84316b1b0031282b0579f3aaac22d8d8f00d8bcb
2018-05-16 10:55:21 -07:00
Sunny Goyal
e43d00db40 Adding some activity state information in dump
Bug: 79216829
Change-Id: I3e1a5f5508f09b9ce2737c13d917fbab531c2572
2018-05-14 14:23:42 -07:00
Winson Chung
a0f09f94b5 Revert "Revert "Update sysui flags on swipe, skip task backgrounds on opaque apps""
This reverts commit f5d5b6f00f.

Reason for revert: Can be submitted once a build with ag/4040557 is available for flashing

Change-Id: Id94440a1dc9b765bb9758af81b0567628befa283
2018-05-11 21:55:21 +00:00
Winson Chung
f5d5b6f00f Revert "Update sysui flags on swipe, skip task backgrounds on opaque apps"
This reverts commit 5dd46d51ed.

Reason for revert: Temporary revert until ag/4040557 goes in

Change-Id: Iab2c747a99e1fb1cc5a91787dbf185df77f791b4
2018-05-11 06:50:21 +00:00
Winson Chung
5dd46d51ed Update sysui flags on swipe, skip task backgrounds on opaque apps
Bug: 79228291
Bug: 77984778
Bug: 78659249
Bug: 73714156
Change-Id: I3bb9ce5b4d5d16bc229a1caba99891cb87775136
2018-05-10 15:36:44 -07:00
Sunny Goyal
59d086c3ce Using surface rotation instead of insets to determine seascape configuration
Insets may not correctly indicate seascape configuration in multi-window or
when the presence of device-cutouts

Bug: 79376298
Change-Id: I8268efca0001fe527a0ffefe48cc71e774fad01c
2018-05-07 17:32:46 -07:00
Jon Miranda
717127186a Fix bug where launcher closing animation isn't run.
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
2018-05-07 11:46:33 -07:00
Winson Chung
f23931f915 Reset the force-invisible flag after the animation into launcher completes.
- 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
2018-04-20 16:12:37 -07:00
Tracy Zhou
b67e35337b Reset PIP position when canceling swipe up
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
2018-04-17 23:45:47 -07:00
Sunny Goyal
3483c52e6b Waiting until onResume before creating the wallpaper-open animation.
Bug: 77853906
Change-Id: I5126855492da59c9dbfef0ce2a97f94662a6522b
2018-04-16 13:01:57 -07:00
Sunny Goyal
7eff40ff2d Several app transition fixes:
> 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
2018-04-11 17:08:31 -07:00
Winson Chung
1a77c3dce1 Reload the task list when multiwindow mode changes
Bug: 73097187
Change-Id: I05d8635f78451600cbb8a9c03515e60d3c32e1ae
2018-04-11 13:26:21 -07:00
Winson Chung
9800e730a2 Fix animations home
- 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
2018-04-04 14:36:40 -07:00
Tracy Zhou
a706f00d78 Move default pip position to right above the shelf (Pt. Launcher)
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
2018-03-28 14:40:49 -07:00
Winson Chung
8a968fab72 Fix black flash when splitting task
- 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
2018-03-15 18:00:50 -07:00
Sunny Goyal
f633ef5f43 Adding fallback recents activity
> Refactoring RecentsView to a common base class
> Moving some dependency form Launcher to BaseActivity
> Using the Recents view in RecentsActivity

Change-Id: Ie0e6741d356291e77420798c140c999121de3a0d
2018-03-13 17:22:52 -07:00
Sunny Goyal
d70e75a514 Removing launcher dependency when logging quickstep interaction
as Launcher may not be ready when the touch gesture completes.

Change-Id: Ia69eb7bfb0340f7b7ce9b6c67be8851e5429f867
2018-02-22 10:21:41 -08:00