Skip to content
Snippets Groups Projects
  1. Feb 22, 2024
    • 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
    • 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
  2. Feb 21, 2024
    • 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
  3. 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
    • 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
  4. 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
  5. 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
  6. Feb 16, 2024
  7. 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
  8. 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
  9. Feb 13, 2024
    • Michael Hoisie's avatar
      Revert^2 "[res] Don't recalculate configuration twice on init" · 7b43333a
      Michael Hoisie authored
      This reverts commit d38bd518.
      
      Reason for revert: Forward fix
      
      
      Bug: 282215580
      Bug: 324939476
      
      Change-Id: Ia919e3a7e7188900e4e98c82d3b3f295fb51ca39
      7b43333a
    • Mady Mellor's avatar
      Support left & right clipping for BubbleExpandedView · a6e431e9
      Mady Mellor authored
      Currently we only allow clipping for the top and bottom of
      the expanded view. This CL enables clipping for left and right
      sides of the view as well.
      
      This is code is currently unused, but will be used for the new
      expanded view animations (which will be initiated behind a flag).
      
      Test: treehugger
      Bug: 311450609
      Change-Id: I7b00f1352d4de2031e6b744bff8c4a00d594cc01
      a6e431e9
    • Hongwei Wang's avatar
      Implement enable_pip_ui_state_callback_on_entering · 6fbb81d6
      Hongwei Wang authored
      - It's sent from PipTransitionController when we start and finish the
        animation
      - Removed the restriction that onPictureInPictureUiStateChanged can only
        be sent to a pinned task, since this entering PiP callback would be
        received when the task is still in full-screen
      
      Note that there is no isExitingPip API being added here since
      - apps normally do not restore overlays such as video controls when
        exiting from PiP
      - if apps do want to restore the overlays, it maybe preferred to do that
        in onPictureInPictureModeChanged(isInPictureInPictureMode=false)
        callback rather than the beginning of exit PiP animation
      
      Bug: 303718131
      Video: http://recall/-/aaaaaabFQoRHlzixHdtY/dXf5BdzkfR4i2ZNdTLJSaD
      Video: http://recall/-/aaaaaabFQoRHlzixHdtY/ho9HTL5X7mneQoJMiHCBYY
      Flag: ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING
      Test: manually, see videos
      Test: atest PinnedStackTests
      Change-Id: I3137b9c1505443efb633d086fbf6ceee477a4b73
      6fbb81d6
    • Hongwei Wang's avatar
      Deprecate pip-to-split function · b56e8f2e
      Hongwei Wang authored
      This function never goes to production and we have concluded that
      app should exit to full-screen mode when it leaves PiP.
      
      Bug: 323420632
      Flag: N/A
      Test: atest PinnedStackTests
      Test: m -j SystemUIGoogle ArcSystemUI
      Change-Id: I49a9f0d57bf57673cbf1b0ad1ee45ffa96cfabfd
      b56e8f2e
    • Liran Binyamin's avatar
      Migrate WM Shell test to new Test Ownership Model · 9ded80b0
      Liran Binyamin authored
      Bug: 304529413
      Test: N/A
      Change-Id: I165b805fbf1df069fd55e8032ddf31274dcbab71
      9ded80b0
    • Orhan Uysal's avatar
      Remove moveToDesktopWithoutDecor. · 806bcfa2
      Orhan Uysal authored
      Since ag/26154333 we no longer need decor to move to desktop by default.
      
      Test: adb shell dumpsys activity service SystemUIService WMShell
          desktopmode moveToDesktop <taskId> moves task to desktop
      Bug: 325041803
      Change-Id: I1aae38d422dba9745c6dd5815e8bab667fc458aa
      806bcfa2
    • Ats Jenk's avatar
      Update expanded view "drag to dismiss" animation · 07a19bf7
      Ats Jenk authored
      Updates the scale amount and animation duration based on motion spec.
      
      Adds new animation for updating rounded corners while expanded view is
      being dragged.
      
      Bug: 283991264
      Test: manual, open a bubble with bubble bar, drag it to dismiss target
      Change-Id: Ic8821c8f6be91691d33532f8b0b3d1cab4d5c213
      07a19bf7
Loading