Commit Graph

10481 Commits

Author SHA1 Message Date
Sunny Goyal 05dc6db762 Merge "Fix launcher holds a surfaceController" into main am: 4b48398352 am: 507cccdb17 am: cb1fc471bb
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/2891611

Change-Id: Ib1b0eae5c1664f202312109da2391a250607108b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-03 17:59:03 +00:00
Sunny Goyal cb1fc471bb Merge "Fix launcher holds a surfaceController" into main am: 4b48398352 am: 507cccdb17
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/2891611

Change-Id: I5a9c74659439b1dd04e124f9191796bc348d97f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-03 17:25:19 +00:00
Jagrut Desai 39e4b611b5 Merge "Refactor TaskbarDividerPopup Open/close animation" into main 2024-01-03 17:00:52 +00:00
Sergey Pinkevich 638ee17821 Select task is broken on display large size
The update of the focus task overlay should be at last, cause otherwise the first time the "Select" button doesn't work - the text is not highlighted.

Also, we need to update pivot of the selected task only if there is a grid overview enabled. Otherwise the bug is still reproducible on Felix.

Bug: 305125147
Flag: NONE
Test: Manual (both on Tangor and Felix in Portrait/Landscape mode with small/medium/large Display size)
Change-Id: Id928cee0949b9124aeb27cc8210a53993e72ba19
2024-01-03 14:44:12 +00:00
Riddle Hsu 78611ea4ca Merge "Reduce redundant IPC when switching app by navigation bar" into main 2024-01-03 06:30:44 +00:00
Tracy Zhou 9742e603b5 Merge "Adjust the layout of nav buttons in 3 button mode with task bar / nav bar unification" into main 2024-01-03 00:12:56 +00:00
Jagrut Desai 25cb918a37 Refactor TaskbarDividerPopup Open/close animation
Test: Manual
Bug: 315848479
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED
Change-Id: I3c43bd718cef24ec334f7f4884167ecb2ce0cfd5
2024-01-02 15:25:42 -08:00
Tracy Zhou 5ad10ff6f6 Adjust the layout of nav buttons in 3 button mode with task bar / nav bar unification
In nav bar, we assign layout weight 0.25:0.5:1(for home but the content width of home is set to 80dp):0.5:0.25 with a LinearLayout. Since we use a FrameLayout for taskbar (to support both folded and unfolded task bar), in this change we are matching the layout by manually calculating the width of each section (since we are already manipulating like so in different layoutters)

Bug: 230395757
Test: https://screenshot.googleplex.com/3P6vDrgb6geqTUm
Change-Id: I6ba201477621f173e42c5211fcc68b24e3022122
2024-01-02 14:34:51 -08:00
Hyunyoung Song 0c2204dcbe Merge "Fixing UserHandle for AppTarget Event from Launcher." into main 2024-01-02 18:22:18 +00:00
Yunfan Chen 2c385bec7b Merge "Do not recreate taskbar due to unestimated bounds" into main 2023-12-28 11:09:16 +00:00
Riddle Hsu 894c17c87b Reduce redundant IPC when switching app by navigation bar
In SplitScreenController#onStartingSplitLegacy, it also ignores:
if (ENABLE_SHELL_TRANSITIONS) return null;

This avoids a latency from the 2-way IPC in
RecentsAnimationListener#onTasksAppeared.

Bug: 275508603
Test: Capture trace when switching app by quickstep.

Change-Id: Ia11cbca0d38cdc2bfd676dfa3d59a5c8931a2d6e
2023-12-22 20:14:31 +08:00
chuanghua.zhao 5a6161d928 Fix launcher holds a surfaceController
When the dark night mode switch is triggered,systemui calls binder
to the onNavigationBarSurface method in the launcher and applies the
surfaceController.
Keep switching,you will keep applying,resulting in more surface
objects. The behaviour would cause that SurfaceFlinger couldn't
remove the unnecessary navigationbar layers timely and the
navigationbar layer would leak in SF.

Actively release the SC after using the SC in the launcher.

Bug: 317336417
Test: 1.Launch the settings app
      2.Click Display menu
      3.click the dark theme menu multiple times
      4.Check whether the surfaceController is released
      adb shell "ls -l/proc/904/fd|wc -l"

