Skip to content
Snippets Groups Projects
  1. Feb 23, 2024
    • Maryam Dehaini's avatar
      Add hover support to maximize menu · 853a8e3e
      Maryam Dehaini authored
      Open maximize menu when user hovers over maximize window button in
      caption.
      
      Bug: 312748319
      Test: Manual testing
      Change-Id: Ie5bc94c02c5555ea99e6e42f9f6a00c65e348172
      853a8e3e
  2. Feb 22, 2024
    • 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
    • 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
  3. Feb 21, 2024
    • 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
    • Perry Wu's avatar
      [Flicker] Add test for entering PIP with source rect hint · 01ff3b3c
      Perry Wu authored
      Adds flicker test for the CUJ with entering pip with source rect hint.
      This specifically tests with auto enter enabled, but we can probably
      add a separate case for entering manually. The test uses a rectangle
      as the source rect, and there is a jump at the end of the transition
      as the app doesn't update the layout for pip, but this is more of an
      app issue and doesn't affect the test case.
      
      Flags: N/A
      Bug: 284200208
      Test: atest EnterPipWithSourceRectHintTest
      Change-Id: I47ab50f19dc421dc0e0262c7b14f5b37dfb3551e
      01ff3b3c
    • Chris Li's avatar
      Always update the surface crop when moving to front · 353e49bb
      Chris Li authored
      Before, we only update if the bounds is changed. However, it doesn't
      cover the case when the bounds was changed in background during other
      transition.
      
      Now, we always update the crop when it is moving to front.
      
      Bug: 324004650
      Test: manually verify
      Change-Id: I47a1524968c9a72dfa1d281a57916931fe44773f
      353e49bb
    • Orhan Uysal's avatar
      Refactor enterDesktop. · 5fffc31f
      Orhan Uysal authored
      Test: atest DesktopTasksController
      Bug: 318366520
      Change-Id: Ib20c0a0fbcb7b586e117e2e2637449224c95bbce
      5fffc31f
    • Winson Chung's avatar
      Generalize the unhandled drag listener for other global drag callbacks · b4d9b79e
      Winson Chung authored
      - Basically rename unhandled drag listener -> global drag listener
      
      Bug: 320797628
      Test: atest DragDropTests DragDropControllerTests CrossAppDragAndDropTests
      Test: atest WMShellUnitTests
      Change-Id: I96d7f7223852af358d45edbe7b0db135944af2b1
      b4d9b79e
  4. Feb 20, 2024
    • Brian Osman's avatar
      Replace filterColor with filterColor4f · f512df05
      Brian Osman authored
      Although this usage is simple, filterColor is deprecated, so we'd like to move all callers to filterColor4f (which is explicit about color space behavior).
      
      Bug: b/40040795
      Change-Id: I0bf541cbb7ff0282dc76a655d2a7a457c887ddb9
      f512df05
    • Maryam Dehaini's avatar
      Do not respond to long click when using mouse · 488acaca
      Maryam Dehaini authored
      Bug: 326093013
      Test: Long click maximize window button. Maximize menu should not open.
      Change-Id: Ie65ec9ab949d8036c6ed3ba5406457545e3ce89e
      488acaca
    • Hongwei Wang's avatar
      Rename PictureInPictureUiState#isEnteringPip · f48b936c
      Hongwei Wang authored
      Renamed to PictureInPictureUiState#isTransitioningToPip per API review
      feedback.
      
      Flag: ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING
      Bug: 326097236
      Test: atest CtsWindowManagerDeviceActivity:PinnedStackTests
      Change-Id: I5dae2750fbf17468473dd7c685e5213561e18318
      f48b936c
    • Ikram Gabiyev's avatar
      Implement auto-enter PiP2 in gesture nav [1/N] · 1895b133
      Ikram Gabiyev authored
      Implement auto-enter PiP in PiP2 while in gesture
      navigation mode.
      Launcher handles the animation as a part of the first
      TO_FRONT transition (no changes there).
      For now only startSwipePipToHome() and stopSwipePipToHome()
      IPC calls are set up to let launcher start PiP animation.
      The plan is to add the pip animation listener to properly
      update Launcher state in [2/N] CL of this series (similar to pip1).
      
      This is followed by a call to requestStartTransition()
      -> PipTransition#handleRequest() for TRANSIT_PIP type of a transition.
      
      The flow here overlaps with other enter PiP2 flows, as we use
      WindowContainerTransaction#movePipActivityToPinnedRootTask()
      to update the WM state with the new bounds (unlike in PiP1).
      
      Then, we recognize that this is a swipe PiP to Home animation
      in PipTransition#startAnimation() and we carry out a no-op animation
      essentially finishing TRANSIT_PIP. The plan is to continue overlay
      animation here as well in later CLs of this series. So overlay is
      not animating properly for now - hence testing would require non-null
      srcRechHint in PictureInPictureParams.
      
      Bug: 325481148
      Test: swipe auto-enter activity (srcRectHint != null) to PiP
      Change-Id: If171678181b8b9e0006c74fe41cd441ec25a10b4
      1895b133
    • Ats Jenk's avatar
      Expanded view handle should be the size of the dots · dcf9b9d7
      Ats Jenk authored
      Handle was using the width of the expanded view. Which meant the entire
      width was clickable and draggable.
      Reduce the size of the handle to the dots and some padding aronud it.
      
      Bug: 283991264
      Test: manual, tap on area close to the edge of bubble expanded view
      Change-Id: Ib36e024ba1cd9dbd0ed31ce1c294f0ad9cf77359
      dcf9b9d7
    • Johannes Gallmann's avatar
      Use STANDARD_DECELERATE interpolator for predictive back system animations · aaa42d45
      Johannes Gallmann authored
      Bug: 325647546
      Flag: ACONFIG com.android.systemui.predictive_back_system_animations TEAMFOOD
      Test: Manual, i.e. verifying increased responsiveness during first phase of back gesture
      Change-Id: Ibbbd295788d58535d77269dc8f4a7e78a73ccc35
      aaa42d45
    • Johannes Gallmann's avatar
      Fix animation jumps in predictive back system animations · 7fb070ba
      Johannes Gallmann authored
      Bug: 326039797
      Flag: ACONFIG com.android.systemui.predictive_back_system_animations TEAMFOOD
      Test: Manual, i.e. verifying that animation progress doesn't jump cut during predictive back gestures
      Change-Id: Ia50410a7af55cdfb987d039cc45e656cb20a889e
      7fb070ba
  5. Feb 19, 2024
    • Graciela Wissen Putri's avatar
      Hide aspect ratio button when not visibly letterboxed · 3ffe3995
      Graciela Wissen Putri authored
      In some close to square displays, status bar and cutout have been
      decoupled from the configuration. Only navigation bar/taskbar insets are
      considered in resolving fixed orientation configurations.
      
      With taskbar insets, the aspect ratio of the containingAppBounds in
      these displays can be <= activity aspect ratio, even if the orientation
      is not respected with insets e.g. portrait app in portrait display
      (which is landscape with taskbar insets). Don't letterbox the activity
      in this case if the resulting fixed orientation bounds still matches the
      parent bounds.
      
      Don't show the aspect ratio button if the letterboxed activity is only
      minimally letterboxed (activity bounds are more or equal to stable
      bounds).
      
      Bug: 319088395
      Test: atest SizeCompatTests
            atest UserAspectRatioSettingsWindowManagerTest
      Change-Id: I972945ced8f346304899413487d432edc0e8ee83
      3ffe3995
  6. Feb 17, 2024
    • Mady Mellor's avatar
      Fix an issue where insets were double subtracted when sizing taskview · 97ae017e
      Mady Mellor authored
      getExpandedViewContainerPadding already accounts for the insets when
      calculating the padding around the bubble expanded view.
      
      mPositionRect is the rect that accounts for the insets, so when
      using it in combo with getExpandedViewContainerPadding, we'd subtract
      any insets twice. mScreenRect does not account for the insets, so
      we should use that here instead.
      
      Test: m CtsVerifier and ran through bubble test cases
      Test: atest BubblePositionerTest
      Test: manual - look at expanded bubbles in portrait / landscape on
                     folded / unfolded device (with and without insets),
                     and on large screen tablet.
      Bug: 318308404
      Bug: 322430409
      Change-Id: Id96e0564321d9ba1ed554a2ca6050adf09021ba2
      97ae017e
  7. Feb 16, 2024
  8. Feb 15, 2024
    • Mateusz Cicheński's avatar
      Make PiP reentry state to use scale instead of size · 1e3222e8
      Mateusz Cicheński authored
      Beforehand the state was using fixed size, which could be below minimum
      size for a given screen size, e.g. after you fold/unfold the device.
      
      This change makes it so that the bounds scale is used instead of size,
      which makes the PiP size always align with PiP Size Spec after reentry.
      
      Bug: 316249837
      Test: before http://recall/-/ekEuGtt9d9HWqkUtAzpHx8/fiQwpwJW7bnFUeuop8olCB
      Test: after http://recall/-/ekEuGtt9d9HWqkUtAzpHx8/gVg5R7FmwHU5xrxplIHsGH
      Flag: none
      
      Change-Id: I9962a40ccf5e96ab544f580740f5d2870ea8121d
      1e3222e8
    • Winson Chung's avatar
      Extract multi-instance checks into separate helper · 578f4ebc
      Winson Chung authored
      - This allows existing logic for determining whether a component can be
        launched into multi-instance to be used in by other features that need
        to launch tasks as well
      
      Bug: 320797628
      Test: atest WMShellUnitTests
      Change-Id: I7b640ad9f09e02ff0397c7d6eb30c1ff36087c5d
      578f4ebc
    • Ikram Gabiyev's avatar
      Move IPip and IPipAnimationListener to common · 8c428a5a
      Ikram Gabiyev authored
      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.
      
      Bug: 325481148
      Test: mp droid
      Change-Id: I671c57eab0b56e87db672ba9e10d8af33c6707d3
      8c428a5a
    • mattsziklay's avatar
      Change split drag zones to split snap. · 9b6652d8
      mattsziklay authored
      Changes the drag transition on the left/right sides of the screen from
      changing into splitscreen windowing to remaining in desktop with split
      snap bounds.
      
      Also refactors VeiledResizeTaskPositioner to do two things:
      
      1: Consolidate mVeilIsVisible and mIsResizingOrAnimatingResize as these
         were being used identically.
      2: Check resizing status before calling hideResizeVeil; hide being
         called on drag end would prevent the veil from showing during the
         split snap animation.
      
      Bug: 280828642
      Bug: 317286772
      Test: Manual
      Change-Id: I61b8da0d2abcf698d8d0ff4c9b5ec7bcce256bbf
      9b6652d8
    • Jerome Gaillard's avatar
      Add OWNERS file for libhostgraphics code · 7a95a26f
      Jerome Gaillard authored
      This library is used to provide customization of Android graphics code
      for building on host. This adds as owners the owners of HWUI as it is
      the most closely related library, plus the maintainers of layoutlib
      (which is the reason for libhostgraphics existence).
      
      Bug: 322360037
      Test: N/A
      Change-Id: Ic163a0164e4d1da3d7cb1853fb69821b35d3d08e
      7a95a26f
  9. Feb 14, 2024
    • Jon Miranda's avatar
      Notify home is visible when returning to a translucent app. · 7cf54caa
      Jon Miranda authored
      Bug: 314792981
      Flag: ACONFIG ENABLE_HOME_TRANSITION_LISTENER TEAMFOOD
      Test: HomeObserverTest
      Change-Id: I6c38ad92a59a32a17112b829462d9e85ddb625cb
      7cf54caa
    • Ikram Gabiyev's avatar
      System Perf Hints in PiP · 6bb0ca6f
      Ikram Gabiyev authored
      Use system perf hints during PiP
      interactions to avoid animations at low refresh rates.
      
      The latest patchset introduces a new wrapper around
      HighPerfSession to make session management safer and easier
      for PiP component.
      
      Namely, we introduce the following two helper classes:
      
       - PipPerfHintController:
      
      	A wrapper around SystemPerfHintController to start sessions
      	with an interface allowing registering optional timeouts with
      	timeout callbacks.
      
      	This should act as a safeguard, especially for complex interactions.
      	For now this safeguard is only used for logging as a preventative
      	measure against introducing any regressions to avoid
      	"high performance hint starvation".
      
       - PipPerfHintController.PipHighPerfSession:
      
      	A wrapper around HighPerfSession that helps keep track of
      	active sessions present.
      	PipHighPerfSession also makes sure necessary updates are made
      	to cleanup if the session is either closed directly or
      	if it is garbage collected.
      
      	For example, if the session client loses all strong references
      	to the session returned by PipPerfHintController#startSession(),
      	the GC reclaims the memory, and we close the session internally.
      	Moreover, an internal WeakHashMap is updated to avoid calling
      	timeout callback if one was registered
      	(these callbacks pass in a reference to the session,
      	in case a client uses multiple).
      
      As a side note, manual testing has shown so far that all PiP transition
      animations are by default at maximum refresh rate of 120Hz; hence, this CL only
      addresses non-Transitions related PiP CUJs, like double taps,
      pinch-to-resize, drags, stashes and unstashes.
      
      Bug: 304564014
      Test: manually testing CUJs listed above
      
      Change-Id: I5da7f4dad0d2934be4c44ea37e8027ad83506894
      6bb0ca6f
    • Jorge Betancourt's avatar
      add clipShader API to android.graphics.Canvas · 3700b100
      Jorge Betancourt authored
      Test: atest CtsUiRenderingTestCases:android.uirendering.cts.testclasses.ShaderClippingTests
      Bug: 280116960
      
      Change-Id: Ic78c4b2ca01e6af9e5af757aa64e15e248cadcf8
      3700b100
    • Ats Jenk's avatar
      Flag for enabling omni when bubbles are expanded · f18e5c28
      Ats Jenk authored
      Allows long-press on navbar handle when bubbles are expanded.
      
      Bug: 324910035
      Test: m com_android_wm_shell_flags_lib
      Change-Id: I3da780bd395c075adbc5848b8704a5a5c75f3046
      f18e5c28
    • Bill Yi's avatar
      Import translations. DO NOT MERGE ANYWHERE · 91f3e4ea
      Bill Yi authored
      Auto-generated-cl: translation import
      Change-Id: Ie49b716b40b1480709db25de472738cea040e1ef
      91f3e4ea
  10. Feb 13, 2024
Loading