Add a widgets recommendation mechanism based on AiAI app predication
ranking with the following changes:
1. Only one widget is picked from one app.
2. Widgets that are already added to the workspace are excluded from
the recommendation.
Test: run PredicationUpdateTaskTest
Bug: 179797520
Change-Id: Ia697bc6df0bae75969e68b7b3de32d57901f7461
Test: Open an app, swipe to home and remove taskbar during animation,
ensure no crash
Fixes: 182163822
Change-Id: Ie92b4fdf03a23c8a205d1d7327a304cf1d996383
- This can be reproduced ocassionally without any obvious pattern, when this happen the page scroll and min/max scroll is messed up
- When this happen, onLayout happens before the first setGridProgress call from animations
- The fix is to request a relayout at the end of state transition
Bug: 174464863
Test: manual
Change-Id: I12683c49d7ed72349a4b9cb3b4d3871741e3e22e
Previously, mOneHandedModeRegion reference larger gesture hieght
"navigation_bar_gesture_larger_height" for the detect region which
will easily introduce mis-trigger above NavBar panel region
Now we add 1 more condition to ensure user end up the motion in NavBar
region for both OHM & Swipe Notification gesture
Test: atest WMShellUnitTests
Test: NexusLauncher:connectedGoogleWithQuickstepDebugAndroidTest
Bug: 179957109
Change-Id: Ibceab87cd17fd8988f39c6c1746829d73623e4f1
When you long press on the taskbar hotseat item, the following happens:
- We start a system drag and drop with an invisible drag shadow
- We create a new DragOptions with the simulatedDndStartPoint set to the
drag down position, and tell Launcher to use that for the next drag
- We perform a long click on the equivalent Hotseat item in Launcher
- We pass the drag events of that operation to Launcher's DragController
This allows Launcher to handle the entire drag operation, including the
pre-drag (with popup), and taskbar already hides when the drag starts.
Test: Long press items in taskbar hotseat, able to drag them to workspace
Bug: 179886115
Bug: 171917176
Change-Id: I576b80cb1bd0225cdc91cf7689fdee0481265109
This ensures that a removed view becomes invisible.
Test: turn off hotseat suggestions, drag an item out
and verify it's removed from taskbar as well
Bug: 179886115
Bug: 171917176
Change-Id: Iec509c2f0c420cee6f86feb293419bb2249a8dc4
Since we place app on top during the initial swipe up, LiveTileOverlay is no longer necessary. LiveTileOverlay was used to hole punch during the initial swipe when we place app under. After the initial swipe up settles in overview, hole punching job is given to the TaskView.
Fixes: 181937887
Test: manual
Change-Id: If5293dc0143af8be9db9d2745f567c4c680010a0
This would simplify reusing the same code for 3-button mode
Test: Verified on device
Bug: 175137718
Change-Id: Ia757eec069efc251475baa6af38c690431325f66
This ensures the taskbar hotseat aligns with the home screen
hotseat, as the latter supports empty cells. When in apps,
the taskbar still collapses the empty cells.
Test: Turn off hotseat predictions, remove some hotseat items,
and ensure the taskbar hotseat spreads out when on home.
Bug: 179886115
Bug: 171917176
Change-Id: I6047c3c5691685edcd8b3519e0305812b1295550
Remove hotseat space from workspace in DeviceProfile if
taskbar is present, and instantly swap between taskbar and
hotseat when entering SpringLoadedMode. To allow for an exact
handoff, we also scale up the TaskbarView such that its icons
match the hotseat icon size when on the home screen.
Note that this CL only supports dragging to the taskbar, not
out of it (which still triggers system drag and drop instead).
Test: In RTL and LTR, drag a workspace item and ensure hotseat
seamlessly swaps with the taskbar hotseat and allows drops.
Bug: 179886115
Bug: 171917176
Change-Id: Id6462075b9b0b66b06d51a78c9c0b3e11e83e84d
3 Button mode doesn't use recents animation so live tile would not work on 3 button mode before migration to recents animation happens.
Bug: 169694902
Test: manual
Change-Id: I9574c624f3d220834fa18e910637cd64460adb0c
- Use same swipe height as the tests use to get to Overview
- Use mStartState instead of fromState when determining
target state, to disallow swiping through states, i.e.
from NORMAL to OVERVIEW back to NORMAL in one long swipe
up gesture. Instead, now swipe up from NORMAL goes to
OVERVIEW and swipe up from OVERVIEW goes to NORMAL.
Fixes: 177316094
Change-Id: Ic8e9c8650d4cf11eec344802e3569413bfd5d7bc
(cherry picked from commit a24b9ff69d)
- Introduced gridProgress to RecentsView/TaskView ofr animating into grid
- Introduced gridProgress dependant translation and scale properties in TaskView
- Animate running task into grid with TaskViewSimulator
- Remove overview actions (for now) but keep clear all button in large screens
- Adjust ClearAllButton translation to acoomodate for grid
- Use screen width +-50% to calculate task visibility
- Use the position where TaskView is on screenEnd as pageScroll
- TODO: Handle separate recents activity
Doc: go/foldables-launcher-overview
Video: http://dr/file/d/107Aydii1LoFCwP63nWG3Twr2PBDE5ZgD/view?resourcekey=0-aUjdnx8ezimS9tmAgao9ag
Test: Test Launchering overview and launching overview from apps with folloiwng combination:
- large / small screen sizes
- portrait / landscape
- thumbnails from different screen sizes / orientations
Bug: 174464863
Fixes: 181509346
Change-Id: I4b691cde774f2e37532b68ba83c6eed399f2332e
Sometimes tests aren't getting input events, and this could help
verify that the input monitor is being initialized.
Also remove obsolete check that could mean we don't initialize
when we should.
Bug: 180915942
Change-Id: I811cb432b456bc67d9e7ded945db36eb227f5071
Allow the launcher to provide a fill-in intent when starting a
PendingIntent splitscreen, and add a new method to allow the launcher
to request removing a task from the side stage.
Bug: 179176511
Test: Manually tested with the foldable launcher prototype
Change-Id: I23173b432ffe9c988744641170412aa9111cf55d
mLiveTileRestartListener is originally used to render the animation to launch the app that's the live tile app (for example, settings is the live tile app and we can launch settings from notification shade).
However, we don't want this callback to be triggered when the recents animation is finished / live tile is ended because the default animation in that case won't be skipped.
The other scenario that we don't want the animation to be rendered here is when the restarted app is not the live tile app. This can be repro'ed in this scenario - launch any app and go to live tile; launch settings; swipe up from settings; launch the previous live tile app. In this case, we rely on the mLaunchOtherTaskHandler take care of the rendering of this animation.
Fixes: 181372992
Test: manual
Change-Id: I41b63ce5163f1ac136bf8b5909907a3f84d937d8
Launcher tries to set the window transform on the recents animation
leash when it's settled on end target, which might conflict with
SwipePipToHomeAnimator and causes flash/flick at the end of the
transition. Simply skip the window transform since
SwipePipToHomeAnimator is the one solely responsible for updating the
leash in this case.
Bug: 179720719
Test: repeatedly enter PiP from ApiDemos with autoEnterPip enabled
Change-Id: Ia98675c21e3bd898cd11cf6ed97f6eaadcb11a42
This will help us avoid leaks, etc.
Also changes ENABLE_SMARTSPACE_ENHANCED back to a DeviceFlag
Bug: 181194850
Bug: 181077020
Test: atest NexusLauncherOutOfProcTests:com.android.launcher3.memory.MemoryTests -- --abi armeabi-v7a
Change-Id: I6f54af3e6b6302a073b8b7d448ff72b05a803d8f