Commit Graph

7008 Commits

Author SHA1 Message Date
Ats Jenk
8e20d62034 Merge "Support large desktop tile in grid only overview" into tm-qpr-dev 2023-03-02 22:45:38 +00:00
Pat Manning
c6c33dd115 Merge "Add modal action for grid only overview." into tm-qpr-dev 2023-03-02 17:06:51 +00:00
Ats Jenk
45e0a90013 Support large desktop tile in grid only overview
Based on UX specs, desktop tile should be using the large size and be
pinned ot the right in overview.
Updates to ensure the desktop tile is using the focused tile size when
grid only overview is enabled.

Test: enable grid only overview, have some fullscreen tasks in overview
  and some desktop tasks, open overview from home, observe desktop tile
  peeks from right
Test: same setup as before, open a fullscreen app, open overview,
  observe desktop tile peeks in from right
Test: same setup as before, go to desktop, open overview, observe
  desktop tile is focused
Test: turn off grid only overview, repeat the same test case

Bug: 271131878

Change-Id: Ic804428dca415f08a26c47e1d6b9b3a94fcfbfdf
2023-03-02 09:04:37 -08:00
TreeHugger Robot
7f8f573f46 Merge "Prevent QSB from being a part of the icon reveal animation." into tm-qpr-dev 2023-03-02 16:29:05 +00:00
Sunny Goyal
f4bead71ea Merge "Restarting launcher if a flag changes" into tm-qpr-dev 2023-03-02 16:23:45 +00:00
Pat Manning
b4f3807df2 Add modal action for grid only overview.
This is an issue for tablets on landscape.

Fix: 271314156
Test: manual.
Change-Id: I5c3c1a9ff4b193439bdcc72f17b20bc8da4d16f5
2023-03-02 10:43:55 +00:00
Stefan Andonian
86d8db485f Merge "Preload expensive objects before user is unlocked." into tm-qpr-dev 2023-03-02 07:06:54 +00:00
Jeremy Sim
24b1890c4b Merge "Fix bug with Taskbar not differentiating between user profiles" into tm-qpr-dev 2023-03-02 02:47:46 +00:00
Jon Miranda
f01ca85c20 Prevent QSB from being a part of the icon reveal animation.
Fixes: 270694593
Test: taskbar on foldable and tablet
Change-Id: I1782f715454da1240174be1b4f496c910be3764a
2023-03-01 17:17:36 -08:00
Stefan Andonian
5bd9a225a8 Preload expensive objects before user is unlocked.
This change includes migrating data required for starting the launcher
from encrypted storage into device protected storage. All of the data
being moved has already been approved by the correct authorities.

Bug: 251502424
Test: Performed latency testing using logs from user unlock until first
workspace screen loaded.

Change-Id: I58b0cd1c7bad260c2252f9e172ef85ab885c7fe9
2023-03-01 23:09:07 +00:00
Tony Wickham
a8b120bc7e Merge "Only recreate taskbar for uiMode theme changes" into tm-qpr-dev 2023-03-01 21:29:16 +00:00
Jeremy Sim
e35d112693 Fix bug with Taskbar not differentiating between user profiles
This patch fixes a bug where Taskbar would not differentiate between user profiles when selecting an app to launch from Overview.

The bug occurred because findLastActiveTaskAndRunCallback(), which checks for already-running tasks when launching an app from the Taskbar, only checks for a ComponentName match and not a userId match.

Fixed by making the findLastActiveTaskAndRunCallback() also check for a userId match.

Fixes: 270456926
Test: Manual
Change-Id: I43ff06083a5dce775fdbd0b0ed951beaae34c0ab
2023-03-01 10:57:41 -08:00
Jeremy Sim
a49569a90e Merge "Fix bug with rotating in the middle of split select staging animation" into tm-qpr-dev 2023-03-01 18:53:00 +00:00
Alex Chau
6a10a003d6 Merge "Land ENABLE_TASKBAR_IN_OVERVIEW" into tm-qpr-dev 2023-03-01 17:13:35 +00:00
Jordan Demeulenaere
be82bc661c Format files with the upcoming version of ktfmt
This CL was generated automatically from the following command:

