Skip to content
Snippets Groups Projects
  1. Feb 29, 2024
  2. Feb 28, 2024
    • Jorge Gil's avatar
      Allow input to fall through custom caption region · ed08abec
      Jorge Gil authored
      Make the caption window in Desktop Mode a spy window when the
      transparent caption flag is requested. Then, when MotionEvents on the
      caption bar, issue cancellations if the gesture did not start within the
      bounds of the customizable space and the gesture exclusion bounds
      reported by the window.
      This allows input to fall through uncancelled to customizable app
      content as long as they've placed it in non-occluding caption regions
      and they requested to take over input in that region. Otherwise, the
      system will handle the events as a caption gesture (drag, double-tap,
      etc).
      
      Other window decoration types (app handle, non-desktop freeform caption)
      do not support this feature, so their caption window is not spy.
      
      Bug: 316387515
      Test: atest WMShellUnitTests
      Change-Id: Ibb966a15fa3befe1f1dec802e448a973671ac645
      ed08abec
    • Winson Chung's avatar
      Add supplemental split protologs · 77bc00c3
      Winson Chung authored
      
      - This gives slightly more detailed info about what's happening
        w/ split
      
      Bug: 280494204
      Test: Presubmit
      Change-Id: I5bf1f478946522e4844010715287e71cb2cbec2d
      Signed-off-by: default avatarWinson Chung <winsonc@google.com>
      77bc00c3
    • Pablo Gamito's avatar
      Update Perfetto Protolog flag name · 0203775a
      Pablo Gamito authored
      Needed to create a new flag because we can't set flag to readonly once created
      
      Bug: 276432490
      Test: mp droid
      Change-Id: I45598a8e91d8959fd957dc23af20c7817ebc31fe
      0203775a
    • Orhan Uysal's avatar
      Create a shortcut desktop to fullscreen. · 12f4ebd5
      Orhan Uysal authored
      Create necessary hooks for desktop to fullscreen keyboard shortcut.
      Since both desktop to fullscreen and split to fullscreen will be using
      the same keyboard shortcut combine both on the StatusBarManager side as
      moveFocusedTasktoFullscreen.
      
      Test: atest DesktopTasksController
      Test: Manually trigger the shortcut to move from desktop to fullscreen
      Test: Manually trigger the shortcut to move from split to fullscreen
      Bug: 326061209
      Flag: ACONFIG com.android.wm.shell.enable_desktop_windowing DEVELOPMENT
      Change-Id: Ic5f8af23f55e30c971c115a20960f7336beb8629
      12f4ebd5
    • Winson Chung's avatar
      Support launching an intent based drag into split · fec78497
      Winson Chung authored
      - Extend support for launching intent drags into splitscreen in
        addition to crafted app drags sourced from SystemUI
      - Unlike app drag drags which are consumed for the whole display,
        intent drags only invoke split from the side edges of the screen,
        so we need to manipulate the touchable region of the shell drop
        target based on the drag data in the current drag session
      
      This reverts commit 41dc803ab1e79305304b3ad67e0ef8e35c33332e.
      Bug: 320797628
      Test: atest WMShellUnitTests
      Test: https://recall.googleplex.com/projects/e3f080d7-2818-43f0-a087-405000b8fdf5/sessions/e88a0470-6850-43a0-abfa-3366b7c7c6a4
      
      Change-Id: I3c0946ae06ae03c21c189c1df1dba3d47db77eb9
      fec78497
    • Surajit Chandra's avatar
      Revert "Support launching an intent based drag into split" · 8f92d8e0
      Surajit Chandra authored
      This reverts commit 89848002.
      
      Reason for revert: Test revert b/327296571
      
      Change-Id: I9c0dd0c333cb4b3f67d27aa78cd0d02d61af79b7
      8f92d8e0
  3. Feb 27, 2024
    • Mateusz Cicheński's avatar
      For fixed rotation test assert that PiP is within screen bounds · d95d801a
      Mateusz Cicheński authored
      This is done by asserting on the center point of the PiP window, since
      in the fixed rotation case the full PiP bounds can temporarily go
      outside of screen bounds, as it is resizing from landscape fullscreen
      to final PiP size.
      
      The transition also involves rotating the display, which is why we have
      to first assert against starting bounds in landscape, and then check
      against the portrait bounds at the end of the transition. At that point
      we are asserting full PiP bounds though, as it is expected to be fully
      inside the display bounds.
      
      Test: atest EnterPipToOtherOrientation
      Bug: 275092905
      Flag: none
      
      Change-Id: I87f42c9c96e5a01c8aff44c6c44a06fb9d29c2de
      d95d801a
    • mattsziklay's avatar
      Change input handling to allow button ripples. · e0d0c020
      mattsziklay authored
      The desktop mode touch handler would consume ACTION_DOWN input events
      if they occur in app pill / maximize / close buttons, preventing them
      from displaying ripple effects. This CL changes the touch handler and
      buttons themselves to prevent these events from being consumed while
      leaving other functionality (double tap, drag, long press) in tact.
      
      Because there are less input events being consumed, this CL removes
      variables mShouldClick and shouldLongClick as we can now allow the
      listener itself to determine these events.
      
      Bug: 316194617
      Test: Manual
      Change-Id: I07a80d7952bfcc7e01d18449282e4339b0fcd6bb
      e0d0c020
    • Winson Chung's avatar
      Support launching an intent based drag into split · 89848002
      Winson Chung authored
      - Extend support for launching intent drags into splitscreen in
        addition to crafted app drags sourced from SystemUI
      - Unlike app drag drags which are consumed for the whole display,
        intent drags only invoke split from the side edges of the screen,
        so we need to manipulate the touchable region of the shell drop
        target based on the drag data in the current drag session
      
      Bug: 320797628
      Test: atest WMShellUnitTests
      Test: https://recall.googleplex.com/projects/e3f080d7-2818-43f0-a087-405000b8fdf5/sessions/e88a0470-6850-43a0-abfa-3366b7c7c6a4
      
      Change-Id: I04ddf3b463b446d2c688abed44e75fbd7f2110e1
      89848002
    • Eghosa Ewansiha-Vlachavas's avatar
      [1/n] Remove use of `persist.wm.debug.desktop_mode_2` · 2676b932
      Eghosa Ewansiha-Vlachavas authored
      `persist.wm.debug.desktop_mode_2` is no longer needed as desktop
      windowing now uses a runtime flag which can be modified using the
      command: `adb shell device_config put lse_desktop_experience
      com.android.window.flags.enable_desktop_windowing_mode (true/false)`.
      
      Flag: NONE
      Fixes: 326060855
      Bug: 304778354
      Test: build & `adb shell device_config put lse_desktop_experience
      com.android.window.flags.enable_desktop_windowing_mode true && adb
      reboot` desktop windowing mode should be enabled.
      
      Change-Id: Ie7d6fd30aab211ab080561fddaad5f3044d6f0f5
      2676b932
    • Eghosa Ewansiha-Vlachavas's avatar
      [1/n] Replace read-only desktop windowing flag with runtime flag · 17130a37
      Eghosa Ewansiha-Vlachavas authored
      Replace use of `enable_desktop_windowing` flag with
      `enable_desktop_windowing_mode` flag.
      
      Bug: 304778354
      Fixes: 326060018
      Test: build & `adb shell device_config put lse_desktop_experience
      com.android.window.flags.enable_desktop_windowing_mode true && adb
      reboot` desktop windowing mode should be enabled.
      
      Change-Id: I45c1ad6dc3b476af83725ec6c53e9b83199ec1bb
      17130a37
    • Todd Lee's avatar
      Ensure that rounded corner radius applies on activity launches · 2f5394a7
      Todd Lee authored
      For devices with round screens (e.g. watches), the rounded corner
      radius should *always* apply regardless of whether the open
      transition involves a task or not.
      
      Test: manually check open settings activities on watch
            atest FrameworksCoreTests:RoundedCornersTest
      Bug: b/323109476
      
      Change-Id: Ie632a8226183e9261806e97f154ab3daed193033
      2f5394a7
  4. Feb 26, 2024
    • Vinit Nayak's avatar
      Clear recents entry when task no longer supports multiWindow · 688a322b
      Vinit Nayak authored
      * Most app support multi-window in folded mode, camera does not.
      Maybe that's why this went under the radar
      
      Test: Repro steps don't occur from bug
      Fixes: 323461567
      Change-Id: I0fd6f47c42a9d58e07b3fa38f314d9cce4a9ba38
      688a322b
    • Diego Vela's avatar
      Report folds in SupportedWindowFeatures. · 4bc4a9cd
      Diego Vela authored
      Report folds in SupportedWindowFeatures.
      Add utility test method to check if device supports half opened mode.
      
      Bug: 293340299
      Test: atest CtsWindowManagerJetpackTestCases
      Change-Id: I76ae0db0af2e7982149959f946641d4b9473d18e
      4bc4a9cd
    • Prabir Pradhan's avatar
      Read pointer choreographer flag at boot · 453e1631
      Prabir Pradhan authored
      In native code, we are sometimes reading the
      enable_pointer_choreographer flag value at boot, and sometimes later
      during runtime. Since DeviceConfig flag values can change at runtime,
      the flag values loaded later can sometimes change, resulting in an
      unexpected state where some code relies on the boot-time value and
      others on the "current" value.
      
      While we should have been using read-only flags in the first place, we
      cannot convert existing flags to be read-only. So to increase
      consistency within native code, change all reads of the
      enable_pointer_choreographer flag to happen at boot.
      
      Bug: 324534774
      Test: Presubmit
      Change-Id: Id31496d987e2647fc1176dbdbba67bd6e4443aa1
      453e1631
    • Jorge Betancourt's avatar
      enable hardware drawing for clipShader · 67f119c7
      Jorge Betancourt authored
      Test: atest CtsUiRenderingTestCases:android.uirendering.cts.testclasses.ShaderClippingTests
      Bug:280116960
      
      Change-Id: I84b81c89f67fa48895a3106ca9bac7cb9286f4fc
      67f119c7
    • Sanatt Abrol's avatar
      Add DesktopModeEventLogger which logs session events · 38bbd06e
      Sanatt Abrol authored
      Bug: b/320439743
      Change-Id: I2649c63460a25d7c3d4632bbfb1dafef4540f791
      38bbd06e
    • Nataniel Borges's avatar
      Unify common into parser and flicker · 889f7b99
      Nataniel Borges authored
      Since winscope no longer uses flicker code, we don't need to compile
      all the code to JS. This means we can reuse the standard Android
      objects and simplify the code
      
      This CL updates the import path removing the distinction between common
      and device subpackages
      
      Bug: 311642700
      Test: atest FlickerLibTest FlickerLibUtilTests FlickerLibE2eTest
      Change-Id: I99adee33658007d696d60cfff575e87e6419cf8d
      889f7b99
    • Charles Chen's avatar
      Migrate IBinder to Token · ac4887ef
      Charles Chen authored
      Test: atest WMJetpackUnitTests
      Bug: 322056156
      
      Change-Id: Ic6cfd9bddbfd8f3afeb643734c0f5daca0ea568d
      ac4887ef
    • Chris Li's avatar
      Add ActivityWindowInfo into LaunchActivityItem · f26047b7
      Chris Li authored
      Bug: 287582673
      Test: atest FrameworksCoreTests:ObjectPoolTests
      Test: atest FrameworksCoreTests:TransactionParcelTests
      Change-Id: I96b9fcd7334842b9ba717c49362e84f6c76a1aeb
      f26047b7
  5. Feb 23, 2024
  6. Feb 22, 2024
    • Eghosa Ewansiha-Vlachavas's avatar
      Modify desktop windowing initial bounds · b8cc5006
      Eghosa Ewansiha-Vlachavas authored
      Introduce dynamic bounds calculation for the desktop windowing intial
      bounds which adjust to taskbar mode.
      
      Fixes: 325028848
      Fixes: 326224980
      Test: atest WmTests:DesktopModeLaunchParamsModifierTests,
      WMShellUnitTests:DesktopTasksControllerTest,
      WMShellUnitTests:DesktopModeWindowDecorViewModelTests
      
      Change-Id: Ic303853a05ae7e77c60dbc3941819434cfced075
      b8cc5006
    • Winson Chung's avatar
      Fix issue with display cutout being incorrectly rotated · 165c02b8
      Winson Chung authored
      - Use the existing display cutout method to rotate the cutout correctly
        so that splitscreen can calculate the correct snap target positions
      
      Fixes: 325317088
      Test: atest WMShellUnitTests
      Test: Manual, on a device with a hole punch camera, rotate while in
            split
      Change-Id: I681d01d137e12e3dbb83f28188b9635ea70ca14e
      165c02b8
    • Shan Huang's avatar
      Fix OnBackStarted being dispatched before the pointer is pilfered · 0d26dfb7
      Shan Huang authored
      Test: atest OnBackInvokedCallbackGestureTest
      Test: atest BackAnimationControllerTest
      Bug: 320838835
      
      Change-Id: I5a8546e50079b22a348e53b03055ec364b120bf2
      0d26dfb7
    • Mateusz Cicheński's avatar
      Add PiP overlay reference to the dump · 32b7f5e4
      Mateusz Cicheński authored
      Bug: 316967533
      Change-Id: I763b9464529352fc5131d506cd0888eb3c047f82
      Test: n/a, debugging logs
      Flag: none
      32b7f5e4
    • Jerome Gaillard's avatar
      Implement RenderThread for host · 87ef5240
      Jerome Gaillard authored
      This creates a host implementation of RenderThread in libhwui.
      In order to do this, it also implements ThreadBase, ReadBack,
      CacheManager. Most of those implementations are no-op.
      
      Bug: 322360037
      Test: build libandroid_runtime on host
      Change-Id: If72f46fe9baa645ff95330b971a102c2db554bb6
      87ef5240
    • Pablo Gamito's avatar
      Delete unused ShellProtoLogImpl · 8f634643
      Pablo Gamito authored
      We now generate this file directly and have no use for it. It is no longer used.
      
      Bug: 276432490
      Test: atest FrameworksServicesTests
      Change-Id: I504be5a70256592e7439db1362593f916fb96f7f
      8f634643
    • Pablo Gamito's avatar
      Update uses of ProtoLog · a788a977
      Pablo Gamito authored
      Flag: ACONFIG android.tracing.Flags.perfettoProtolog DEVELOPMENT
      Bug: 276432490
      Test: atest FrameworksServicesTests
      Change-Id: I92926a44baaeea3971e46c0901898c90b6c98adb
      a788a977
    • Pablo Gamito's avatar
      Update ProtoLog build rules · 5fe2c80e
      Pablo Gamito authored
      ProtoLogTool now has additional parameters to support Perfetto tracing. We also need to generate and include a proto version of the viewer configuration.
      
      Flag: ACONFIG android.tracing.Flags.perfettoProtolog DEVELOPMENT
      Test: mp droid && atest FrameworksServicesTests
      Bug: 276432490
      Change-Id: I26929eed96faae04bec65ae5eaf86afda75cb83c
      5fe2c80e
    • Tyler Freeman's avatar
      fix(high contrast text): fix highlight/selection is obscured by high contrast... · eca25fbc
      Tyler Freeman authored
      fix(high contrast text): fix highlight/selection is obscured by high contrast text background rectangle
      
      Since high contrast text draws a solid rectangle background behind the
      text, it covers up the highlights and selections. In this case we draw
      over the top of the text with a blend mode that ensures the text stays
      high-contrast.
      
      Fix: 323964406
      Bug: 186567103
      Flag: ACONFIG com.android.graphics.hwui.flags.high_contrast_text_small_text_rect TEAMFOOD
      Test: atest core/tests/coretests/src/android/text/LayoutTest.java
      Test: manual
      1. adb shell setenforce 0 && adb shell setprop persist.device_config.aconfig_flags.accessibility.com.android.graphics.hwui.flags.high_contrast_text_small_text_rect true && adb shell stop && adb shell start
      2. Settings -> Accessibility -> Display Size and Text
      3. Turn on High Contrast Text
      4. Select some text. The selection should be visible
      
      Change-Id: I3ea2835f2a8bdfaf646f140f3290837535080a5c
      eca25fbc
    • Winson Chung's avatar
      Add basic implementation of starting an intent on an unhandled drag · accc7f1d
      Winson Chung authored
      - Expose drags through DragAndDropController, DesktopModeController will
        listen for unhandled drag events and consume it to start the associated
        task
      
      Bug: 320797628
      Test: atest WMShellUnitTests
      Change-Id: I9d114f58a3224299f3ccb060543533b6fbf4c9ff
      accc7f1d
  7. Feb 21, 2024
    • Ats Jenk's avatar
      Fix flicker when dismissing last bubble in bubble bar · a2413a86
      Ats Jenk authored
      Fixes a flicker in dismiss animation for bubble expanded view when it is
      the last bubble in the bubble bar.
      Delay removing bubble bar layer view from window manager until the
      dismiss animation completes.
      
      Bug: 283991264
      Test: manual, have 1 bubble expanded with bubble bar, drag it to dismiss
          view, check there are no visual flickers in the remove animation
      Test: manual, check in web-hv that BubbleBarLayerView is removed when:
          - drag collapsed bubble bar to dismiss target
          - expand bubble, drag bubble to dismiss target
          - expand bubble, drag expanded view to dismiss target
      Change-Id: I29495672c7587d61e4bd2dd717ed5fe83136e366
      a2413a86
    • Richard MacGregor's avatar
      Don't show bubble flyout during screenshare · bb65b02c
      Richard MacGregor authored
      Disables bubble flyout while screen sharing.
      
      Bug: 316955349
      Flag: ACONFIG android.permission.flags.sensitive_notification_app_protection TEAMFOOD
      Test: atest BubblesTest
      Change-Id: I5e9ac3d6587b7b85963d3fec1e2eabbffe7dff9a
      bb65b02c
    • Winson Chung's avatar
      Bring the task forward when it consumes a cross-window global drag · 47c91b21
      Winson Chung authored
      - Send a notification when a successful cross-window drag occurs over a
        task so that we can bring it forward
      
      Bug: 320797628
      Test: atest DragDropTest DragDropControllerTests CrossAppDragAndDropTests
      Test: atest WMShellUnitTests
      Change-Id: Id2d2258a1e71b6dbc9a57e2f58ef43825cfc18c7
      47c91b21
    • mattsziklay's avatar
      Implement new drag zone indicator regions. · 236bda4b
      mattsziklay authored
      Updates the drag zone indicators to Regions based on the task's pre-drag
      windowing mode. Drag zone targets for freeform tasks have been updated
      while other windowing modes remain the same.
      
      Also, changes the coordinates fetched in handleCaptionThroughStatusBar
      to raw x/y coordinates. This is due to each split stage having its own
      coordinate space. Split left/right indicators from a drag from
      splitscreen would not work properly otherwise.
      
      Note these are visually inaccurate; transitions will be tied to these
      regions in a future CL.
      
      Bug: 280828642
      Test: Manual
      Change-Id: Ia58aae83e22d1576ef71172ce78323c0ae538b80
      236bda4b
    • Ats Jenk's avatar
      Log true when there are removed bubbles · a3621c57
      Ats Jenk authored
      Bubble controller includes logging for bubble data updates. Log statement
      includes info whether the updates contains removed bubbles.
      Update the logic to log true when there are removed bubbles and false, if not.
      
      Bug: 323591549
      Change-Id: I3714b3db3c13fa0c1c90cca5b3d2103f1f10f4af
      Test: manual
      a3621c57
Loading