Commit Graph

200 Commits

Author SHA1 Message Date
Greg Kaiser 6f220d92b6 Revert "launcher: use a different task menu for foldables"
This reverts commit 238f630001.

Reason for revert: Root cause of P0 b/205278434
Bug: 205278434
Test: Local reverted and now launcher works on wembley

Change-Id: I5ee18d3ee1b671fcaedda633e7a268addd5c5c15
2021-11-05 16:12:47 +00:00
Thales Lima 238f630001 launcher: use a different task menu for foldables
Foldables use a different menu from phones, positioned either to the
right or left of the app icon, and display an arrow. Since TaskMenuView
is very specific for handhelds, it was cleaner to create another class
to handle foldables case extending from ArrowPopup.

This creates a working menu, the correct style will come in later CLs.

Bug: 193432925
Test: open Overview and tap the app icon
Change-Id: Icb068954e1e20a52d80c16c52d8e38ce9a181a8b
2021-11-04 14:40:47 +00:00
Tracy Zhou b58eb1bc63 Revert "[Live Tile] App surface is above launcher even after reaching Overview"
This reverts commit e9e5e51d73.

Reason for revert: This change breaks image indicators feature

Fixes: 195665605
Change-Id: I2abff19955e1594a40f06bfb4972721eed1ee16f
2021-11-01 23:49:00 -07:00
Thales Lima 26f44911a6 add kotlin support for launcher
Bug: 193432925
Test: click on the app icon and check logcat
Change-Id: I2ca4d57105fe4e1b1dfc6c968a7c1bbd3cbd2151
2021-10-29 15:40:41 +00:00
Alex Chau 3c6795e355 Update TaskView corner radius as RecentsView scale changes
Fix: 192253697
Test: manual
Change-Id: I45825c955b759163792d704408e348c198830fc8
2021-10-21 14:23:11 +01:00
Alex Chau 02150305f9 Fix split select scroll range when TaskView aren't shifting
- There is an edge case that when ClearAllButton is visible, no split translation is applied, the offset adjustment needs to be calculated differently in that case
- Also, apply the scrollOffset to the TaskViews / ClearAllButton instead of updating min/max scroll

Bug: 200537659
Test: Split right in grid, split left with clear all button, split left without clear all button
Change-Id: I869c448bbec6aec8fa070e47193a692be6f75e84
2021-10-11 19:02:28 +01:00
Alex Chau d4864e5cbc Don't snap to task when tapping task icon in overview grid
- Open task menu directly instead of snapping to task, as there are spaces to do so unlike small screen

Fix: 201428316
Test: Tap task icon with clear all button shown in overview grid, no snapping
Test: Tap task icon with clear all button shown in non-grid overview, snapped to last task
Change-Id: Ief79f7c758c4109e5c7722b2f35647db98a9f05c
2021-10-01 18:23:25 +01:00
Zak Cohen 71c527126b Overview - Remove Chips code
The proactive chips code has bit rotted and doesn't work properly anymore.
The product direction is not being pursued, so remove the code.

Bug: 201568600
Test: local
Change-Id: Ia00ceb027719c841bed665c1c50a132230bffe89
2021-09-29 14:43:27 -07:00
Iris Yang 8bf24a58ae Move/Launch task on the TaskView's display.
Add ActivityOptions#setLaunchDisplayId to the display that the TaskView
is currently on. So the task will be moved to the display as the user is
interactiving with.

This change is adding ag/15604010 back since b/197293995 is fixed.

Bug: 183461428
Test: Manually tested using Exo. Open appliction(e.g.Calculator) on
Exo virtual display, and tapping on the phone's recents to bring the
application back to phone.
The demo video  https://drive.google.com/file/d/1JMncvsI-VPosK4ql2xeVA8csVAF7Rb16/view?usp=sharing&resourcekey=0-PYRw1k3KdtY0-KZNo6OqjQ

Change-Id: I39b1825b69d55001f66ee01a982e3cd366da56bd
2021-09-24 05:27:32 +00:00
Vinit Nayak 9299a743af Allow tapping on app icon for second split app.
Fixes: 200851336
Test: Split with one app from overview,
tap on app icon for second app. Gets
selected as second app.

