summaryrefslogtreecommitdiff
path: root/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
AgeCommit message (Collapse)Author
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-05Add popup menu and click handling to taskbar.Schneider Victor-tulias
- Added popup menu support to taskbar icons - Added item click handling for taskbar icon popup menu items Bug: 198438631 Test: long pressed taskbar icons, pressed popup menu items, dragged taskbar icons to start multi-window mode Change-Id: Ibc59c1eada50a877a863c075fbfd3e4accaae008
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-21Add FallbackTaskbarUIControllerTony Wickham
- Refactor TaskbarManager to accept StatefulActivity instead of BaseQuickstepLauncher - Update the new StatefulActivity in onOverviewTargetChange() - Cleanup LauncherTaskbarUIController a bit to avoid initializing TaskbarActivityContext, TaskbarDragLayer, and TaskbarViewController in the constructor, and instead get these from mControllers after init() Test: No change in behavior Bug: 188790554 Change-Id: Ic4d69d73deb6dada416876eb265db57803c3adfd
2021-10-19Delaying taskbar loading until user setup completedSunny Goyal
> Also keeping it stashed while all-set activity is visible > Creating a shared state (simiar to saved instance state) for taskbar > Keeping taskbar stashed while all-set activity is visible Bug: 194786060 Bug: 201782272 Test: Manual Change-Id: Iab5e082243a206772266aece62d3028f5acb6400
2021-10-14Align 3 button nav with hotseatVinit Nayak
* Animate translationY alongside icons * When device rotates on home, update translationY * Add padding to contextual buttons to center it Bug: 189807374 Change-Id: I149ef25df570fb1fd385f1da960c827105ff975d
2021-10-07Add flags to stash taskbar for app pinning and empty hotseatTony Wickham
Test: pin an app from overview, watch taskbar stash automatically until unpinning Test: turn off suggestions for hotseat, remove all items and watch taskbar stash automatically when opening an app Fixes: 190192993 Fixes: 193937948 Change-Id: Ia7260c60a820af1a48c9e4a400a52753baf34d41
2021-10-07Migrate mStashedInApp to FLAGS_STASHED_IN_APPTony Wickham
This is to prepare for different flags that could cause taskbar to be stashed in an app without the user explicitly long pressing to stash. Test: run wwdebug and wwlogcat, ensure still get logs for long press stash events; other interactions like clipping tasks to above unstashed taskbar still work as before Bug: 190192993 Bug: 193937948 Change-Id: I90846e650a438e03bdcfdf9c4bf919e19cc5abb3
2021-09-17Hide task bar icons when notification shade is expandedTracy Zhou
Fixes: 199163951 Test: manual Change-Id: Id2556aa5f08db55059c95d8c13cdc4d46b7d8c55
2021-09-03Add taskbar icons unfold animationNick Chameyev
Adds 'move from center' animation for taskbar icons when unfolding foldable devices. Moves unfold transition progress provider from quickstep launcher activity to TouchInteractionService to widen the scope when this provider is available to cover both launcher activity and taskbar. Launcher activity and taskbar get their own instances of unfold transition progress provider using ScopedUnfoldTransitionProgressProvider wrapper. This wrapper allows to get transition progress provider that emits events only when clients are ready to handle them. Bug: 193794563 Test: manual Change-Id: I27581bd4e145a74f526bf60f2a545e56ded322f9
2021-08-31Fix some taskbar stashing issuesTony Wickham
- Don't allow long press to stash between taskbar icons - Ensure taskbar_icon_touch_size is respected; previously it wasn't, because BubbleTextView@shouldIgnoreTouchDown() was returning true in the padding region. For taskbar, we want the whole icon size to be touchable. - Cancel long press when passing touch slop to avoid swipe down being detected as long press Test: long press on taskbar background, both between icons and not; swipe down on taskbar Fixes: 198305464 Change-Id: I36f1d792e91da9a3bf57a2bef1e974b299c4e25c
2021-08-26Merge changes Ib2bc8419,Ia41cb0e3,I43bfbc41 into sc-v2-devAndroid Build Prod User
* changes: Animate PredictedAppIcon when its icon changes Add "wave" animation when entering taskbar edu Add slot machine animation for PredictedAppIcon
2021-08-26Add "wave" animation when entering taskbar eduTony Wickham
Each icon scales and translates up, then back down. If the icon is predicted, it also plays a "slot machine" animation through random icons from AllAppsList. Test: Visual Bug: 180605356 Change-Id: Ia41cb0e340347eea6b580d23c8a2386837e9c399
2021-08-26Hide taskbar icons when recents button is disabledTony Wickham
The idea is that both taskbar icons and recents navigate you to new apps, which we'd want to disable in similar contexts. Hence reusing FLAG_DISABLE_RECENTS. Test: locally set FLAG_DISABLE_RECENTS=true, ensure taskbar icons don't show up (both in 3 button mode and gesture nav) Bug: 193183428 Bug: 194990283 Change-Id: I9537f57dc25663151b1414c5260dadb58506fdb0
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-07-19Add taskbar stashing feedforward, i.e. hint at upcoming stash/unstashTony Wickham
Also fix unstashing not working in 3P launchers by moving the unstash call from LauncherTaskbarUIController to TaskbarActivityContext Test: long press taskbar background and stashed handle, watch it hint towards the new stashed/unstashed state respectively and then complete the animation when the long press is triggered Fixes: 193926311 Fixes: 192926350 Change-Id: I0e538be9129bf5c600d07f360b8106d7077862ad
2021-07-15Binding Taskbar directly from Launcher modelSunny Goyal
This allows taskbar to be loaded even in case of 3P Launchers and removes dependency on LauncherActivity lifecycle Bug: 187353581 Bug: 188788621 Test: Manual Change-Id: I5a0988e0697b41677d4c58f0213aef14ec0c0972
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-16Updating taskbar icon alignment stateSunny Goyal
Icon alignment is only tied to Launcher paused/resumed state Creating two separate states for this: 1) Launcher paused/resumed 2) Active gesture interaction (live-titles can affect paused state) Removing state handler dependency on taskbar visibility Bug: 190170303 Bug: 187353581 Bug: 187919439 Test: Manual Change-Id: Ia97cdf43cec1d9213f5dc2af8d66258b34c57514
2021-06-15Initial commit of TaskBar on keyguardVinit Nayak
Bug: 180046394 Test: Tested with pin + keyboard + pattern Change-Id: I951d9508b1325c157a9c0d92fa8e77fe8df9c460
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