Skip to content
Snippets Groups Projects
  1. Jun 04, 2024
    • Jorge Gil's avatar
      Use material3's dynamic color schemes in App Header · d45c35d3
      Jorge Gil authored
      Uses dynamicLightColorScheme and dynamicDarkColorScheme based on the
      app's theme to style the header. This allows the App Header to use
      light/dark variants of color tokens even if the app theme and system
      theme are not aligned, whereas before, "inverse" tokens (resolved with
      the system context) had to be used for apps not following the system
      theme, which are much more limited than non-inverse tokens.
      
      Bug: 328668781
      Test: App Header of light app on dark system theme and viceversa
      always follows the app theme and focus / unfocused headers are
      differentiated
      
      Change-Id: I9321726551a54c3ac1b1bf3fe12b2ee29dc7a5be
      d45c35d3
    • Ivan Tkachenko's avatar
      Revert "Set desktop wallpaper activity `avoid move to front`" · b3b5b102
      Ivan Tkachenko authored
      This reverts commit 7789ce9d.
      
      Reason for revert: It breaks desktop wallpaper activity presentation as WMCore doesn't add desktop wallpaper activity as no-op
      
      Change-Id: I247cdb8f50a019fb16dddb86fbf11a2b44e790af
      b3b5b102
    • Alina Zaidi's avatar
      Create and attach additional Transition types to enter/exit transitions · fe70f5fe
      Alina Zaidi authored
      This is so that different Enter/Exit logging reasons can be differentiated by the DestopModeLoggerTransitionObserver.
      
      Create a TransitionSource enum which is shared with Launcher. Methods read TransitionSource passed to them and decide on which transitionType to choose when starting transitions.
      
      **CUJ -> TransitionType -> Enter/ExitReason**
      
      **Earlier**
      Enter: Handle button -> MOVE_TO_DESKTOP -> APP_HANDLE_MENU_BUTTON
      Enter: App icon(overview) -> MOVE_TO_DESKTOP -> APP_HANDLE_MENU_BUTTON
      Enter: Keyboard shortcut -> MOVE_TO_DESKTOP -> APP_HANDLE_MENU_BUTTON
      Exit: Drag to exit -> EXIT -> DRAG_TO_EXIT
      Exit: Handle button -> EXIT -> DRAG_TO_EXIT
      Exit: Keyboard shortcut -> EXIT -> DRAG_TO_EXIT
      
      **Now**
      Enter: Handle button -> APP_HANDLE_MENU_BUTTON -> APP_HANDLE_MENU_BUTTON
      Enter: App icon(overview) ->APP_ICON_FROM_OVERVIEW->UNKOWN (fix later)
      Enter: Keyboard shortcut -> KEYBOARD_SHORTCUT -> KEYBOARD_SHORTCUT
      Enter: Adb Commands -> ADB_COMMANDS -> UNKNOWN (debugging CUJ only)
      Exit: Drag to exit -> EXIT -> DRAG_TO_EXIT
      Exit: Handle button -> APP_HANDLE_MENU_BUTTON-> APP_HANDLE_MENU_BUTTON
      Exit: Keyboard shortcut -> KEYBOARD_SHORTCUT -> KEYBOARD_SHORTCUT
      
      Flag: EXEMPT not a major feature/ user visible change
      Test: Updated unit tests
      Bug: b/326231756
      
      Change-Id: I9cce7abe62106cd6b11a4f353c288214ea5ee1e7
      fe70f5fe
    • Felix Stern's avatar
      Refactor show/hide IME process · d87895b9
      Felix Stern authored
      Changing the process of how the IME is shown or hidden:
      - Showing or hiding the IME is driven through its requested visibility (InsetsControlTarget) via InsetsController/DisplayImeController and thus sent to the server (InsetsStateController).
      - When hiding the IME, the requestedVisibleTypes are sent after the end of the animation.
      - Introduced new OnImeRequestedChangedListener that is called via WindowManagerService that is called to start the show/hide IME flow in IMMS.
      - When the IME becomes (un)available, its leash is (re)set.
      - Show/Hide requests from InputMethodManager are redirected through InsetsController.
      
      Test: atest CtsInputMethodTestCases
      Flag: android.view.inputmethod.Flags.refactorInsetsController
      Bug: 298172246
      Change-Id: I8e3a74ee579f085cb582040fdba725e7a63d6b85
      d87895b9
    • Alina Zaidi's avatar
      Format DesktopTaskControllerTest with kfmt · 50ac5189
      Alina Zaidi authored
      Test: Just Refactoring
      Flag: Just Refactoring
      Bug: b/326231756
      Change-Id: I24bf81b063aad5891510fc702a8c5e8261c2d881
      50ac5189
    • Ivan Tkachenko's avatar
      Set desktop wallpaper activity `avoid move to front` · 7789ce9d
      Ivan Tkachenko authored
      * Launching Desktop wallpaper activity alongside other apps would reset their `mCurrentLaunchCanTurnScreenOn` flag.
      * Launch options flag added to prevent desktop wallpaper activity stack from moving to front
      
      More info: go/pending-intent-resets-turn-screen-on-flag
      
      Bug: 343450217
      Test: atest CtsWindowManagerDeviceActivity:ActivityVisibilityTests
      Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_wallpaper_activity DEVELOPMENT
      Change-Id: I2044185bb259eab5606bd22f86858ad5e708d01b
      7789ce9d
    • Charles Chen's avatar
      Move AnimationOptions to Change · 32814954
      Charles Chen authored
      There are several reasons for this requests:
      1. Fix "Dim flicker on package installer"
      2. Implement overlay transition by animation resources override
      3. Activity Embedding Animation Customization
      
      Test: atest TransitionTests ActivityEmbeddingAnimationRunnerTests ActivityEmbeddingControllerTests
      Bug: 327332488
      Bug: 295805497
      Flag: com.android.window.flags.move_animation_options_to_change
      Change-Id: I060b87506a1bf732228ec6b44e7e9dd48782ec0c
      32814954
  2. Jun 03, 2024
  3. May 31, 2024
    • Liran Binyamin's avatar
      Create flag for reusing bubbled tasks · 93059166
      Liran Binyamin authored
      Flag: com.android.wm.shell.only_reuse_bubbled_task_when_launched_from_bubble
      Test: NONE - adding flag
      Bug: 328229865
      Change-Id: I9f1a067786986b9b4f8c681da481546afa97c288
      93059166
    • Arpit Singh's avatar
      Fix race condition in PointerControllerTest · c2c839d2
      Arpit Singh authored
      A previous CL ag/27261516 moved initialisation of thread before the
      looper it uses. It introduced a race condition causing tests failures.
      This CL changes order of initliation to ensure looper is always
      initilised befor the thread.
      
      Bug: 343818855
      Test: atest libinputservice_test
      Change-Id: Ibcb4d31be6a607f37eeee7207182cdd5eb1d7ead
      c2c839d2
    • Siarhei Vishniakou's avatar
      Remove libnativewindow dependency · 77ada868
      Siarhei Vishniakou authored
      This is not needed to build the code that links it.
      
      Bug: 343933987
      Test: m libinputservice_test libinputservice
      Change-Id: I181c8c42c343e43e0b592ea8af97b41fb704da34
      77ada868
    • Johannes Gallmann's avatar
      Fix flicker when cancelling cross-activity back animation when letterboxed · 49a2903f
      Johannes Gallmann authored
      Bug: 343930757
      Flag: com.android.systemui.predictive_back_system_anims
      Test: Manual, i.e. verifying on device that flicker does not occur anymore
      Change-Id: I84353f2bd735463ab8ec146f9de56e93f5d39140
      49a2903f
  4. May 30, 2024
    • Jiaming Liu's avatar
      [Divider] Fix veil color · 4c363457
      Jiaming Liu authored
      Read the activity window background color when showing the veils
      (instead of when updating the divider properties) to ensure that
      the veil colors are up to date.
      
      Bug: 343523804
      Test: atest SplitControllerTest DividerPresenterTest and manual
      Change-Id: I2ad3869a9e3b82e85fb31fd1a80e2ba8831dca59
      4c363457
    • Perry Wu's avatar
      [PIP2] Adds Animation Package and Alpha Animator · a0e2038d
      Perry Wu authored
      As part of pip2, we want to refactor our current animations to
      use it's own package. This also adds the alpha enter animator,
      with follow up work on the bounds enter / exit animations.
      
      Test: TBD
      Flag: enable_pip2_implementation
      Bug: 322871963
      Change-Id: I56cd46269ccb20caa552a1bd917f9cf706dac191
      a0e2038d
    • Maryam Dehaini's avatar
      Remove animation listeners on cancel · 5b95398f
      Maryam Dehaini authored
      AnimationSet#removeAllListeners does not remove the animations of the
      child animators. When we cancel the maximzie window progress animator,
      we need the onEnd listener to be cancelled so that the maximize window
      does not open.
      
      Bug: 327677202
      Test: Exit maximize window before progress animation is complete.
      Maximize menu should not open.
      
      Change-Id: Iec5c192b58d8fea7465aca05e6f4543d04851fbc
      5b95398f
    • Ats Jenk's avatar
      Restore initial location after drag to dismiss · f1874dff
      Ats Jenk authored
      When dragging bubble bar expanded view, bar or a bubble, restore the
      initial location when dragging and releasing the view in the dismiss
      target.
      
      Bug: 339659499
      Flag: com.android.wm.shell.enable_bubble_bar
      Test: atest WMShellRobolectricTests:BubbleExpandedViewPinControllerTest
      Test: atest WMShellMultivalentTestsOnDevice:BubbleExpandedViewPinControllerTest
      Test: manual
        - drag expanded view to left, then to dismiss, release
          - bubble bar should be back on right side
        - drag expanded view to dismiss and back out
          - there should be no drop target
        - drag expanded view to dismiss and to left side
          - drop target shows up on left side
        - drag expanded view to left, to dismiss, to right
          - drop target shows up on right side
      Change-Id: I167523656b97e22dcfbdb723e30e72c6e4170363
      f1874dff
    • Todd Lee's avatar
      Add API for detection of 'closing' mode · 736b0853
      Todd Lee authored
      Test: build
      Change-Id: Ic8b3193a1e5d0475e875cd06881c2d21295cdd0f
      736b0853
    • Arpit Singh's avatar
      Add method to set SkipScreenshot flag on cursorcontroller sprites · f4ae0ac6
      Arpit Singh authored
      Add a methods to be able to set ISurfaceComposerClient::eSkipScreenshot
      flag on MouseCursorController. This will be used to hide mouse and
      stylus pointers on mirrored displays when a privacy sensitive window is
      present on source display.
      
      Test: manual test & atest PointerControllerTest
      Bug: 325252005
      Change-Id: Ide428e8daf96a1d919adb9d6374a9ea738f87cc5
      f4ae0ac6
    • Alina Zaidi's avatar
      Fix test flakiness due to InstanceIdSequence · 8437c7b9
      Alina Zaidi authored
      Test: atest WMShellUnitTests:DesktopModeUiEventLoggerTest
      --rerun-until-failure 25 passed after the change
      Bug: 341072781
      Flag: NONE change in test file only
      
      Change-Id: Ib12797fca0f81bb3ecaea035686f5014d814f8a4
      8437c7b9
    • Zhenhua Deng's avatar
      Fix register homeTransitionListener with empty Transitions · 2b164e1d
      Zhenhua Deng authored
      Sometimes Luancher frequently register homeTransitionListener
      while OverviewProxyService connect/desconnect, if Sysui also slow
      response it may cause setHomeTransitionListener delayed with invalidate
      Transitions.
      
      Bug: 343098476
      Test: auto monkey test
      
      Change-Id: I750d25f81f210373662b05fa9468585e47c4ed44
      2b164e1d
    • Yurii Zubrytskyi's avatar
      [res] Fix the fuzzer's use after free · 9ea1230e
      Yurii Zubrytskyi authored
      ResXMLTree doesn't copy the passed data by default, so the
      fuzzing code needs to make sure the data outlives the tree.
      
      Bug: 332013774
      Test: manual
      Change-Id: I44de100e5005548b041c15a99b0c317cdace0722
      9ea1230e
  5. May 29, 2024
    • Maryam Dehaini's avatar
      Post maximize menu close runnable when any maximize menu view is exited · cd50b9a0
      Maryam Dehaini authored
      Currently, when we exit the maximize menu quickly when hovering, we
      sometimes do not receive the ACTION_HOVER_EXIT call when the following
      occurs:
      1. User hovers over the maximize menu and we receive an
         ACTION_HOVER_ENTER.
      2. User quickly exits the menu by hovering downwards and hovers over one
         of the maximize menu's buttons. We recieve a ACTION_HOVER_ENTER and
         then a ACTION_HOVER_EXIT from the view.
      3. Given the small margin below the button and the speed at which the
         hover occurs, the maximize menu view does not register the hover so
         we never receive the ACTION_HOVER_EXIT. Therefore, the close menu
         runnable is never posted.
      
      To fix this issue, this change has the listener post the close menu
      runnable whenever any menu view is exited and removes the callback if
      there is an ACTION_HOVER_MOVE over any view to assure that we do not
      prematurely close the menu when we exit a button in the menu without
      fully exiting the menu.
      
      Bug: 327677202
      Test: Open the menu by hovering over the maximize button and quickly
      exit.
      
      Change-Id: I43c541c168bb67b2613b96ecf4bb85d245cab061
      cd50b9a0
    • Jiaming Liu's avatar
      [Divider] Fix wrong drag handle position for RTL layout · 53a48bf6
      Jiaming Liu authored
      Fix miscalculation of the drag handle postion when secondary container
      is fully expanded in RTL and BTT layout directions. Also did code clean
      up during the fix.
      
      Bug: 343307918
      Test: atest DividerPresenter
      Change-Id: I3036773255554567d8961a5cd8ee5cd47118aab2
      53a48bf6
    • Daniel Akinola's avatar
      Revert "Allow recent apps to be launched with split screen pair ..." · f3e2b00b
      Daniel Akinola authored
      Revert submission 27578651-cherrypicker-L54800030004071884:N28400030065634490
      
      Reason for revert: b/343507598
      
      Reverted changes: /q/submissionid:27578651-cherrypicker-L54800030004071884:N28400030065634490
      
      Change-Id: Id0daa5b6491cabb4a6b6b2f52c270f7095121aa9
      f3e2b00b
    • Dhina17's avatar
      WindowDecor: Pass correct displayId for back key event · 99cfd572
      Dhina17 authored
      TaskOperations object is being created with default display context
      so it will provide the default display id only.
      It causes that back button is not working on external displays.
      
      Bug: 343265240
      Test: Back button on simulated displays.
      Test: atest DesktopModeWindowDecorViewModelTests
      Change-Id: Ia4772e898dda20fb16ae85f2b2652a17924e9a7c
      99cfd572
    • Jiaming Liu's avatar
      [Divider] Disable drag-to-fullscreen · 65485b11
      Jiaming Liu authored
      Will re-enable it in extensions v7
      
      Bug: 343308774
      Test: atest DividerPresenterTest Manual
      Change-Id: Ie84aad19dab42aa6cde5f26777ba2e389904b26b
      65485b11
    • dakinola's avatar
      Allow recent apps to be launched with split screen pair from MediaProjectionAppSelector · 389bf56b
      dakinola authored
      Updating the logic so that when selecting a recent app to partial screenshare, if it is currently part of a split screen pair, the pair will be launched together
      
      Bug: 320449039
      Flag: ACONFIG com.android.systemui.pss_app_selector_recents_split_screeen DISABLED
      Test: Manual testing
      Test: atest ShellRecentTaskListProviderTest
      Test: atest MediaProjectionAppSelectorControllerTest
      Test: atest MediaProjectionRecentsViewControllerTest
      (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:558bf873fa3683962e0002bc5061032be56d3bb4)
      Merged-In: Iff49ff89ea2367187f8ba34bad6730a1bb6f3738
      Change-Id: Iff49ff89ea2367187f8ba34bad6730a1bb6f3738
      389bf56b
    • Riddle Hsu's avatar
      Use non-protected screenshot buffer to calculate animation color · cc03f083
      Riddle Hsu authored
      The screenshot for animation needs to be "setAllowProtected(true)",
      otherwise the protected area will be blank. But it is unable to
      be used to extract color because protected content is not readable.
      
      To avoid the background rotation animation always showing black
      color in this case (it looks flickering if the main color of screen
      is light), use the source surface with excluding protected content
      to calculate the color.
      
      Bug: 342984506
      Test: Enable auto rotation, home rotation.
            Set wallpaper to white color.
            Play DRM protected video in PiP mode.
            Rotate the device.
            The animation background should be white.
      Change-Id: I346c9683e2c58891103031bf9adf662a7044132c
      cc03f083
  6. May 28, 2024
    • Annie Lin's avatar
      Use screen-based coordinates for AE interactive divider. · cd3c0b27
      Annie Lin authored
      Without this, the velocity tracker may calculate unexpected velocity directions (example: http://shortn/_yDEnW9lAgp). Also snap to min/maxPosition when above the MIN_FLING_VELOCITY threshold to be consistent with the system split screen: http://shortn/_nbar2leR9v.
      
      Flag: None - subfeature of unreleased feature
      Bug: 343235405
      Test: atest DividerPresenterTest
      Change-Id: I6f063dcd8dfd63665d6b19679aa1240d5a6c7c88
      cd3c0b27
    • Vinit Nayak's avatar
      Disable gesture when split invoked from in-app taskbar · a11d1e29
      Vinit Nayak authored
      * Previously gesture was disabled when we started both apps
      from launcher (overview, workspace, all apps etc)
      * This handles the case when we start split from in-app taskbar,
      in that case the transitions finishes much faster and launcher was
      getting the disable flag turned off before the side animation finished.
      * Now for enter transitions that are resizing, we delay turning the
      disable flag off until after the animation completes
      * Button nav version of this still needs to be handled (separate path
      from sysui flags, I think?)
      
      Bug: 290893291
      Test: No longer able to swipe up after starting split from in-app
      taskbar. Other swipe invocations are still disabled
      Flag: EXEMPT bugfix
      
      Change-Id: Ib489f2b63466c6552a4a2c9c13577844c4b71036
      (cherry picked from commit cd6efea5)
      Merged-In: Ib489f2b63466c6552a4a2c9c13577844c4b71036
      a11d1e29
    • qinyige1's avatar
      Amend callsite of SurfaceControl instantiation. · 88199098
      qinyige1 authored
      For debugging layer leak.
      
      Bug: 339138626
      Test: Manual
      Change-Id: I8500831ec0ab1aad77eb2241447becb94157a469
      88199098
    • Gaurav Bhola's avatar
      Disable the trustedOverlay flag for taskview · 1b48b467
      Gaurav Bhola authored
      - TaskView is meant to contain app activities which shouldn't have
        trusted overlay set even when itself placed in a window which is
        trusted.
      
      Fix: 339701674
      Fix: 342050101
      Bug: 320410671
      Test: atest WindowUntrustedTouchTest
      Change-Id: Ib9e3c73516aba7f407e8bcbf8cb9cd7477f40fa8
      1b48b467
    • Vinit Nayak's avatar
      Disable recents gesture when split animation running in shell · 5445cd49
      Vinit Nayak authored
      * Pass in SysUiState flag to disable and re-enable system
      gestures in TouchInteractionService.
      * We disable gestures on any transitions that StageCoordinator
      itself starts
      * We re-enable on the finishCallback of the tranisiton for success
      cases or anywhere else downstream of startAnimation() where we
      return early. We also re-enable on all places the split unsupported
      toast is currently shown.
      
      Bug: 286509643
      Test: Invoked split in various ways and immediately swiping up after
      split is created doesn't repro bug
      
      Change-Id: I50d52fb8b099a6a000373e04d9a6016bd18e7169
      Merged-In: I50d52fb8b099a6a000373e04d9a6016bd18e7169
      5445cd49
    • Orhan Uysal's avatar
      Add moving a task from recents to desktop · b58db4c1
      Orhan Uysal authored
      There is a current need to launch a non-running task in desktop for
      overview launch case on device reboot. This cl creates a way to launch a non-running task given a taskid if the task is found in the recents list. The
      transition animation will be added once overview chip to desktop animation is done.
      
      Bug: 332889335
      Test: atest DesktopTasksControllerTest
      Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode TEAMFOOD
      Change-Id: I7a4ae568b3f8878f404af786546dfee6233cda7e
      b58db4c1
    • Robin Lee's avatar
      Don't play an animation for WAKE + KEYGUARD_OCCLUDE · 5eba563d
      Robin Lee authored
      DefaultTransitionHandler will check for this case and skip it
      in case the transition lands there. If something specifically
      requested to play the transition it will get a chance.
      
      Bug: 340987552
      Change-Id: Ib03321a4cc05fbb2dfb4e38776ec28a154851528
      5eba563d
Loading