$ external/ktfmt/prepare_upgrade.py --repo=packages/apps/Launcher3/ --build_id=9645412 --bug_id=266197805

This CL formats all files already correctly formatted with the upcoming
version of ktfmt.

Bug: 266197805
Test: Presubmits
Change-Id: Ide7d63a75fed98aabe348821355356c77f00a9ec
Merged-In: Ide7d63a75fed98aabe348821355356c77f00a9ec
2023-03-01 09:11:48 +00:00
Jeremy Sim
8477226a3d Fix bug with rotating in the middle of split select staging animation
This patch fixes a bug where a user could cause a crash by rotating the device in the middle of the split staging animation.

The bug arose because:
1) Normally, when you rotate the device, reapplyState() is called to refresh the UI. This reloads the state, cancels any animations that happen to be running at the time, and generally works fine in most cases.
2) When animations are canceled within Overview, we also call RecentsView#reset() to clean up loose ends and prevent bugs.
3) Unlike other states, the split select state is unique because it is a transient state that holds the user's choices temporarily. If that information was cleared -- by reset() -- before it loads, it will crash.

Fixed by creating a new function in SplitScreenSelectState, onStateReapplied(), that is called when a reload is occurring. It makes sure that animations do not get canceled by calling end() to accelerate them to completion before the reloading occurs.

Fixes: 249819567
Test: Manual
Change-Id: I70c4651bcb5df81edd25f6e58e21520ebb391d01
2023-02-28 17:13:36 -08:00
Tony Wickham
b0fa52f3ee Only recreate taskbar for uiMode theme changes
Test: simulate docking/undocking, ensure taskbar is not recreated;
set dark/light theme and ensure taskbar is still recreated
Fixes: 233459895

Change-Id: I583557039f4a7c02baaa5e62eb888f55d659adb0
2023-02-28 23:55:31 +00:00
Alex Chau
81b1d3576a Merge "Skip updateIconAlphaForHome if Taskbar is already destroyed" into tm-qpr-dev 2023-02-28 21:23:53 +00:00
Alex Chau
8aa3f00238 Land ENABLE_TASKBAR_IN_OVERVIEW
Fix: 270393449
Test: manual
Change-Id: I731bfa8ee86154fd034781e27272abc81a6fe6c6
2023-02-28 20:18:32 +00:00
Sunny Goyal
2003c1c73f Restarting launcher if a flag changes
> Only restart when the screen is off.
> This allows better propogation of flags similar to systemUI
> Adding support for integer flags

Bug: 266854800
Test: Verified on device using device_config shell command
Change-Id: I4ea9c564f2d973f11f9570b5a21365183afefab7
2023-02-28 12:01:22 -08:00
Sunny Goyal
1297f400bc Merge "Moving flag creation to a separate file" into tm-qpr-dev 2023-02-28 19:18:25 +00:00
Sunny Goyal
98204add71 Moving flag creation to a separate file
> This provides better control over proguarding descriptions
> Enforcing bug number in flag creation

Bug: 270386012
Test: Presubmit and verified on device
Change-Id: I31014e397690379024d2e42c0e913ce806b9569c
Merged-In: I31014e397690379024d2e42c0e913ce806b9569c
2023-02-28 18:05:42 +00:00
Alex Chau
7fee161cd5 Skip updateIconAlphaForHome if Taskbar is already destroyed
Bug: 269409332
Test: Switch display with and without Tasxkbar at home and in-app, Taskbar and Hotseat visibility are correct
Change-Id: I598f618c336067bf795b77ccdf3b03f420634047
2023-02-28 12:46:50 +00:00
Alex Chau
019f8a640a Merge "Remove focus task" into tm-qpr-dev 2023-02-25 11:25:34 +00:00
Jagrut Desai
3addf0b66d Merge "Implement All Apps Icon upto the visual Specs." into tm-qpr-dev 2023-02-25 01:49:59 +00:00
Jagrut Desai
560b0eac62 Implement All Apps Icon upto the visual Specs.
Test: Visual
Bug: 267382941

