Commit Graph

11086 Commits

Author SHA1 Message Date
Ikram Gabiyev f32c27f773 Move IPip and IPipAnimationListener to common
Move IPip.aidl and IPipAnimationListener.aidl to common.pip
package as a part of PiP2 refactoring.

Make sure users of these Binder interfaces in Launcher
also reference the updated classname and package.

The plan is to use these interfaces to implement
PiP2 <-> Launcher IPC to facilitate transitions and animations
for gesture nav and auto-enter PiP for instance.

Note: this CL shouldn't yield any behavioral changes.

Flag: NA
Bug: 325481148
Test: mp droid
Change-Id: I065334f6777cd1489c739d95abf0fab8285860ed
2024-02-15 11:17:36 -08:00
Schneider Victor-tulias 5c6263afc5 Fix alt-tab initial focus in overview on phones
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 325057678
Test: used alt+tab on a phone from home and from an app
Change-Id: I98388fea448fd1932d767c420e232d1451e0bbfe
2024-02-15 18:07:54 +00:00
Jon Miranda 4a9a67816d Prevent taskbar reset animation from playing when gesture is in progress.
This fixes the bug that appears when you launch an app and immediately
swipe up on taskbar.

Fixes: 278617335
Test: launch app, immediately swipe up on taskbar
Flag: NONE
Change-Id: I56eddfae9c81b1ef827622cf0f13ffd26fadd5c3
2024-02-15 18:04:17 +00:00
bvineeth d2379d11c7 Add CUJ-LAUNCHER_OPEN_ALL_APPS instrumentation from taskbar
Added instrumentation when allapps is opened by button click in the
taskbar. Starting the slice in the onClickListener of the allApps button
and ending it on the end of the animation.

Test: checked the trace
Fixes: b/270128563
Flag: None
Change-Id: I492a4a7af81e0c40dc3d7d415ffc7b16c057b25d
2024-02-15 12:28:47 +00:00
Alex Chau a841753785 Update color of Overview ShareTarget scrim
Fix: 323091847
Flag: None
Test: manual
Change-Id: I234aea721eaa81e42551899c6692ea0e9df468cc
2024-02-15 12:14:42 +00:00
Sunny Goyal 772e0127c3 Merge "Cleaning up some no-op calls during workspace binding" into main 2024-02-15 01:56:02 +00:00
Andy Wickham 1abc0a7f66 Merge "Extract TaskbarViewCallbacks to a separate class + factory." into main 2024-02-14 23:15:55 +00:00
Sunny Goyal e337a80ef2 Cleaning up some no-op calls during workspace binding
Bug: 318539160
Flag: None
Test: Manual
Change-Id: Ida21d849a06ed9c0ebf5671214dd9ee8525288d3
2024-02-14 15:10:54 -08:00
Ats Jenk 32664125af Create bubbles input consumer before nav bar long press
NavHandleLongPressInputConsumer handles long presses on the nav handle
and passes the touches on to a delegate if the touch is not a long
press.
When bubbles are expanded, we create a new input consumer that does
nothing and allows bubble input consumer in shell to take over.
Change the order how the input consumers are created. Create the bubbles
input consumer first, so it can be passed in as a delegate to the
nav handle input consumer. And this avoids bubbles overriding the nav
handle behavior.

Flag: ACONFIG com.android.wm.shell.enable_bubbles_long_press_nav_handle DISABLED
Bug: 324910035
Test: manual, expand a bubble, long press on home button for CtS
Change-Id: I05c219145c096a567bb0bb5a9cb3a40046b29519
2024-02-14 11:25:16 -08:00
Schneider Victor-tulias 33ce1cf67c Merge "Remove KQS touch handling outside its bounds" into main 2024-02-14 18:11:52 +00:00
Saumya Prakash 3acd0708ab Merge "Add insets for taskbar when a camera cutout interrupts it" into main 2024-02-14 17:45:30 +00:00
Alex Chau 76502e84f2 Merge "Refactored StateManager logs" into main 2024-02-14 17:40:08 +00:00
Schneider Victor-tulias e724cb8e5f Remove KQS touch handling outside its bounds
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 324906627
Fixes: 324893557
Test: opened KQS and tapped outside the bounds with taskbar present/absent
Change-Id: I10de9a1ea1ccca7321981fd5e9e66e9388a8dd0a
2024-02-14 10:42:01 -05:00
Schneider Victor-tulias 6e32385838 Merge "Show scrim immediately when animating to overview from app through KQS" into main 2024-02-14 15:21:35 +00:00
Tracy Zhou 64cdbf5c77 Merge "Do not add jank monitor for stash state change when the drag layer is not attached to the window" into main 2024-02-14 03:08:01 +00:00
Andy Wickham 0ae51bcdb9 Extract TaskbarViewCallbacks to a separate class + factory.
Also log long presses on the taskbar all apps button.

