summaryrefslogtreecommitdiff
path: root/core/java/android/view/PendingInsetsController.java
Commit message (Collapse)AuthorAgeFilesLines
* Add passive callback for system-run insets animationHyunyoung Song2022-08-191-1/+15
| | | | | | | | | | | This passive window inset animation control listener is used to for logging purpose when hide, show method is called. Test: atest InsetsControllerTest Bug: 240192346 Change-Id: I399268ead9d04b356f10cc3e9ac1da9e31306e86
* Add BEHAVIOR_DEFAULT for visual immersive modeTiger Huang2021-01-191-0/+3
| | | | | | | | | | | | | | | | | | | | | BEHAVIOR_DEFAULT lets the user can use single gesture to navigate while system bars are hidden in gesture navigation mode. The user doesn't need to make navigation bar visible before performing navigation. BEHAVIOR_DEFAULT will be the default behavior, which means if there is no system bar behavior (or any legacy sysui flag about immersive) specified, the behavior will be BEHAVIOR_DEFAULT instead of BEHAVIOR_SHOW_BARS_BY_TOUCH. BEHAVIOR_SHOW_BARS_BY_TOUCH and BEHAVIOR_SHOW_BARS_BY_SWIPE are deprecated. Their behavior is equivalent to BEHAVIOR_DEFAULT now. The logic about HideNavInputEventReceiver is removed. Bug: 168913586 Test: atest WindowInsetsControllerTests ViewRootImplTest DisplayPolicyTests CommandQueueTest LightsOutNotifControllerTest RegisterStatusBarResultTest Change-Id: Ic818e323abbb38b57bef9fc36fb1afef2a007f1b
* Let animations of insets controller can be disabledTiger Huang2020-06-151-0/+14
| | | | | | | | | | | In some cases, System UI needs to hide navigation bar without any animation, i.e. transitioning to AOD. This CL creates a method in insets controller to disable/enable animations. Fix: 150729581 Test: Enable AOD, and go to AOD from home screen by pressing power key. Test: Enter/leave bouncer while screen is on. Change-Id: I3fb7be898b9e615c661d07eca97c9ffcb6bbf8c3
* Fix flickers when changing controlJorim Jaggi2020-03-271-0/+8
| | | | | | | | | | | | | | - Do not reset system bar visibility when changing control target - Do not apply hide transaction when gaining control, because that may result in a single-frame flicker because it will conflict with the animation - Check requestedVisible instead of InsetsState.isVisible in DecorView to avoid drawing the bar backgrounds transiently - Abort transient mode when focused win changes. Bug: 150195782 Bug: 152014877 Change-Id: I8bc9cdc89ce7364984ade8146e12a706ad5e8edb
* Make caption a insets sourceYunfan Chen2020-03-261-0/+9
| | | | | | | | | | | | | | | | | | | | | | | This patch introduced setCaptionInsets, and set the Insets in ViewRootImpl when dispatch the insets if there's a caption. Modification is made in Window and DecorCaptionView to make caption overlay with the app content, and pass the value to ViewRootImpl to apply when dispatch. It is necessary to trigger a dispatch when caption enabled status chanaged, otherwise sometimes it will not be updated. Because caption is now updated locally on the client side. Some old logic to deal with the overlay caption without insets are removed, including the touch event dispatch override, the color override. Bug: 134531136 Test: go/wm-smoke Test: Manually change the value in dispatchApplyInsets, can observe a blank content area when there's a caption bar. Test: atest InsetsStateTest Test: atest InsetsControllerTest Change-Id: I356344a13c8569512d8f51f7ea19a5603f778252
* WindowInsetsAnimationController: Add state callback and gettersAdrian Roos2020-03-181-1/+1
| | | | | | | | | Adds more comprehensive callbacks and getters for the WindowInsetsAnimationController, to make it more straight forward to properly use. Test: atest InsetsControllerTest PendingInsetsControllerTest Fixes: 151707442 Change-Id: Ida55f609112396c0f6de4c5c4431e0793c2e315e
* Revert "Revert "WindowInsetsController: Address API feedback""Adrian Roos2020-03-131-15/+15
| | | | | | | | | This reverts commit 5e7097b21ea3841550044b933238f273be7cf2b6 and relands Id4cb53fddcecac17b7926068046760df5130dc39 Change-Id: I348141f27efcf7c22736778fbcdde4a110e95982 Fixes: 150472709 Test: atest InsetsControllerTest
* Revert "WindowInsetsController: Address API feedback"Jaineel Mehta2020-03-121-15/+15
| | | | | | | | This reverts commit c549e19c5efd37494dac75e4b372d126f1d2bf19. Reason for revert: Droidcop: Potential culprit for Bug X - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Change-Id: I2ab42d96d2599dfcc946fa48b3940e2bd92b22b0
* WindowInsetsController: Address API feedbackAdrian Roos2020-03-111-15/+15
| | | | | | | | Change CancellationSignal to parameter instead of return value. Fixes: 150472709 Test: atest InsetsControllerTest Change-Id: Id4cb53fddcecac17b7926068046760df5130dc39
* Add OnControllableInsetsChangedListenerJorim Jaggi2020-03-101-0/+29
| | | | | | | | | | | | | | | It's useful for apps to know which inset types they can currently control, as otherwise they have to poll by calling controlInsetsAnimation repeatedly. This can be used when apps want to apply a custom animation immediately during startup as soon as possible. Fixes: 150780468 Test: InsetsControllerTest Test: CTS will be added soon Test: WindowInsetsActivity Change-Id: Ic0388c11d759843d3ac9edd8ef23904c9ce05c46
* Fix WindowInsetsController lifecycleJorim Jaggi2020-03-031-0/+181
Provide a recording insets controller before the window gets created, and replay the commands once a view gets attached. This allows the client to use the controller in Activity.onCreate. Test: WindowInsetsControllerTests Bug: 118118435 Change-Id: I1a825ecc4367c02b27f2d08cd5442325315d4f89