This is to maintain separation of non-generated files from generated flag values.
Test: Current tests pass
Flag: EXEMPT refactoring
Bug: 370777204
Change-Id: If9ca76cbf084da7a37241216f41319610adc52b0
When overview tile for desktop is dismissed, use the shell API instead
of calling the system server directly to remove tasks in the desktop.
This let's desktop fix it's state and call the system server instead.
Bug: 370757235
Test: m and dismiss overview tile from desktop
Flag: com.android.window.flags.enable_desktop_windowing_back_navigation
Change-Id: Ia2abd0ab5a27759c92e0328beb460810ad2af898
When the live tile is the adjacent app to be launched, it will wrongly update the pivot and translate all the tasks to the side, resulting in a broken animation.
This bug was introduced in ag/29639296, while fixing the launch of the the adjacent task while the live tile was in the center of the screen. To solve this excessive translation, we need to update pivot only when adjacent task is not a live tile.
Bug: 361744056
Change-Id: I56cbabcc351b0becd791b58dd94f65cd0b533bc2
Test: Launch central/side large tile with different live tile combinations
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
This was causing the focused task shift to be calculated incorrectly, which was resulting in the focused task being shifted too far to the left.
Bug: 330342294
Fix: 371490320
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: Manual. Open 1 DesktopTask, 1 FocusedTask, 2 other tasks in the grid. Dismiss the focused task. The rebalance should work keeping the new focused task next to desktop task.
Change-Id: If6f95814942c2cbadc30a0082649569f21dea60a
This CL also fixes : Home -> Recents -> Recents opens the last large tile (Which was broken when there is desktop window tile in recents.)
Test: Manual
BUG: 365756337
Fix: 365756337
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I0b8fe3a0a7074355f14ced23ae282fe2943d8ce9
This CL uses the same logic used for handheld dissmiss translation to fix the following cases when large tile is enabled for desktop task:
- When the LAST focused task is dismissed (i.e., no other task in the grid), translate all large tiles from the right side to the left, to occupy the dismissed focused task position.
- When Desktop Task is dismissed, translate focused task and grid from the left to the right side to occupy the dismissed desktop task position.
- When 2 tasks are visible in recents (i.e., 1 focused task, 1 desktop task) and the user dismisses the desktop task while in Clear All Button page (page 2), the focused task translates when no translation should be done, due to snapping to ClearAllButton page on Tablet. To fix this we introduced a logic in getOffsetToDismissedTask to use the previous page for the calculation when the grid snaps to Clear All Button page.
Bug: 353948136
Fix: 353948182
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: OverviewDesktopTaskImageTest
Change-Id: If8b06410c26a8f817d84ec6a635a66b2941e3ae9
- There's an edge case when there are only 2 grid tasks, mNextPage will still be on the grid tasks when they're not fully visible, so the new isAnySmallTaskFullyVisible check can't kick in. This only happens when grid tasks are barely out of screen.
Fix: 370733696
Test: Scroll betwene large tiles, it should always snap after scrolling
Test: Scroll from focus task to grid task, it should only snap if grid tasks aren't fully visible
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I3b0a80ceffb1caae57aa53b1c949c5e51336231a
- When launching large tiles, we zoom in RecentsView into the task we're launching, override pivot of RecentsView in the process
- This pivot override to be applied to TaskViewSimulator if a live tile is on screen, to avoid live tile animating to wrong position
- Also ensure the live tile draws above RecentsView, to avoid wallpaper blur from applying on the live tile
Fix: 361744056
Test: Launch central/side large tile with different live tile combinations
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I804edb988fb157d939dba34bc596c8b43aac8a45
When desktop windowing is enable and split is selected, during second app selection apps' scroll was far off on left. There were several things needed to fix this :
1. Hide DesktopTaskView during split select mode by changing splitAlpha
2. Fix min/max scroll calculation by excluding DesktopTaskView in split select mode
3. Exclude DesktopTaskView in updateGridProperties row length calcualtion
Testing: Manually needed to test multiple scenarios
1. Split focused task.
2. Split Even/Odd tasks in top and bottom rows.
3. Split tasks from home screen
4. Split and rotate screen.
5. Split from app icon chip
Test: SplitSelectStateControllerTest, Manual
BUG: 330342294
FIX: 330342294
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I789873100f42896c9ed3084accb0f6970abcba0c
- This is a follow-up of refactoring CL ag/29580515, which passed wrong parameter to a function
Bug: 353948182
Test: manual
Flag: EXEMPT REFACTOR
Change-Id: I544f4142b1007c034f8e7364e48c32e6500e03f8
desktopCarouselDetachProgress:
- Controls whether desktop and fullscreen carousel is attached (RecentsView..DESKTOP_CAROUSEL_DETACH_PROGRESS)
- When fully detached (progress==1), hide the carousel (RecentsView.applyAttachAlpha)
- As the detach progress increase, we animate the other carousel away by using `getMaxHorizontalOffsetSize`, with additional maxOverscroll to make sure the other carousel won't be seen even if user overscroll RecentsView (RecentsView.updatePageOffsets)
min/max scroll changes
- When desktop and fullscreen carousel detaches, disallow scrolling to the detached carousel. This avoids quickswitching or scroll to the other carousel (RecentsView.getFirstViewIndex and RecentsView.getLastViewIndex)
State machine changes:
- On Overview states, desktop and fullscreen carousel is attached. Otherwise, they're detached, including in quick switch and home. (BaseState, RecentsState, OverviewState, BackgroundAppState)
- StateController set/animate desktopCarouselDetachProgress between the above states (BaseRecentsViewStateController, FallbackRecentsStateController)
- On swipe up gesture release and going to Overview, animate attaching back the 2 carousels (RecentsView.onPrepareGestureEndAnimation)
Bug: 353948100
Test: quick switch; swipe from home/app; scroll in Overview; with normal/3p launcher
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: Ic4217efb07db079825a3210afd306d9ef627c873
This CL extracts the logic to translate the tasks used when Overview grid is disabled (i.e., for handheld) to 2 smaller functions that will be used for desktop and grid translation in the follow up CL.
Bug: 353948136
Bug: 353948182
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: OverviewDesktopTaskImageTest
Change-Id: Ie25fffaaca4580a8a483003d220b4bf6cdccbc66
- Setting DesktopTaskView to GONE completely breaks Overview layout. Instead keep them in split select but do nothing when being clicked
- With large desktop tile feature we'll properly hide DesktopTaskView
Bug: 330342294
Test: without large desktop tile, enter split select, layout isn't broken; clicking desktop task doesn nothing
Flag: EXEMPT BUG_FIX
Change-Id: I164ed75e8531e08b6d982e3bda418ae19fa272e9
- Fix bottom grid row size in createTaskDismissAnimation to subtract all large tiles from bottom row count.
This fixes the animation when dismissing a focused and a bottom row task turns into a focused task.
- Fix when snapping to last task, snap to focused task page instead of INVALID_PAGE (-1).
This prevents snapping to a wrong page (DesktopTask page) when last grid task is dismissed.
Bug: 353948136
Bug: 353948182
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: OverviewDesktopTaskImageTest
Change-Id: Ib4b0453eb6b99855615b22fe842ccbe1205c962d
* changes:
Cleaning up unusued handlers
Moving RecentsWindowManager away from the singleton pattern
Limited recents in window introductory cl
abstracting fallback views to support container instead of activity
This CL changes GroupedTaskView#onMeasure() to return more robustly in the case where a single task from a GroupedTaskView is staged.
See bug for fine details, but basically we no longer allow onMeasure() to re-bound the split task to fullsize in split selection state -- we leave it in half size all the time (with scale and translation applied). To allow it to stay scaled-up and translated properly across rotations and stuff, we now avoid resetting translation and scale until split select is exited.
Fixes: 365476600
Test: Manual test with offscreen tiles, rotations, fake landscape and seascape
Flag: NONE bugfix
Change-Id: I0ee8d13d310ed1f134f3f396bb87541a5ea685ef
Test: Built and tested locally
Flag: com.android.launcher3.enable_fallback_overview_in_window
Bug:292269949
Change-Id: I5352ba0b6c5bc196fbd1322d435a7e27e884f7b5
This reverts commit a555f4ca1b, and relands commit 9420ba7515.
- attachAlpha should only be reset in onRecycle, otherwise applyLoadPlan or moveRunningTaskToFront will unexpectedly reset it via resetViewTransforms. This fixes TaplTestsQuickstep.testQuickSwitchFromApp which assert all visible task must be on the left hand side of the screen during swipe up
Fix: 353950224
Change-Id: If1c1524e435c8007844bcd51d8695a6d3b00450b
- setRunningTaskHidden now changes attachAlpha only, stableAlpha is untouched as part of the attach animation, so both alpha can be set independently without interferring with each other
- During swipe up, hide task of differnt type (fullscreen/desktop) from the carousel, apply unhide when the gesture settles
- Update the min/max alpha calculation when a type of task is hidden from the carousel
Fix: 353950224
Test: Quick switch, swipe up, and scroll in Overview with and without Desktop tile, on phone and tablet
Test: presubmit test on quickswitch and swipe up
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I0a63da3ee3e55f4d1edbc53b2a4c5fccda2af387
Currently large tiles are excluded from adding into collection which is used for keyboard navigation. This cl adds them if desktop windowing tile is enabled.
Test: TaskGridNavHelperTest
BUG: 361070854
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I63fbb6867c34bbd80df926d750a7a392860b70a0
- This vastly simplified the need to call do a indexed loop with getTaskViewCount() and calls requireTaskViewAt() each time, useful for code that needs to loop all TaskViews
- removeTasksViewsAndClearAllButton and resetTaskVisuals have no reason to loop reversed, so I just loop them in order
Fix: 365534984
Test: presubmit, manual
Flag: EXEMPT REFACTOR
Change-Id: Ib69f8439f3a7509fc57ec2430affa207c038bf46
- This is a follow-up of ag/28922223, which caused a RECENTS_SCROLLING jank regression
- The regression is probably caused by TaskThumbnailViewDeprecated unnecessarily redrawing, the fix is to only redraw when needed
- Also combined setShouldShowScreenshot and refreshThumbnails into a single method, so we can easily check inside TaskView if a refresh is necessary
- Centralize screenshotTasks logic into RecentsViewUtils, and centralize thumbnailView refreshing inside TaksView.setShouldShowScreenshot
Fix: 362294538
Test: Invoke Omnient or Screenshot hardware button on live tile, verify running task switches to screenshot after overlay closes
Test: Select/Screenshot swithces to screenshot normally
Flag: EXEMPT BUG_FIX
Change-Id: I7c6e73e52ebf18e7c59bb9afea029246b92681d2
To do this TaskVisualsChangedDelegate was added which multiplexes two listeners that are closely related.
Thumbnail overriding capabilities were also removed.
Fix: 342560598
Test: TaskVisualsChangedDelegateTest, TasksRepositoryTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: If065e4179cd1f15fe2cdf9b6bae51afcb57abcc6
Fixing desktop task in place along the x-axis and animating its background's alpha to more smoothly handle the transition.
Flag: com.android.launcher3.enable_desktop_task_alpha_animation
Fixes: 320307666
Test: swiped to and from desktop mode and overview
Change-Id: I38d62d0c966733f96c2f4d4ecfa4a9418039fd48
- We now calcualte the first task's start position, and compared against the expected position (mLastComputedTaskSize) to determine if we need extra translation for ClearAllButton
- The calculation is done with `mIsRtl = true`, and only only flip +/- when applying translation
- http://screen/brM3taew74Z3uZJ shows what happens without clearAllShortTotalTranslation:
- Blue area is mLastComputedGridSize, green area is longRowWidth
- firstTaskStart is caculated from left of grid size, adding longRowWidth
- Red area is mLastComputedTaskSize, where focus task is in the middle (for grid-only-overview it's in top right)
- clearAllShortTotalWidthTranslation is the yellow area
Fix: 354104098
Test: With normal/largest display size, LTR/RTL, focus task /grid only Overview, swipe up with 1/2/6/7 tasks
Flag: EXEMPT BUG_FIX
Change-Id: I324eebc0a2b2129a4ba62d4569bc555b74140c21
This CL updates the DesktopTasks in the RecentsView to be displayed after the focused task, separated from the other tasks in the grid. The DesktopTasks will be larger, following the same size used for focused tasks.
It was necessary to do the following changes to support DesktopTask at the front of the list.
1. Sort the GroupTasks in applyLoadPlan to move DesktopTasks after all other tasks.
2. Update the target page to take into account the DesktopTasks after the running task.
3. updateGridProperties had to support DesktopTask and Focused Task to be positioned at the front of the list. This function updates view translations to support the grid with two rows and rebalacing the position after a task is dimissed.
4. Update the max and min page scroll. Updated getFirstViewIndex to check for a DesktopTaskView, and if it doesn't exist, it uses the focused task as reference.
5. TaskView.updateTaskSize was updated to prevent DesktopTaskView being resized. This change makes DesktopTaskView to have the same size of our current focused task.
6. Update several places using focused task to use isLargeTile.
Bug: 353947137
Fix: 353947516
Fix: 353947467
Fix: 353947334
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: OverviewDesktopTaskImageTest
Change-Id: Ic7c0d8340ca259e8644de180aa6859a3c968d66e
- All taskViewIds become obsolete after removing and re-adding, so we'll need to reset mTopRowIdSet when removing all taskViews
- OverviewActionsView.updateActionButtonsVisibility can be called before updateDimension (where mDp is set), so a null check is necessary
- Fixed TestStaibilityRule failing when running FallbackRecentsTest alone. FallbackRecentsTest runs with 3P Launcher, in that case launcherPackageName is our test activity, and launcherVersion can be null. This can only occur in a local run, thus return LOCAL in this case.
Fix: 355042336
Test: FallbackRecentsTest and manually testing dismiss
Flag: EXEMPT BUG_FIX
Change-Id: I9125ea38a567deb0d3028e7d7407397d1dc06ade