The swiping up gesture will never return an app in All Apps,
so we can ignore All Apps state in those cases.
This fixes an edge case where user swipes up and launcher state
is still in All Apps. This causes us to animate the icon to
where it would be in All Apps, even though by the time the
animation starts we are actually in Normal state.
Bug: 222124240
Test: open app from all apps then quickly swipe up to go home
Change-Id: I756a870660a397d6629aec82e4f5ec4914ed0669
- Updated layout files to support landscape mode on phones
- Updated All Set page to say "tablet" rather than "phone" on tablets
- Hiding feedback view during gestures for better visibility
- Renamed files and resources to say "tablet" rather than "foldable"
- Added custom layout logic for the mock hotseat on foldables
- Updated feedback view margins
Test: manual
Fixes: 215063763
Fixes: 206895841
Fixes: 219251891
Change-Id: I56f7f33dd0617bdeeca4863f7d5de0143376c8bf
Limits taskbar icons translation animation
only when the display is in natural orientation.
Bug: 219958588
Test: fold/unfold in portrait and landscape
Change-Id: I33e26829ae37f1df39e8c7234f98d20eb7993b93
Previously we only let the icons take up the max width if the
device was in vertical bar layout. For tablets this meant
that the icons would be smaller than the actual window crop.
We want the full width in any cases where the profile width
is greater than the height, so created a new method to check for that.
Bug: 203157974
Test: phone/tablet in portrait/landscape
Change-Id: I467f142bac87ec7c3b369c01f8d9c96ddf74fc76
Navigation mode affects display properties like bounds and
most listeners already had a similar display listener. This
will remove race conditions when managing the two events.
Bug: 221961069
Test: Presubmit
Change-Id: If7a22e006e6b969ecddf075001066809aa72995c
Technically mControllers.stashedHandleViewController.isStashedHandleVisible() is false on the home screen (since we unstash), so now we also check isInApp(). This ensures that we always return the same insets when on the home screen - and the insets we report are the same as when you launch an app, to ensure seamless transitions. The value itself shouldn't matter to launcher as long as it is static, since launcher overrides the insets due to taskbar anyway, but we need to keep the value static to avoid configuration change.
Test: Open a website in Chrome, stash taskbar, then launch Chrome from home screen and ensure content doesn't jump during the transition
Fixes: 221238308
Change-Id: I81e320b3a8d32ffe78441be5dd8f15a586d3b842
This change will make use of new attributes field in LauncherAtoms to log multiple item attributes by converting them int array and then writes proto bytes into statsd.
Test: wwdebug && wwlogcat http://gpaste/5985977337118720
Change-Id: Iabda0b14100558f5625d01ba829d3ad96a6419fc
- Added getFirstMatch() instead of using mapOverItems() (was a bit cleaner using ItemInfoMatcher)
- Match based on package name / UserHandle for deep shortcuts case
Test: drag deep shortcut from taskbar icon, inside folder, inside all apps; drag regular icons as well
Fixes: 222574524
Change-Id: Id5fdee29110f143c1125edc6945af09ab0a8d8ce
- We keep the app setup flag set, but adjust the insets to
inset SUW itself in portrait
Bug: 219879035
Test: With both 3button and gesture nav, verify that portrait
mode SUW is always inset
Change-Id: Iad0b6c41feaa3fb169af75c071b7f9544b42bab7
- Don't report insets change to underlying app when stashing taskbar during all apps transition
- Internally override all apps insets to take stashing into account
- Don't offset all apps window by display cutouts, as we handle them internally via padding internally
- Also Fix bug where "stashing" taskbar in 3 button mode (which just fades out taskbar icons but keeps nav buttons) was reporting smaller insets to apps
Test: 1) open all apps in Calculator, ensure Calculator doesn't adjust insets and all apps has bottom content padding but no nav scrim
2) in 3 button mode, scroll to bottom of all apps and can read last row icon labels
3) enable display cutout in developer options, ensure no change to tests 1 and 2, and all apps scrim fills the screen (including behind cutout)
Fixes: 219980805
Change-Id: Ic3c6a744bc675e4ea277d22c4c0b3b353eddd905
This is a no-op since they are the same value (by design), but using the constant directly will prevent potential divergences in the future.
Test: none
Bug: 191269755
Change-Id: I81b98045466398b7a49de872694004e526adf048
Since `getRootView()` will increase the execution time, use
`getDisplay()` instead.
Bug: 202825727
Test: manually
Change-Id: I22ef58cb39716433cd8e91200837ab49229ae3e1
(cherry picked from commit 6a06d8615f)
Touches are ignored as soon as we want to start system drag so that system drag can start sooner (i.e. before any AbstractFloatingView animations finish). This approach utilizes ViewTreeObserverWrapper's compute insets listener by temporarily setting the touch region to empty. The taskbar window remains fullscreen until the drag finishes so the touch region is reset at the right point. Similarly, the all apps window is kept open during its drag operations until the drag finishes. System drag state is now exposed through the drag controller to skip predrag.
Test: Manual by dragging to split screen and triggering dismissal
animation from both windows. Verified predrag works.
Fix: 221104066
Fix: 220070070
Change-Id: I424106269c841f58cbe5338d30b6c33fbd889019
Update launcher to pass the taskId to Shell, so that Shell can reparent
the overlay from the remote transition leash to the Task leash.
Otherwise the overlay will be removed with the transition leash when
transition is finished.
Bug: 222030101
Test: verify with swipe to home with Shell transition
Change-Id: I838c22951fdf79c3213f2c9b1cb73a4a90341597