Change-Id: Ic449de9dbe0c52e0053be91e67ee9081a574581b
2023-12-22 13:04:41 +08:00
Tony Wickham 2ad9d442a4 Merge "Update live tile during dismiss anim even if disabled at start" into main 2023-12-21 22:58:02 +00:00
Liran Binyamin 0d09a45e40 Merge "Handle recreate_taskbar in QuickstepTestInformationHandler" into main 2023-12-21 15:40:03 +00:00
Johannes Gallmann 5714801784 Merge "Fix statusbar appearance during predictive back to home by fling" into main 2023-12-21 08:05:21 +00:00
Johannes Gallmann ccff1b84ea Merge "Fix NullPointerException in LauncherBackAnimationController" into main 2023-12-21 08:04:42 +00:00
Jeremy Sim 227d3b79f3 Merge "Ignore taskbar launch request if app(s) are already running" into main 2023-12-21 07:00:27 +00:00
Yunfan Chen f00adbeb68 Do not recreate taskbar due to unestimated bounds
The change around configuration and display cutout to support flexible
display setup is making the received display info is not calculated as
the hard-coded way in taskbar. It will cause the taskbar recreated when
the device reaches a given rotation for the first time.

The recreation is not necessary as it is only a hint of taskbar's
estimation doesn't match the result. Block the recreation in that case
to avoid user visible animation issue.

Bug: 302387383
Test: Rotate a device with movable cutout and no recreation happens
Flag: ACONFIG com.android.window.flags.allows_screen_size_decoupled_from_status_bar_and_cutout TRUNKFOOD
Flag: ACONFIG com.android.window.flags.movable_cutout_configuration DEVELOPMENT
Change-Id: I1aa6add57ec49a49cc7473bfaada6d9212c1fc4b
2023-12-21 14:35:20 +09:00
Jeremy Sim 9a7b6f972b Ignore taskbar launch request if app(s) are already running
This CL fixes several issues:
- When launching an app pair on top of the exact same app pair, Overview no longer enters a broken state
- When launching another app quickly after launching an app pair, splitscreen no longer breaks

Fixes: 315190686
Test: Launch app pair and then launch same app pair again from Taskbar -- Overview does not break
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Change-Id: I0d474dd89359e1a10a881c5cf8deee64754219c3
2023-12-21 10:13:20 +09:00
Shamali Patwa 716f982d44 Merge "Add long click listener to the widget picker activity" into main 2023-12-20 22:39:57 +00:00
Brian Isganitis 4227a72c94 Merge "Have meta key toggle Taskbar All Apps in freeform mode." into main 2023-12-20 21:00:01 +00:00
Pat Manning d842f5e573 Merge "Hide taskbar icons for IME when virtual keyboard is present." into main 2023-12-20 20:11:43 +00:00
Tony Wickham bd29dde623 Update live tile during dismiss anim even if disabled at start
Before we only checked if live tile drawing was enabled at the
start of the dismiss animation, and didn't add the frame callback
listener at all if not. Now we always add the frame callback
listener when dismissing the running task, and check if live tile
drawing is enabled within the listener in case there is a race.

Fixes: 312261719
Test: Swipe up to Overview from an app, immediately swipe up to
dismiss the app; ensure it always follows your finger
Flag: None

Change-Id: Ia12b02d5989c09d2104edd202f8c016f202f76b8
2023-12-20 19:58:28 +00:00
Brian Isganitis 588b78e174 Have meta key toggle Taskbar All Apps in freeform mode.
Test: Manual
Fix: 315245851
Flag: NA
Change-Id: Ie72f2f48ed21e85fc3b3f707cfd91023ebe79a7c
2023-12-20 19:42:19 +00:00
Pat Manning 559434af5a Hide taskbar icons for IME when virtual keyboard is present.
Unless hardware keyboard is attached and taskbar is pinned.

Fix: 316270741
Bug: 255818649
Test: Manual. Using combinations of transient taskbar, virtual and hardware keyboards.
Flag: NONE
Change-Id: I1fae1655fc16b9fa951510cf834d2a33cb8956d8
2023-12-20 18:55:09 +00:00
Johannes Gallmann 9d446d1842 Fix statusbar appearance during predictive back to home by fling
Bug: 317218355
Flag: ACONFIG com.android.window.flags.predictive_back_system_animations DISABLED
Test: Manual, i.e. verifying statusbar appearance during back to home
Change-Id: I158d4d26bd262337eb3dd09e56c1999935e9788b
2023-12-20 17:37:02 +01:00
Schneider Victor-tulias a7519cd0c6 Merge "Focus the first task in KQS when it is not currently running" into main 2023-12-20 14:58:18 +00:00
Shamali P 790d599d2a Add long click listener to the widget picker activity
The listener allows us to drag and drop widgets outside the launcher.

