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
Divider bar might be hidden before swipe-up gesture started when users
touching task bar region. This makes sure to update visibility of
divider bar only after gesture started.
Fix: 219995626
Test: long press task bar region to stash/unstash task bar, divider bar
won't be hidden as long as it didn't trigger swipe up gesture.
Change-Id: Iacf690c84a3ad4b5e4fc9b066e9a1ecb8a8aa7d1
Shell transitions resumes launcher. This was causing logic in
launcher to pick incorrect inputconsumers which resulted in
aborting animation logic.
Bug: 220196913
Test: quickswitch very quickly
Change-Id: I66d894436a6cc6eae57d505db8a7abf6c10ab00f
This reverts commit 4c2e3310e6.
Reason for revert: Lets try reverting this now that ag/17006986 landed
Change-Id: If9311a459ce6250d3f8c8341c1210b8bedd5bbbd
- Introduce rounded corners (since we scale x and y differently, we can't use outline since it doesn't support rx and ry. It's achieved by custom drawing).
- Make sure the thumbnail content doesn't shift during the transition (we use custom cropping for TaskThumbnailView, and we have to do it accordingly here)
TODO: update UX of the initial split view (b/219085340)
Fixes: 194414938
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/64953aa7-62ea-427c-8ec0-5f2bd96e4762
Change-Id: Id9a5d2f0f41cb4d619c8b3bd3a83c633e3d1f2de
The input to unstash the taskbar should only be 48dp more than
taskbar_stashed_handle_width or 316dp for wich I created a new
variable.
Bug: 204166104
Test: Manually stashing and unstashing the taskbar.
Change-Id: I94e2e289fcd1169ed0e38a0c45abca6c0ae5c502
- So DeviceProfile dumpsys will be available in bugreports, useful for debugging
- Only dump DeviceProfile in createdOverviewActivity if it's non-null
Fix: 221395133
Test: adb shell dumpsys activity service com.google.android.apps.nexuslauncher/com.android.quickstep.TouchInteractionService
Change-Id: Iaf7b7abd25771814be6cb918e96e042d1085debb