Test: Manual
Flag: NA
Change-Id: Id2bf194f09007bfccff9f83162e4bcfb6562580f
2024-02-13 18:51:48 -08:00
Vinit Nayak 5a9d4af170 Log split metrics through individual sessions
* Now we log the original source of the first selected app
as soon as the user selects it (previously we only did when user
selected second app)
* We log the item info for the second app to determine second
surface.
* Added new metrics to log after user has started a split session
and ended a split session
* We log different cancellation reasons (cancel button,
home gesture, general other app interruptions, etc).
* One KI/Bug: When the second app is selected via taskbar in
overview, the container will say hotseat because we are using
Launcher's logger and not Taskbar's. Taskbar's logger manually
overwrites the container in TaskbarActivityContext, we may be
able to make something hacky that can allow us to overwrite, but
that'll have to be a separate change

Bug: 322551862
Test: Logged metrics manually with event and itemInfo
Change-Id: I177623fd00ce62acf2d4ee983b58561d8c946d59
2024-02-13 17:55:08 -08:00
Schneider Victor-tulias bd5ffee884 Show scrim immediately when animating to overview from app through KQS
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 324888882
Test: opened overview from app/home with finger swipe/KQS/overview button
Change-Id: Ia4a15f5a64956ec56fc9aae3511173219616245e
2024-02-13 19:00:04 -05:00
Saumya Prakash bb3af5d904 Add insets for taskbar when a camera cutout interrupts it
Certain devices have camera cutouts that taskbar's insets did not account for previously. This change adds in the cutout's height as a bottom inset (if it is present) to avoid a black bar being drawn in the taskbar area.

Fix: 322954760
Test: Open a full screen app on a large screen device and ensure that a black bar doesn't show up when rotating the screen to 90 degrees and 180 degrees.
Flag: N/A
Change-Id: I876274b561c7f0101554654ce758fc9c08180de7
2024-02-13 23:00:21 +00:00
Saumya Prakash e1c6312800 Merge "Update back gesture tutorial strings to align with UX" into main 2024-02-13 22:48:17 +00:00
Tracy Zhou 91546d401d Do not add jank monitor for stash state change when the drag layer is not attached to the window
An alternative here is to use the root layer when NO_RECREATE flag is on. However, we do not have a reference to it here (shall we consider passing it in?)

Fixes: 325096498
Test: Need to verify
Change-Id: I1709bc88753a90547f7a61dc6e24cdaf489d19e0
2024-02-13 20:57:16 +00:00
Mady Mellor 9a1fb27508 Merge "Follow changes for MagneticTarget.Listener to pass the dragged object" into main 2024-02-13 17:47:30 +00:00
Alex Chau 4e6e1555c4 Refactored StateManager logs
- Make the log permanaent behind a DEBUG flag
- Logs are currently enabled with b/279059025 marked as the related bug

Bug: 279059025
Flag: None
Test: Manual
Change-Id: I60a75d73d40d00e7d42292f3d42cc9dd8c9b0825
2024-02-13 15:35:15 +00:00
Jordan Silva 3a42f0e0eb Merge "Log split button visibility to debug spacing issue" into main 2024-02-13 11:44:11 +00:00
Tracy Zhou 92f9d10cea Merge "Hide task bar when folding before the new config renders the correct task bar" into main 2024-02-13 03:52:03 +00:00
Tracy Zhou dfb334f1e1 Hide task bar when folding before the new config renders the correct task bar
Currently on folding, onConfigurationChange doesn't return about 0.5sec after the small screen turns on. The old bar is visible on the new screen before a visual jump from rendering the new bar.

While the ideal solution is to figure out what causes the delay, we can mitigate the visual jump by dimming the old bar when folded listener returns folded

Test: repeatedly fold and unfold, observe that there is no glare task bar change in task bar area after folding
Bug: 291562764
Change-Id: Ic6834d2d3b7df01a8ef841dde601cdb6a3e481b0
2024-02-12 17:06:04 -08:00
Saumya Prakash 96ce6873dd Update back gesture tutorial strings to align with UX
This change updates the feedback shown to users to align with the
strings in figma for the back gesture tutorial.

Fix: 300919987
Test: Went through both the redesigned and previous gesture tutorial and
ensured the updated strings show up in the redesigned tutorial.
Flag: LEGACY ENABLE_NEW_GESTURE_NAV_TUTORIAL ENABLED

