summaryrefslogtreecommitdiff
path: root/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
AgeCommit message (Collapse)Author
2021-12-10Report contentInsets only based on what they will be inside appsTony Wickham
This avoids changing them when going from an app to launcher (most obvious when going to overview). This also allows us to not change insets on apps when opening/closing IME, which reduces potential jumpiness. Finally, also use this logic for 3P launchers by calling directly from TaskbarDragLayerController instead of TaskbarUIController (which was only overridden by LauncherTaskbarUIController). This fixes some bad issues like sending fullscreen insets when opening a folder from taskbar. Test: Open Calculator, unstash taskbar, go to overview and ensure no jump as taskbar stashes. Fixes: 200805319 Change-Id: I4f1cc187398d0051863ff44ea90b7ab9c6aaa8f9
2021-11-23Stash taskbar when IME is present, including during gesturesTony Wickham
- SysUI removes SYSUI_STATE_IME_SHOWING when starting a gesture from an app, but because unstashing has implications on the gesture transition (e.g. clips the bottom of the app), we defer handling the ime hiding until the gesture settles. Repurposed the flow that swaps the taskbar background during the gesture to support this case as well. - Delay the unstash when IME is closing, to align with the end of the IME exit transition - Remove TaskbarViewController.ALPHA_INDEX_IME now that we stash when IME is opening, since stashing already hides the taskbar icons - Also support passing a starting progress to the stashed handle reveal animation, to allow it to be reversed when cancelled. For example, when returning to an app that has IME showing, we first start unstashing because we're in an app, but then we get the signal that IME is attached so we stash again almost immediately (within a frame or two). Test: In both 3 button and fully gestural, open a keyboard in an app, ensure taskbar gets out of the way and then reappears at the end when the keyboard is dismissed Bug: 202511986 Change-Id: I93c298a98ba369ea6310466ff3f802231c582687
2021-11-22Merge "Add support for dark tint on taskbar nav buttons" into sc-v2-devTony Wickham
2021-11-17Add support for dark tint on taskbar nav buttonsTony Wickham
Tint the buttons when taskbar isn't drawing a background (either due to alpha or offset). Test: Dark icons on a light wallpaper on home screen, dark icons when light IME is showing Bug: 204256643 Change-Id: Iae634a1b604f50edc102905abd0d812a43c5346e
2021-11-17Use TOUCHABLE_INSETS_REGION when IME is visibleTony Wickham
This ensures the dismiss button is fully clickable even if taskbar is stashed. Test: Stash taskbar, can dismiss keyboard by tapping anywhere on the back button (Same with taskbar unstashed) Fixes: 206851484 Change-Id: I06f86191e36b596a928c8db8d67a012be033daba
2021-11-10Fix the cutout of magnification borderryanlwlin
If the window is unmagnifiable, it might cause the cutout of magnification region. To fix it, we set the flag when the touchable region is not the entier window frame. To fix NexusLauncherTests, we add a flag to avoid updateViewLayout too frequently that would impact memory test and have the performance issue. Bug: 196510717 Test: manual test on gestural and 3-button navigation presumbit test pass run atest NexusLauncherTests with foldables Change-Id: Ifef81640fe6c08ee1b0dcd3915227fba3002ea43 Merged-In: Ifef81640fe6c08ee1b0dcd3915227fba3002ea43 (cherry picked from commit c8d588cff6697ad2bd7eedd7e668f67a8d1ba9c1)
2021-11-03Revert "DO NOT MERGE Fix the cutout of magnification border"Alex Chau
Revert "Do NOT MERGE Fix magnification border includes taskbar" Revert submission 16003793-magnification_border Bug: 196510717 Reason for revert: Caused NexusLauncherTests and NexusLauncherOutOfProcTests to stop running Reverted Changes: Ibbc9c51ea:Do NOT MERGE Fix magnification border includes tas... Ida2bb5bf1:DO NOT MERGE Fix the cutout of magnification borde... Change-Id: I6b2123aedd2a2f23142a34f158d2d9ab71948a18
2021-11-03DO NOT MERGE Fix the cutout of magnification borderryanlwlin
If the window is unmagnifiable, it might cause the cutout of magnification region. To fix it, we set the flag when the touchable region is not the entier window frame. Bug: 196510717 Test: manual test on gestural and 3-button navigation Change-Id: Ida2bb5bf120038ac9153e12790b93bdec195adbc
2021-10-26Merge "Hide taskbar background when notification shade is expanded" into ↵Tony Wickham
sc-v2-dev
2021-10-25Hide taskbar background when notification shade is expandedTony Wickham
- In 3 button mode, don't hide the background but do ensure nav buttons are translated down when swiping to notificaitons from the home screen Test: swipe down notifications, background hides in 0 button mode but not in 3 button mode Fixes: 199163951 Change-Id: Ic70adc7d67b2ab7c92a2d5d846b9b259d1bd7bfc
2021-10-21Stash taskbar in fallback recentsTony Wickham
Test: Swipe to Overview with 3P launcher as default, watch taskbar stash Fixes: 188790554 Change-Id: Id9fdcd715fc50872e3a96f102053a9a99859b482
2021-09-15Merge "Don't set Taskbar window to non-fullscreen while folder animates ↵Tony Wickham
closed" into sc-v2-dev
2021-09-14Don't set Taskbar window to non-fullscreen while folder animates closedTony Wickham
Test: Open an app, open a folder in taskbar, and drag an app from the folder. Ensure the folder close animation plays completely. Fixes: 199954907 Change-Id: I1caec4ef24b5325724d74f10ddbeae6ef8f9e959
2021-09-09Fix taskbar education not touchable if taskbar is stashedTony Wickham
Instead of assuming taskbar window is not touchable while taskbar is stashed, fall through to the areIconsVisible() check, which already returns false if taskbar is stashed anyway. Additionally, add a check for AbstractFloatingView so we appropriately allow touches if one exists. Test: Open Contacts, can still touch through stashed handle; start TaskbarEduView flow and can touch whether taskbar is stashed or not Fixes: 199376513 Change-Id: If362bad5cb8262fc8c489010e4b2d306ac5f252a
2021-08-30Fix back button not touchable in SUWTony Wickham
Since NavbarButtonsViewController already checks visibility of buttons before adding them to the touchableRegion, we can remove teh isThreeButton() check. Test: run adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity, then press back button and ensure it gives visual feedback (even though there's no page to go back to in this test activity). Bug: 191846922 Change-Id: I10d3d046cd2d14017638a2c71ea6b9fe228fadfc
2021-08-23Draw rounded corners above the taskbarTony Wickham
- Increase height of taskbar window, but not contentInsets - Draw the inverted corners as part of TaskbarDragLayer#dispatchDraw() (which handles the background already) Test: visual Bug: 196257194 Fixes: 197129604 Change-Id: I517949a4c2b97c92e3bb43408776db6deb1379b4
2021-08-18Revert "Draw rounded corners above the taskbar"Bryce Lee
This reverts commit 157d3b950d66118c0a76785edf815741ca532ef3. Reason for revert: b/197129604 Bug: 197129604 Change-Id: Idf2267528fade23291aedea9787d98601495537c
2021-08-17Draw rounded corners above the taskbarTony Wickham
- Increase height of taskbar window, but not contentInsets - Draw the inverted corners as part of TaskbarDragLayer#dispatchDraw() (which handles the background already) Test: visual Bug: 196257194 Change-Id: I51d992078579e877c85a1d71ee4c00d85fd9db2e
2021-08-16Extend taskbar color to entire screen in overviewTony Wickham
Only when taskbar is unstashed in apps: - Scrim workspace with the taskbar color when opening apps and in BackgroundAppState - Crop opening apps to above the taskbar - Crop TaskViews to above the taskbar during gestures If taskbar is stashed in apps, behavior is the same as before, i.e. no scrim over the wallpaper and no cropping of tasks. Added a field DeviceProfile#taskbkarPresentInApps to distinguish these cases. LauncherTaskbarUIController and TaskbarStashController ensure this value is set appropriately. Test: Ensure tasks don't appear behind taskbar when it's unstashed; set ENABLE_SCRIM_FOR_APP_LAUNCH = true to test the whole screen scrimming when opening an app Bug: 196257194 Fixes: 190681228 Change-Id: I481501457a5a6d49c380feea3db3b4058e4cf3f8
2021-07-22Hide taskbar on lockscreenVinit Nayak
Add new animated float to disable taskbar background value when keyguard is visible. Fixes: 191857724 Test: Tested w/ and w/o bouncer for gesture + 3 button Tested w/ IME pw on lock screen. Change-Id: I2e1696fd25f4c170bfb2bc0694ccd644e453b1fe
2021-06-18Initial commit of taskbar stashingTony Wickham
- Added StashedHandleViewController to provide properties such as ViewOutlineProvider to animate the handle that's shown in place of taskbar while it's stashed - Added TaskbarStashController to coordinate the stashed state, including orchestrating the animation across taskbar controllers - Added TaskbarStashInput consumer to detect long press in the nav region when taskbar is stashed Behavior: - Long pressing taskbar background animates to the stashed state by morphing the TaskbarView into the stashed handle view and offsetting the background offscreen - We persist the stashed state across app launches and reboot; to unstash, long press the stashed handle - We also visually unstash when going back home Test: long press tasbkar background when in an app to stash it, long press the resulting stashed handle to unstash; while stashed, swipe up to home to also unstash until launching another app Bug: 189503603 Change-Id: I698eff785388dff1ef717c76879719d6af236c2d
2021-06-16Enable 3 button nav for taskbarVinit Nayak
Bug: 180046394 Test: Switched between gesture and button nav on phone and tablet. Change-Id: Iac2357a3256f8b6b36ca49d3680594a91e824a5f
2021-06-15Tap on recents button twice to go to last appVinit Nayak
Fixes: 190660016 Test: Tapped on recents twice and saw last app. Tapped on recents and tried to tap on other app icons and none of them launched. Change-Id: Ie89f1ec0464f194087dc07ab99deb8223ab6ddb8
2021-06-09Reorganize taskbar controllersTony Wickham
Organize existing properties as follows: - TaskbarViewController contains properties affecting TaskbarView (though child icons are still supplied by TaskbarHotseatController) - TaskbarDragLayerController contains properties related to TaskbarDragLayer itself - Renamed NavbarButtonUiController to NavbarButtonsViewController, following the pattern of TaskbarViewController and TaskbarDragLayerController - TaskbarControllers contains the different controllers to make it easier to construct, initialize, destroy, and pass them around - Removed TaskbarIconController as its responsibilities were moved to more specific controllers Test: compiles and runs, manually tested Bug: 187353581 Change-Id: Idccd95d47117101bf9617e5532a5b87635d2b8f6