Change-Id: If675c2f4767014598b23d8a2c2e684f5a8fb4f19
2023-02-24 15:41:06 -08:00
Jagrut Desai
0355c793c0 Merge "Prevent Taskbar from stashing in immersive mode overview." into tm-qpr-dev 2023-02-24 23:34:56 +00:00
Alex Chau
346b970942 Merge "Set split button drawable to start instead of left" into tm-qpr-dev 2023-02-24 21:44:02 +00:00
Alex Chau
a8c2ffc128 Merge "Fix various animation issues when total width of grid tasks < screen width" into tm-qpr-dev 2023-02-24 21:42:58 +00:00
Ats Jenk
8fc3a1df82 Merge "Hide overview actions when desktop is focused" into tm-qpr-dev 2023-02-24 18:45:28 +00:00
Alex Chau
aec9d3136f Remove focus task
- Focus task is only removed under ENABLE_GRID_ONLY_OVERVIEW, but many fixes/refactoring are generic and apply with the flag off
- Keep moving running task to front if go to overvied after quick switch, so live tile is always on top right

Grid calculation:
- Fixed some top/bottom calculation assumption that assume focus task is always present

Size calculation:
- With ENABLE_GRID_ONLY_OVERVIEW, taskSize == gridTaskSize, and task is aligned to top-right of gridRect (instead of focusTaskRect)

Bug: 257952455
Test: Enter overview from home
Test: Enter overview from app, with variations that quick switch and enter
Test: Dismiss task from different position
Test: Split select task from different position
Test: Repeat with/without GRID_ONLY_OVERVIEW flag
Test: Repeat with handheld
Change-Id: I6580a8ac6c2c2059c33c4daca05b7d0354513e74
2023-02-24 18:43:30 +00:00
Alex Chau
359ac14d13 Fix various animation issues when total width of grid tasks < screen width
Bug fixes:
- Unusual long scroll when only focus task left after split select
- Animation jump when tasks cannot fit screen width after dismiss or split select

To fix the above issue, generified calculations when total grid task width < screen width:
- Removed some special case handling when only focus task left (getSnapToFocusedTaskScrollDiff), and instead replace with generic logic that calculation that extra scroll position (shortTotalCompensation) needed when long row width is smaller than the grid size
- Fixed snapped task grid translation calculation to account for shortTotalCompensation
- Last task scroll calculation should account for shortTotalCompensation too
- Calculate the expected shortTotalCompensation after dismiss, and use that to adjust the close gap between clearAll distance

splitScrollOffset that we applied during split screen does not work well when shortTotalCompensation != 0. splitScrollOffset is not a good solution to handle split placeholder, as it allow tasks to scroll to weird position. I removed splitScrollOffset completely, and only apply split translation when split placeholder covers the tasks:
- Removed splitScrollOffset on TaskView/ClearAll, so scroll position of TaskView will not change while in split to splify things.
- When split placehodler will cover task's natural position (taskSize) in overview grid, apply split translation on all tasks similar to handheld
- Removed isSplitPlaceholderFirstInGrid/isSplitPlaceholderLastInGrid adjustments

Bug: 257952455
Test: Enter overview from home
Test: Enter overview from app, with variations that quick switch and enter
Test: Dismiss task from different position
Test: Split select task from different position
Test: Repeat with/without GRID_ONLY_OVERVIEW flag
Test: Repeat with handheld
Change-Id: I7689b5384845f03491041b6d910835c9ac4fab08
2023-02-24 18:42:13 +00:00
Alex Chau
49863356e2 Set split button drawable to start instead of left
Fix: 269493214
Test: Check overview actions in regulard and RTL
Change-Id: Ice474294c482de8c552bda5e14efdce989fce4e7
2023-02-24 12:00:48 +00:00
Ats Jenk
560e494f29 Hide overview actions when desktop is focused
Use same logic for desktop as split screen is using. If focused task is
the desktop task, hide overview actions.

Bug: 269658609
Test: Enable desktop proto 2, have some apps on desktop, focus on a
  fullscreen app, open overview, observe actions visible
Test: have some apps on desktop, open desktop, open overview, observe
  actions are not visible
Test: open two apps in split screen, go to overview, observe no actions
  visible