Change-Id: I312169fe7bc42007c2f1a0146a5fef5f8d5f46d6
2021-09-23 14:46:59 -07:00
Vinit Nayak 7caf5f0ea4 Show distinct TaskMenus for each task in GroupedTaskView
* For now we only show the App Info option
for each task icon clicked for GroupedTaskView
* Have TaskMenuView operate on a specific task instead
of only a TaskView
* NOTE: getItemInfo() in TaskIdAttributeContainer needs to
dynamically call getItemInfo(Task) because at the time of
creation of the container in TaskView#bind(), the task
object provided initially is a palceholder task which only
has a taskId and no other attributes set.
getItemInfo() needs a non-null baseIntent, which the
placeholder task doesn't have.
Right fix for this is to have GestureState hold onto
multiple running tasks when in split screen that are
provided by ActivityManagerWrapper when the gesture starts
(but that change is extensive and out of scope w/ this
workaround available)

Bug: 181704764
Test: Open TaskMenuView's w/ either task icon for
GroupedTaskView, opens up corresponding tasks menu.

Change-Id: I70b7c13394ad4980cabbd611cb928bb03d8a2924
2021-09-21 17:47:54 -07:00
Vinit Nayak af6b85e3bc Show multiple icons for GroupedTaskView
* Hide all overview actions for GroupedTaskView
* Move some logic from TaskView into respective
PagedOrientationHandlers
* Remove unused methods from PagedOrientationHandler
* NOTE this is just visual changes. Properly showing
task menu's is still in-progress

Bug: 181704764
Test: Tested GroupedTaskView in portrait/landscape,
fake landscape in small screen, and real portrait/landscape
in large screen

Change-Id: I9c13ca114024db0a8e3fa5d295951696adb8516f
2021-09-17 10:16:56 -07:00
Vinit Nayak 2d9741b832 Merge "Call exitSplitScreen() when user leaves split tasks" into sc-v2-dev 2021-09-09 20:19:20 +00:00
TreeHugger Robot 87f764cea1 Merge "Scale task's rounded corners in grid to match focused task." into sc-v2-dev 2021-09-09 11:51:32 +00:00
Pat Manning d0f5791c84 Scale task's rounded corners in grid to match focused task.
- Track scaling during fullscreen progress and joining grid.
- Maintain grid corner scale as it becomes focused task.

Test: manual
Bug: 194194694
Change-Id: Ie05da0d28dc3176095d2bee160a0d83e18ca4011
2021-09-09 10:14:05 +00:00
Vinit Nayak 1409d29773 Refactor TaskViewUtils to launch adjacent GroupedViewTaskView
* TaskViewUtils only used one TVS, now it can use
multiple necessary for staged split.
* Consolidate creating RemoteAnimationTargets into
TaskViewSimulators/TransformParams into RemoteTargetGluer

Test: Swipe to overview, tap on running task.
Swipe to overview, tap on adjacent task (single + split)
Bug: 195675206

Change-Id: I31e4aece60e2eaf94ce87ffc736b33fe7e0e5804
2021-09-08 23:18:11 +00:00
Vinit Nayak 84511f2997 Call exitSplitScreen() when user leaves split tasks
* Also call it when user swipes to home

Fixes: 198310766
Test: Tested QS'ing split to fullscreen,
full to split, swipe to home from split and fullscreen

Change-Id: I6a465ead7fcd68dc85e0ab401789f4a5c3feb0d1
2021-09-08 13:02:29 -07:00
Hongwei Wang bfec974f59 Do not trigger PiP on tapping on TaskView
Regression from ag/15158868, we should not send onUserLeaveHint on
tapping on the app icon in Recents / Overview.

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/fr0fdecPEned7rMjgdWhCQ
Bug: 198682451
Test: manual, tap on app icon in Recents, see video
Change-Id: I66888a75eec30d7e8ba7e09059399381516812ac
2021-09-03 11:10:05 -07:00
TreeHugger Robot fb0eaf2bee Merge "Animate scrolling grid into place when there is a gap between last tasks and clear all." into sc-v2-dev 2021-09-03 12:23:06 +00:00
Pat Manning 96dad8b039 Animate scrolling grid into place when there is a gap between last tasks
and clear all.

- Stagger animation starts
- Adds a grid translation property to TaskView for animating these
translations.