Change-Id: I057af6e8631b86ffaec8093ffbfbeae01c9d917c
2024-02-13 00:35:37 +00:00
Brandon Dayauon 5faed49eaf Merge "Fix color contrast in All Apps text by setting the color to onSurfaceVariant" into main 2024-02-12 23:15:05 +00:00
Schneider Victor-tulias 11e19c139b Merge "Add debug logs to MotionPauseDetector" into main 2024-02-12 22:28:28 +00:00
Schneider Victor-tulias 49bdc5d7ea Add debug logs to MotionPauseDetector
Flag: NONE
Bug: 321123090
Test: checked TIS logs
Change-Id: If389226c60b5115fcf90e76733383c74ceb7fbcd
2024-02-12 15:09:34 -05:00
Tony Wickham e5451b10e4 Merge "Add CUJ annotations for going to Recents from Home" into main 2024-02-12 19:13:11 +00:00
William Leshner 2d30ff33e0 Merge "Add widget category filter to WidgetPickerActivity." into main 2024-02-12 17:30:46 +00:00
Brandon Dayauon 5787a2710c Add home settings toggle featureflag for enablingTwoLineText
- Have shouldUseTwoLine() be decided with the home settings toggle value

bug:316027081
spec: https://www.figma.com/file/uMzPkNMZpb7EyfHDo8usIa/V-%E2%80%A2-Toast-Butter?type=design&node-id=405-384593&mode=design&t=UBkdeuNlAdRh2FGU-0
Test:
Video: https://drive.google.com/file/d/15VUhNVro2fiwv3SzMda1StiPb3PV1eMT/view?usp=sharing
before searchPreferenceScreen: https://screenshot.googleplex.com/3uqdMsZoGSBYb6c
after searchPreferenceScreen: https://drive.google.com/file/d/15dswiHRTnafyhgQA_tL2tRc7vHFWdHbZ/view?usp=sharing
before homeSettingsPage: https://screenshot.googleplex.com/7wsNevxGun2KCCB
after homeSettingsPage: https://drive.google.com/file/d/15m5bjEyewlNHI_h26aygHa7zrgZ5qDF6/view?usp=sharing
AppListSettingsPage: https://drive.google.com/file/d/15hl4ScHBOLgKv3M38HtatMxQw85pgl7t/view?usp=sharing
Flag: enableTwolineToggle DEVELOPMENT

Change-Id: I3ad133dd51dcb97e14ccded730e7737c5049261a
2024-02-12 09:24:48 -08:00
Jordan Silva 2d55c9c679 Log split button visibility to debug spacing issue
Bug: 321291049
Flag: N/A
Test: N/A
Change-Id: Id998be1c8337dfc3617893726dcb5d96fb6a35b8
2024-02-12 16:46:43 +00:00
Alex Chau 8cb873d8fb Merge "Use bigger task size in app to overview carousel" into main 2024-02-12 16:17:30 +00:00
Alex Chau beb3053f3b Use bigger task size in app to overview carousel
- Introduced carouselTaskSize that represent size of TaskView in app to overview carousel, that is bigger than size of TaskView in Overview state
- Use nonGridScale and translation to scale TaskView to the desired carousel size
- For current task, inroduced carouselScale and translation to apply similar transformation at the carousel. They will be reset in `onPrepareGestureEndAnimation` after gesture is released and form the grid. Carousel translation can be invalidated and aniamte to 0.
- Fixed current task left/right wiggle that is caused by task shrinks and translate in different direction. Pivot is now moved to top right (or top left for RTL), to align with movement of current task.
- To compensate for the pivot change, current task is translated back to the carousel position by taskTranslation, and again translated by carouselTranslation for carousel -> fullScreen scaling. A complex interpolator is introduced to make current task moves in a vertical straight line rather than a curve.
- Fixed a bug in AnimatorControllerWithResistance when scaleStartResist==scaleMaxResist that causes division by 0. For grid overview, resistance kicks in after reaching carousel size, and current task size won't reduce further
- Added PendingAnimation#addAnimatedFloat that uses animator provided by AnimatedFloat, so the animator can be canceled and reaniamte from AnimatedFloat side; AnimatedFloat now clears the property values during cancel so the canceled animator still referenced by PendingAnimation can no longer change the values

Fix: 318352235
Fix: 308643507
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Test: presubmit
Change-Id: I2872d8b2204798fe5e05c10d08480a81e60bb498
2024-02-12 12:06:05 +00:00
Jordan Silva 9d9276810e Merge "IconAppChipView wrong position after rotation with menu opened" into main 2024-02-12 11:02:42 +00:00
Vineeth Bhende e2c72c0178 Merge "Add HOME_TO_APP tag to CUJ_TASKBAR_EXPAND/COLLAPSE" into main 2024-02-12 04:03:58 +00:00
Will Leshner afe715a64b Add widget category filter to WidgetPickerActivity.
The category filter can be added to the intent used to show the widget
picker activity.