Bug: 315209740
Test: atest Launcher3Tests
Flag: NA

Change-Id: Iafc6e8903ea4f32540df30152b35d9eb7e98c6d6
2023-12-20 14:30:44 +00:00
Johannes Gallmann 87e2c86829 Fix NullPointerException in LauncherBackAnimationController
Bug: 316663312
Flag: NONE
Test: Manual, i.e. verifying that this change does not introduce any unexpected regressions
Change-Id: I749f3944d5fd71e525ce31ff720dd86f1a84277e
2023-12-20 15:03:04 +01:00
Pat Manning 3e55896814 Merge "Do not process stashed taskbar hover actions when taskbar is not present." into main 2023-12-19 20:14:07 +00:00
Liran Binyamin beb70140f4 Handle recreate_taskbar in QuickstepTestInformationHandler
Currently only tests that use DebugQuickstepTestInformationHandle
are able to recreate the taskbar.

This change allows recreating the taskbar in system UI TAPL tests.

Bug: 273994695
Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.bubble.BubbleBarTest
Flag: NA
Change-Id: Id97d26c0aa77db23cd9031f47cf8dd3f79e6a158
2023-12-19 15:05:11 -05:00
Tony Wickham 054d953a0d Merge "Log app launches via taskbar drag and drop" into main 2023-12-19 16:17:21 +00:00
Schneider Victor-tulias 4044669a90 Focus the first task in KQS when it is not currently running
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 316004088
Test: TaplTestsKeyboardQuickSwitch
Change-Id: I8a91ca0dd32c6fc2352d285934a2c4f79ba1bb13
2023-12-19 10:48:40 -05:00
Himanshu Gupta ce2b013d31 Merge "Adding methods to access LauncherApps APIs." into main 2023-12-19 11:27:09 +00:00
Jeremy Sim fb7f7c5a6f Merge "Use fade-in launcher for app pair launches from in-app taskbar" into main 2023-12-19 06:20:55 +00:00
Jeremy Sim c2b598434c Use fade-in launcher for app pair launches from in-app taskbar
This CL temporarily patches a crash in this situation:

Inside of an app > Launch an unrelated app pair from Taskbar > Crash

The crash occurs because TaskbarActivityContext can't create a launcher animation (because Launcher isn't running). A different launch animation is needed for this case (similar to single apps), but for now, falling back to the fade-in launch at least allows the user to proceed without a crash.

Bug: 316485863
Test: Enter an app, launch an unrelated app pair, no crash
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Change-Id: I72b2956b5b44616367e24263f2287824ee1e8212
2023-12-19 11:27:04 +09:00
Jeremy Sim 34aa1c5366 Merge "Fixes two bugs with findLastActiveTasksAndRunCallback()" into main 2023-12-19 02:08:54 +00:00
Tony Wickham 1a8cf0a9f6 Log app launches via taskbar drag and drop
- This also goes through the app predictions pipeline to update
  hotseat predictions