Also fixes an issue where the gap between clear all and focused task is
greater than spacing between grid tasks and clear all.

Test: manual
Fix: 188793333
Change-Id: Ib2ba8b1b84dc63c4ba186bd0b9b4962d3c66ce5a
2021-09-03 11:33:53 +01:00
Shawn Lin fe2aed97c5 Merge "[DO NOT MERGE] Update QuickStepContract.getWindowCornerRadius API" into sc-v2-dev 2021-09-03 03:57:09 +00:00
Vinit Nayak 6174106f68 Add Split button in OverviewActions
Shows up only for large screen devices, not phones.
Tested for NexusLauncher, general 3P launcher support
needed for staged split (TODO b/195607777)

Bug: 195423591
Change-Id: I4d455769b17637174b590c640516b9fbb6352c3d
2021-08-26 11:49:38 -07:00
TreeHugger Robot 02fe560dc8 Merge "Revert "Move/Launch task on the TaskView's display."" into sc-v2-dev 2021-08-24 07:14:31 +00:00
Jerry Chang 6ca6de89c0 Revert "Move/Launch task on the TaskView's display."
This reverts commit 2cdc359b84.

Reason for revert: this brokes split screen and result to device reboot.
Bug: 197293995

Change-Id: I154287230fa3849cad1c0e337e3bf3fd826257a4
2021-08-24 04:54:49 +00:00
TreeHugger Robot 47fde77687 Merge "Allow clipping individual direction of TaskView" into sc-v2-dev 2021-08-20 19:22:19 +00:00
IRIS YANG 829264a650 Merge "Move/Launch task on the TaskView's display." into sc-v2-dev 2021-08-19 08:58:13 +00:00
shawnlin 4e15fe0726 [DO NOT MERGE] Update QuickStepContract.getWindowCornerRadius API
Update from getWindowCornerRadius(Resources) to
getWindowCornerRadius(Context)