Bug: 314804170
Test: manually
Flag: NA
Change-Id: I1c2006e23fb5cf076166f7c376298527e47d2e9e
2024-02-11 15:31:00 -08:00
Sunny Goyal b999979bbb Merge "Creating GestureExclusionManager for a single place to listen for gesture exclusion region changes" into main 2024-02-10 08:17:50 +00:00
Tony Wickham 1a895f05c5 Add CUJ annotations for going to Recents from Home
Bug: 321756829
Flag: none
Test: switchToOverview, e.g. TaplTestsQuickstep
Test: Manually check traces for:
  - Home to quick switch to Overview
  - Home to quick switch to app
  - Home to Overview
  - Home to Overview to Home (one gesture)
Change-Id: I7e09957202b844d5db49f6c8545f864e7ace3522
2024-02-10 00:31:41 +00:00
Jon @ e322086de7 Merge "Clean up launcher state when ENABLE_HOME_TRANSITION_LISTENER is enabled." into main 2024-02-09 21:30:20 +00:00
Jordan Silva 3fc2298a45 IconAppChipView wrong position after rotation with menu opened
The chip menu was updated to a wrong position when the chip menu was visible and the display orientation changed. An animation to hide the TaskMenuView was happening during the rotation. The animation started before the rotation with wrong positions associated to it, thus, updating the position of the IconAppChipView with wrong X and Y position.

Fix: 320633351
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Flag: ACONFIG com.android.launcher3.enable_overview_icon_menu TEAMFOOD
Test: TaplTestsSplitscreen.testAppChipIsPositionedCorrectlyAfterRotation
Change-Id: Id19ce02f09fa5ff50c6caeab02286d548a520c94
2024-02-09 18:02:15 +00:00
Jon Miranda 3c9de6841c Clean up launcher state when ENABLE_HOME_TRANSITION_LISTENER is enabled.
This prevents taskbar showing up on home screen. We already did this clean
up when the flag is off, so now we're matching parity. Investigation for
root cause is still on-going but for now this will fix the issue for
TEAMFOODers.

Bug: 279514548
Test: See bug for repo steps
Flag: N/A
Change-Id: I9a0c3b56f48b2c7c43e303978699124146c8b61b
2024-02-09 08:43:31 -08:00
Uwais Ashraf c2f73d9091 Merge "App chip refactor" into main 2024-02-09 13:43:03 +00:00
Uwais Ashraf 99fdf7a75e App chip refactor
- Adds background outline replacing 2 circles + rect approach. This
enables easier shadow drawing code.
- Simplify structure of AppChipView.
- Adds an anchor View to simplify laying out of menu around app chip

Bug: 313644427
Bug: 317007147
Fix: 322760765
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Flag: ACONFIG com.android.launcher3.enable_overview_icon_menu TEAMFOOD
Test: OverviewImageTest
Change-Id: I56c2644779863c083ae475a740a84321b1d0c396
2024-02-09 12:09:42 +00:00
Jeremy Sim b9c2a1b735 Merge "Fix app pairs launch from in-app Taskbar" into main 2024-02-09 08:10:11 +00:00
Jeremy Sim cf9132e07c Fix app pairs launch from in-app Taskbar
This CL adds a handler function in SplitAnimationController that manages the complicated logic flow for launching an app pair when already inside of an app.

To give an idea of the complicated logic:
If the user tapped on an app pair while already in an app pair, there are 4 general cases:
  a) Clicked app pair A|B, but both apps are already running on screen
  b) App A is already on-screen, but App B isn't
  c) App B is on-screen, but App A isn't
  d) Neither is on-screen

If the user tapped an app pair while inside a single app, there are 3 cases:
   a) The on-screen app is App A of the app pair
   b) The on-screen app is App B of the app pair
   c) It is neither

For each case, we call a different animation and launch the app pair in a different way.

When merged, this patch will fix all animation glitches that are currently happening in these situations, and get us 90% of the way to having the ideal animation in all cases. There are still a few complicated cases that need a polished animation (like when you launch app pairs with custom ratios), which will be implemented in a following patch soon (I thought this CL was big enough already as is).

Bug: 316485863
Fixes: 315190686
Test: Manual testing of all the different launch combinations
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I5c0e03512bb706360c575d833cac6ed02a5de936
2024-02-09 13:41:29 +08:00
Sunny Goyal ab67e938db Creating GestureExclusionManager for a single place to listen
for gesture exclusion region changes

Bug: 273828110
Test: atest GestureExclusionManagerTest
Flag: None
Change-Id: Ida257b47d4f34b247af0f25310d589b89f790e65
2024-02-08 18:31:35 -08:00
Jon @ 356401e663 Merge "Ensures that we end back to home animation on the last animation frame." into main 2024-02-09 00:43:41 +00:00