Change-Id: I7de28ea7af93b58379bb539c5a1b1bcbf6d13b83
2023-02-23 16:02:30 -08:00
Jagrut Desai
3fbaaf9628 Prevent Taskbar from stashing in immersive mode overview.
Test: Visual, Video in Buganizer
Bug: 262589756
Change-Id: Ifbdfb3a4104817e5f50833c42c3c6fc5964388b7
2023-02-23 14:19:10 -08:00
Charlie Anderson
6259084496 Adds new motion animation for U popups
Bug: b/247880037
Test: manually on tablet
Change-Id: I8677cef39a5dc4094cad38f42b9314ac37b95fc2
2023-02-23 15:38:26 +00:00
TreeHugger Robot
01c1dff441 Merge "ENABLE_WIDGET_PICKER_DEPTH" into tm-qpr-dev 2023-02-23 13:22:15 +00:00
Sunny Goyal
171bb04407 Removing some obsolete features
Bug: 270386012
Test: Presubmit
Change-Id: I9d68b3d17e02d6e79ab726eb7c8da1e5a4d337ef
2023-02-22 23:17:15 +00:00
Vinit Nayak
c9120521ff Merge "Refactor SplitSelectStateController to add testing" into tm-qpr-dev 2023-02-22 21:45:42 +00:00
Alex Chau
ce9766da2d ENABLE_WIDGET_PICKER_DEPTH
Fix: 270393895
Test: manual
Change-Id: I167354425e5469663c283919f84c8bdf664cceec
2023-02-22 20:18:39 +00:00
Ats Jenk
431c0c05fd Merge "Add empty view to desktop tile in overview" into tm-qpr-dev 2023-02-22 19:30:55 +00:00
Vinit Nayak
4e3636e8d0 Refactor SplitSelectStateController to add testing
Bug: 266482558
Change-Id: I2d62a3a310043710d66a26bc533df2309084b81e
2023-02-22 10:51:49 -08:00
Tony Wickham
3d1bb16493 Merge "Fix taskbar drag view scale when returning to original icon" into tm-qpr-dev 2023-02-22 16:24:48 +00:00
Luca Zuccarini
8ca28c4e63 Merge "Introduce launchable versions of common view types." into tm-qpr-dev 2023-02-22 12:19:50 +00:00
Nick Chameyev
92c93bdda5 Merge "[Unfold transition] Hide invisible workspaces during animation" into tm-qpr-dev 2023-02-22 11:20:16 +00:00
Pat Manning
1b27affb03 Merge "Animate grid tasks to modal state." into tm-qpr-dev 2023-02-22 11:18:47 +00:00
Tony Wickham
00f89fbbf6 Fix taskbar drag view scale when returning to original icon
- Use getSourceVisualDragBounds() if the target view is BubbleTextView;
  this accounts for padding as well as extra ring inset for
  PredictedAppIcon
- Also ensure we always use the final drag view scale when switching to
  the system drag and drop, instead of using the current scale which
  might be in the process of animating

Test: drag regular and predicted icons in taskbar, but drop it in a
region that doesn't accept it (e.g. the taskbar itself), check that the
return animation scales and offsets more correctly than before
Bug: 269814838

Change-Id: Ie8398b2617340e1d2568773563aa0263a3366940
2023-02-22 03:41:03 +00:00
Tony Wickham
2a567ec85a Merge "Fix a couple of drag and drop issues from transient taskbar" into tm-qpr-dev 2023-02-22 03:38:38 +00:00
Vinit Nayak
54c262cd67 Merge "Move split functions from RecentsView to SplitSelectStateController" into tm-qpr-dev 2023-02-22 02:15:46 +00:00
Tony Wickham
16cfed3d1f Fix a couple of drag and drop issues from transient taskbar
- Don't stash until drag ends, but immediately stash at that point
  (regardless of success or failure, though failure will animate to the
  original icon before stashing)
- Send transient taskbar's bounds to WM Shell via intent extra such that
  they ignore drag events in that region

Test: manual in persistent and transient taskbar
Bug: 269814838
Fixes: 268526633
Fixes: 259645384
Change-Id: I5ded3998046f259ed6e79cb4ed765ad7b0c72e45
2023-02-22 00:46:51 +00:00