Bug: 131221697
Test: make
Change-Id: Ia5f10e9292e205dab7e69d97dfc82d17690816fb
2021-08-19 15:52:10 +08:00
Tony Wickham ee2e28fae8 Allow clipping individual direction of TaskView
- Only clip the nav bar (taskbar), and always do that in tablets regardless of whether taskbar is stashed, so TaskView always have the same ratio (mocks: https://docs.google.com/presentation/d/1_3zQak_C9FzDPCcIdYagfUit4QyqfdRxetkim3dI9rY/edit#slide=id.ge211eb96a5_5_8)
- When taskbar is present, don't use full thumbnail to avoid TaskView resizing in fullscreen: http://dr/file/d/18C8DSygPBU1gkmMQPPIIa2NqQESFurxW/view?resourcekey=0-8W79f31gstzI_1ZPpHulBQ
- When taskbar is stashed, we still need full thumbnail to gradually crop out the taskbar in overview

Test: Open Chrome, swipe up and ensure status bar inset stays in overview but taskbar stays clipped out from the onset.
Bug: 190681228
Change-Id: I9d563572f2e6800e90d567c2bfae4528a126f24e
2021-08-18 18:09:55 +01:00
Alex Chau 2683bd7728 Merge "Support different task icon margin for grid tasks" into sc-v2-dev 2021-08-18 08:41:42 +00:00
Iris Yang 2cdc359b84 Move/Launch task on the TaskView's display.
Add ActivityOptions#setLaunchDisplayId to the display that the TaskView
is currently on. So the task will be moved to the display as the user is
interactiving with.

Bug: 183461428
Test: Manually tested using Exo. Open appliction(e.g.Calculator) on
Exo virtual display, and tapping on the phone's recents to bring the
application back to phone.
The demo video  https://drive.google.com/file/d/1JMncvsI-VPosK4ql2xeVA8csVAF7Rb16/view?usp=sharing&resourcekey=0-PYRw1k3KdtY0-KZNo6OqjQ

Change-Id: Iaed5aed4d698b71b0d0fc2b78843f4aedd586ecb
2021-08-18 04:34:08 +00:00
Vinit Nayak ca1d523734 Merge "Add GroupedTaskView for gestures in staged split." into sc-v2-dev 2021-08-17 23:26:53 +00:00
Vinit Nayak 17c4b33db6 Add GroupedTaskView for gestures in staged split.
* Currently only works for portrait 50/50 split
* Have gesture swipe animation flow use multiple
TaskViewSimulators, one for each app in split
* Added new APIs in shell to query for actively running
tasks to determine if we're in split screen
* Lots of UI polish needed during gesture
* Launching into staged split after live tile ends
not implemented yet.

Bug: 181704764
Change-Id: Ib90e99e1e10b19121e8709385e1334b9380d6502
2021-08-17 13:46:43 -07:00
Alex Chau eaa6d682d4 Support different task icon margin for grid tasks
- Focused and non focused grid now have differnt margin between icon and snapshot
- The overall margin above snapshot is still the same
- Invoke updateChildTaskOrientations when focus task changes to update the margin
- Also lowered the row spacing according to spec

Bug: 194194694
Test: manual
Change-Id: I25267bef19d5a8b1dc1cf96fc1babdc3ebc39330
2021-08-17 18:33:21 +01:00
Tony Wickham 635e180e56 Extend taskbar color to entire screen in overview
Only when taskbar is unstashed in apps:
- Scrim workspace with the taskbar color when opening apps and in BackgroundAppState
- Crop opening apps to above the taskbar
- Crop TaskViews to above the taskbar during gestures

If taskbar is stashed in apps, behavior is the same as before, i.e. no scrim over the wallpaper and no cropping of tasks.

Added a field DeviceProfile#taskbkarPresentInApps to distinguish these cases. LauncherTaskbarUIController and TaskbarStashController ensure this value is set appropriately.

Test: Ensure tasks don't appear behind taskbar when it's unstashed; set ENABLE_SCRIM_FOR_APP_LAUNCH = true to test the whole screen scrimming when opening an app

Bug: 196257194
Fixes: 190681228
Change-Id: I481501457a5a6d49c380feea3db3b4058e4cf3f8
2021-08-16 16:50:52 -07:00
Tracy Zhou ae0c16dd0c Taskbar should animate immediately when tapping a live tile
Fixes: 194728948
Test: manual
Change-Id: Ia2bf9e4d050367ac08e3308a308f19f04577c49e
2021-08-10 16:30:29 -07:00
Alex Chau be767c9108 Don't call TaskView.onRecycle when moving focused task to front
- onRecycle removes the icon cache resulting on icon disappearing when entering overview
- only call necessary view transform reset in moveFocusedTaskToFront

Bug: 195415765
Test: quick switch, launch app then swipe up
Change-Id: Iadb7287ea307a3a4aa0acce2e37837142aeb90db
2021-08-09 19:06:01 +01:00
Alex Chau ac9df38e9f Make icon drawable for non-focused grid tasks smaller
- Center the icon drawable in center of IconView with and allow a smlaler size to be set

Bug: 194194694
Test: dismiss focus task, swipe from app etc.
Change-Id: I2855249b13e2ccdb45f101bfb7afef4311f7b46f
2021-08-03 17:36:15 +01:00
Vinit Nayak 51a6c92174 Migrate from using taskIDs to taskViewIDs in RecentsView
* Follow up CL coming to introduce a TaskView that
can have multiple Tasks, so a taskID won't be particularly useful
in that scenario.

Bug: 192292305
Test: Manual, w/ and w/o live tile
Change-Id: I1900b999ac51aa99923239f2af400c90c71c3dae
2021-07-30 11:02:26 -07:00
Alex Chau 646f804627 Add overviewShowAsGrid to DeviceProfile
- Simplified a lot of dp.isTablet && FeatureFlags.ENABLE_OVERVIEW_GRID.get() usage

Bug: 194194694
Test: manual
Change-Id: Idfb0ad192048106bbe6f8e2a28fa5613b86e5208
2021-07-26 11:59:34 +01:00
Vinit Nayak f40262a617 End recents animation when entering split select
Allow starting split selection from live tile task.
Animation is still funky, but that's in a separate
CL altogether.

Fixes: 193212975
Test: Repro steps in bug no longer happen
Change-Id: I507628d3ef474936694dfbabfef5e0acf9f55b5d
2021-07-17 17:28:41 -07:00
Pat Manning 8a6179bb7d Scale task rounded corners proportional to TaskView size.
Test: manual
Fix: 183936745
Change-Id: I2e2dd806826cba135d5a1e6ab9a5e80b8994d64d
2021-07-15 15:25:24 +00:00
Ashish Gupta 277eb6fe59 Merge "NIU Actions: Add NIU Actions tooltip" into sc-dev am: 4e74ccb082
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15126744

Change-Id: I603a29767934ac22dc6200c3e63053d6278236d2
2021-07-08 07:42:16 +00:00
kumarashishg 88be649d21 NIU Actions: Add NIU Actions tooltip
These tooltips are added to educate the user about NIU buttons actions. We have added tooltips for Translate and Listen NIU actions buttons.

Bug: 186006700
Test: Manual
Change-Id: Ib076c2a44055b62f2daf06bddf45aca220a28756
2021-07-08 00:48:22 +00:00
Winson Chung da587fb7a6 Merge "Remove unused logs" into sc-dev 2021-07-07 18:02:53 +00:00
Tracy Zhou 26f47c711a [DO NOT MERGE] Make the cutout slightly smaller
Temporary fix for S. Leaving the bug open for a proper fix in T.

Bug: 189265196
Test: https://screenshot.googleplex.com/75fgCva736rqwg5
Change-Id: Ice3b189a41f759e090334e360e44543eabc4836d
2021-07-02 13:35:50 -07:00
Tracy Zhou 1fe5fda3d8 Enable live tile in 3 button mode
- Previously we rely on whether launcher is resumed as a signal to see what "toggle" means. This no longer works since launcher is not resumed in Overview. Instead, we need to check the live tile signals.
- Use screenshot doesn't propagate after setting a new current task. So followed the logic around mRunningTaskIconScaledDown to work it out.
- Get rid of NavigationModeFeatureFlag, pending on 3rd party launcher change ag/14409355

Fixes: 185934639
Test: (1) Toggle overview from home screen and toggle back to fullscreen. (2) Toggle overview from app and keep toggling.

Change-Id: Iffaea18afb2179b5bb7dadda49e56efefa5658bc
Merged-In: Iffaea18afb2179b5bb7dadda49e56efefa5658bc
2021-07-02 05:19:32 +00:00
Tracy Zhou d09ebe660f Enable live tile in 3 button mode
- Previously we rely on whether launcher is resumed as a signal to see what "toggle" means. This no longer works since launcher is not resumed in Overview. Instead, we need to check the live tile signals.
- Use screenshot doesn't propagate after setting a new current task. So followed the logic around mRunningTaskIconScaledDown to work it out.
- Get rid of NavigationModeFeatureFlag, pending on 3rd party launcher change ag/14409355

Fixes: 185934639
Test: (1) Toggle overview from home screen and toggle back to fullscreen. (2) Toggle overview from app and keep toggling.

Change-Id: Iffaea18afb2179b5bb7dadda49e56efefa5658bc
2021-07-01 18:40:56 -07:00
Winson Chung 6a777d84b8 Remove unused logs
Bug: 191698994
Test: Just removing logs
Change-Id: Ia6ae528f1444cbdbe3823657492deeb6c4a3d6ce
Merged-In: Ia6ae528f1444cbdbe3823657492deeb6c4a3d6ce
2021-07-01 17:09:40 +00:00
Winson Chung 8185663b6e Remove unused logs
Bug: 191698994
Test: Just removing logs
Change-Id: Ia6ae528f1444cbdbe3823657492deeb6c4a3d6ce
2021-07-01 04:44:04 +00:00
Tracy Zhou e9e5e51d73 [Live Tile] App surface is above launcher even after reaching Overview
Currently we place app surface below launcher and punch a hole through task view to display live tile in overview. In this change the order will be flipped, with a few benefits not limited to the following. For example, we have a surface view lifecycle bug where the surface view in a live tile app can go blank during app launch transition. This change will significantly mitigate the issue visually as the background wallpaper will not be revealed.

In order to make sure visually everything still looks the same, we will need to finish the recents animation when the user taps on the task view icon, since the menu overlaps with the task snapshort view.

This change also addresses fading out the task view when it's getting dismissed.

Test: manual
Fixes: 186531762
Fixes: 189265196

Change-Id: Ieae67fb89b60136fd81ceb8abde1a0cab8718b27
2021-06-30 17:34:13 +00:00