Fixes: 316940471
Test: Drag apps to split screen, ensure taskbar predictions update
      (also verify by logging AppPredictor#notifyAppTargetEvent)
Flag: None
Change-Id: I844414ecb56b4e36a2c94d913c1fb37abf056593
2023-12-18 23:30:59 +00:00
Himanshu Gupta 6c25654e84 Adding methods to access LauncherApps APIs.
These methods are added to ApiWrapper class
so that Launcher can acess these APIs.

Bug: 308054233
Test: Presubmit
Flag: ACONFIG com.android.launcher3.Flags.private_space_sys_apps_separation DEVELOPMENT
Change-Id: Ic2e64b38cc8b0d262d3f6e9614e2b3fceb9d82a0
2023-12-18 19:47:13 +00:00
Charlie Anderson 511421c12f Adds logging for Launcher restore metrics in Launcher and LoaderTask
- Adds flag for indicating when we are loading after a restore, separate from the pending restore flag
- Adds many success/failure scenario metrics when loading and binding items

Flag: ACONFIG enable_launcher_br_metrics DEVELOPMENT
Test: locally verified
Bug: 307527314
Change-Id: I9d2660f6d9d7cd5813072201e96b1a64aec4ea4b
2023-12-18 19:32:02 +00:00
Himanshu Gupta 314afce4f9 Fixing UserHandle for AppTarget Event from Launcher.
Currently, every non-foreground user AppTarget Event
is assigned the first userhandle present in the list
of UserProfiles cached with Launcher.
This causes issues when more than one profile is
present, as then appevents from either profiles are
indistinguishable.
This chane fixes that, based upon the recent fixes to
make Launcher and ItemInfo user profile aware.

Bug: 314124511
Test: Manual by clicking diff app targets
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space TEAMFOOD
Change-Id: I188c828eeeff9b617ddf9a75bccea9b9ab38e506
2023-12-18 19:10:23 +00:00
Greg Kaiser 486c96be87 Merge "Revert "App Pairs: Implement Overview Actions View button"" into main 2023-12-18 15:15:59 +00:00
Greg Kaiser 45ba84268c Revert "App Pairs: Implement Overview Actions View button"
Revert submission 25143701-app-pairs-action-button

Reason for revert: Causes P0 b/315292030

Reverted changes: /q/submissionid:25143701-app-pairs-action-button

Change-Id: I1fcbb9f333ca29c5db255232dc9475dec465ac81
2023-12-18 14:53:19 +00:00
Liran Binyamin ca516b0249 Merge "Make BubbleBarView initially hidden" into main 2023-12-18 14:23:57 +00:00
Jeremy Sim 789414190f Merge "App Pairs: Implement Overview Actions View button" into main 2023-12-18 05:07:36 +00:00
Jeremy Sim 42a44d7984 Fixes two bugs with findLastActiveTasksAndRunCallback()
This CL changes findLastActiveTasksAndRunCallback to return a fixed array rather than an ArrayList.

1) This fixes a (minor) crash with app pairs, where we performed get(0) on an empty array when no running tasks were found.
2) This also fixes a live bug where app pairs would launch apps in the wrong order if app 1 was not found in running tasks, but app 2 was.

The function should be more robust now, preserving the indexing of the input keys.

Fixes: 316053131
Test: Clear all tasks from Overview, launch an app pair, launch succeeds
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Change-Id: I51d8ba823a2ec57e9ecfeede956e0afce1d653f4
2023-12-18 11:39:33 +09:00
Jeremy Sim e1fcb5390b App Pairs: Implement Overview Actions View button
[App Pairs 6/?]

This patch includes:
- Ability to "save app pair" from Overview Actions
- The actions bar is not longer hidden for GroupedTasks; instead the individual buttons for "Select", "Screenshot", and "Split screen" are toggled off and "Save app pair" is toggled on.

Note: This patch introduces a slight regression (b/315545418) where users are now able to long-press to select text on task 1 of a paired GroupedTaskView (previously we did not let them select text on either task for consistency.) Will follow up with a fix -- see bug for details.

Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Bug: 315545418
Bug: 315292030
Test: Manual, all action buttons still work and "Save app pair" appears and disappears correctly
Change-Id: I0eb1fa9520ba14074ede3480e771b340cf2f6e2c
2023-12-18 02:25:22 +00:00
William Leshner c43435c063 Merge "Handle widget taps in WidgetPickerActivity." into main 2023-12-15 23:20:23 +00:00
Liran Binyamin 447ddf0b63 Make BubbleBarView initially hidden
The BubbleBarView visibility is updated as part of the initial state change.
This CL fixes the issue where switching from floating bubbles to bubble bar
ends up in a state where both the handle and the bar are visible.

Note: once the initial TAPL tests land I will add a test for mode switching

Flag: LEGACY persist.wm.debug.bubble_bar DISABLED
Fixes: 316356971
Test: Manual
      - Add bubble in floating mode
      - Switch to bubble bar
      - Observe that the bubble bar is not visible (only the handle is)
Change-Id: Ib8fc76f90dbf1fee83e594b7f28eed00f1589ae1
2023-12-15 15:49:37 -05:00
Pat Manning ea2a13a03a Do not process stashed taskbar hover actions when taskbar is not present.
Fix: 306745595
Test: Manual.
Flag: ACONFIG com.android.launcher3.enable_cursor_hover_states NEXTFOOD.

Change-Id: I419e4dcbea6f615b0bf9521fb34c9c5df65df8ef
2023-12-15 18:11:05 +00:00