After swiping from a landscape app to portrait home, the touch
orientation may be changed if there the touch event comes in a
short time (e.g. click app icon immediately):
DOWN
MOVE...
SimpleOrientationTouchTransformer#onDisplayInfoChanged
MOVE... (start to transform with inconsistent orientation)
UP
That could disturb the gesture detection:
OverviewInputConsumer#onMotionEvent
> BaseDragLayer#proxyTouchEvent
onInterceptTouchEvent, findControllerToHandleTouch
> PortraitStatesTouchController#onControllerInterceptTouchEvent
> BaseSwipeDetector#onTouchEvent
which may show the app drawer unexpectedly.
http://recall/-/b2qm27pJZxFIWQccA9qE9Q/ggLXlE5kf7AWMOjUc0FCUU
Bug: 351755391
Flag: EXEMPT bugfix
Test: atest NexusLauncherTests: \
com.android.quickstep.OrientationTouchTransformerTest# \
testSimpleOrientationTouchTransformer
Change-Id: Ic0e9d8292606837feb4775663abb60229c90e9c5
Feels like it should be the activities' responsibility to coordinate the EDU with stashing. All of these methods are also public to TaskbarActivityContext.
Test: Compiles
Bug: 346394503
Flag: EXEMPT refactor
Change-Id: Ibedd8caec59da3b3a14c15d0c948bf1069ca3c6c
Allow an extra one pixel delta on each side of the
app bounds for source-rect-hint containment checks
when swiping to enter PiP.
Bug: 349821386
Flag: EXEMPT bugfix
Test: swipe PiP to home with 21:9 video from landscape to portrait
Change-Id: Ibc53e426b49cfcd58e977433358b9980732ac289
Fixes an issue in large screen layouts where the task order was
incorrectly being recalculated and the user would see their previous
tasks swap places.
Fix: 352308373
Test: Manual. In tablet view, open several apps, go to Overview, dismiss
a task so the top row order changes, then swipe down the current
focused task to resume. Observe order stays the same.
Flag: EXEMPT bugfix
Change-Id: Ic59e3125f69d36ba32d13436dba872f4d3a3d0df
This was a bug introduced in ag/28230638. Accidentally passed the
wrong boolean value. The bug is that the initial state animation
does not play, and the bubble bar remains invisible.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 352119655
Fixes: 352412093
Test: manual
- Clear all bubbles
- Send initial bubble
- Observe that the initial state animation plays correctly
Change-Id: Ie1435539e348c0a92a11db0b58a0b3bce6525cc0
* Overview to workspace taskbar animation changed duration, and
with the new longer duration we no longer need to speed up the
scrim animation.
* The new longer duration was actually slowing down the scrim
interpolator
Fixes: 351911299
Test: Tested on small and large screen.
Tested w/ the flag off and there is a flicker, but that was
present without these changes as well
Flag: EXEMPT bugfix
Change-Id: I5dc219de541f3c2fb29a5a91a4770b0dece0259e
- This fixed a regression caused by ag/27904180, where -1 is no longer considered `visibleLauncher`. -1 still have Launcher being top activity, and recents animation will always fail
- Added isInMinusOne in LauncherActivityInterface, and return Launcher in getVisibleLauncher for -1 case
- -1 should be the only case where Launcher is top activity, but is not started
Fix: 352254279
Test: Recents button from the following scenarios: Home, -1, apps, transparent apps, video from -1
Flag: EXEMPT bugfix
Change-Id: I0898d202b9dd4742c0c7d2c0d6b340c748e8acf7
This adds support for handling long clicking on the IME switch button.
Initially it will behave exactly like short clicking, i.e. show the IME
switcher menu.
Flag: android.view.inputmethod.ime_switcher_revamp
Test: atest
TaskbarNavButtonControllerTest#testPressImeSwitcher
TaskbarNavButtonControllerTest#testLongPressImeSwitcher
Bug: 311791923
Change-Id: Ibd0d6bce2bab11511bc082f46731ec86038c8cf8
Previously, we would extend the touch slop and duration when the
standard gesture slop was passed. This would actually increase
mistriggers, because it effectively doubles the trigger slop
allowance. Additionally, it seemed to usually get aborted by
gesture nav, which takes over after the first slop is passed.
With this change, we instead break down the gesture nav slop in
half (customizable by a new config parameter). In the second half,
we double (still customizable - but expressed as a percentage to
give us more flexibility than just 2x, 3x, etc) the duration to
trigger. This means omnient will be cancelled more quickly when
starting any swipe gesture, but if the user continues to dwell in
the navbar region for an extended time, omnient will still trigger.
Bug: 334860966
Test: Manual with ENABLE_LPNH_TWO_STAGES on and logging with
adb shell setprop log.tag.NavHandleLongPress VERBOSE
Flag: EXEMPT legacy DeviceConfig ENABLE_LPNH_TWO_STAGES DISABLED
Change-Id: Ida5c8e19b414a2bf0008b78b7bf0e7d41d3ff609
The bubble's outline was hardcoded with a fixed size. This caused a
shadow to be drawn using the hardcoded outline size, regardless of the
actual bubble view size. The BubbleView logic has been updated to use
the actual bubble size for the outline. The guarding flag has been
removed.
Bug: 340445019
Flag: com.android.wm.shell.enable_bubble_bar
Test: http://recall/-/gx8ASgewUeUS3QYohfrd1J/hqFtAZJnX0tCRONoFpSK3i
Change-Id: Iaa2c2d0bfeee2af9840acbcf11daaf8be2e0b7af
The removal and update of bubbles happen in different processes, so
it's possible for race conditions to allow users to remove bubbles
without knowing that an update exists.
Passing the removal timestamp allows wm shell to determine whether
the removal happened before or after the latest update was received
for the bubble. This largely mitigates the race but does not solve
it completely. Will file a separate bug to track that.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 351026092
Test: Manual
- Note the issue here is a race condition so requires code
changes to force repro it
- Locally I added an artificial delay between the time the
- bubble is removed and until the removal is sent to wmshell
- Create bubbles and expand the bubble bar
- Dismiss bubble by dragging it to dismiss
- Send an update to the same bubble before removal is processed
in wmshell
- Verify bubble is added back
- Verify bubble is not removed when the removal is processed
in wmshell
Change-Id: I05ddc692fe30709125e380351b223d20a0778264
- Also updated AnimatedFloat to accept a Consumer<Float>, so a lambda can be used as updateCallback with refernce to udpated value
- Also updated PendingAnimation to accept Animator with TimedInterpolator without specifying SpringProperty
Fix: 352195519
Test: manual
Flag: EXEMPT bugfix
Change-Id: Ifb78c1bcd3ca215a5d214f986a107d0988bff13b
Revert submission 28049476-kqs-cuj-instrumentation
Reason for revert: Droidmonitor created revert due to b/352144322. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:28049476-kqs-cuj-instrumentation
Change-Id: I8bfe7bfe4ce1bd816f138dbd4d5915f837ab97a0
Don't update the dot scale if the bubble bar is not collapsing or
expanding.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 351904597
Test: manual
- Create 2 bubbles in the bubble bar
- Select both bubbles to clear the dot
- Launch an app to stash the bar
- Send updates to both bubbles
- Observe dot appears during each animation
- Swipe up on the bubble bar
- Observe dot disappears for the selected bubble but remains
for the unselected bubble
Change-Id: I2cb6dd7ded261686ae73e497bd5d4841ebde35ef
Fix bubble update animation when the updated bubble is the only
bubble in the bar.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 352119655
Test: Manual:
- Create 1 bubble in the bubble bar
- Send an update for that bubble
- Observe bubble bar is animated correctly
Change-Id: If569810dacf0ef77147a822c53ddebd09e35fe15
Previously the translation x value for bubbles when the bar is
collapsed and on the right was 0 for the first bubble and some
fixed value for the rest of the bubbles. But if only 1 bubble
is visible when the bar is collapsed, as in the case when there
is only 1 bubble and the overflow, this ends up pushing the
overflow too far to the right.
This change updates the translation x value for bubbles when the
bar is collapsed and on the right, so that if only 1 bubble is
visible when collapsed, all bubbles have tx 0, otherwise if 2
bubbles are visible, the first has tx 0 and the rest have the same
tx value.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 350962159
Test: manual
- Add 1 bubble to the bubble bar
- Make sure bubble bar is on the right
- Expand and collapse the bar
- Observe the overflow tx value is correct during the animation
Change-Id: I8401d70fa6f374ace58d9cdbe3302e39e7aedc70
Before this CL we would show only one Taskbar icon per app, making it
impossible (through the taskbar) to switch between several windows of
the same app.
With this CL we add one icon per task instead, making it possible to
bring each task to the front individually.
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Bug: 351118893
Bug: 349790805
Bug: 351156858
Test: Started several Chrome windows -> taskbar has one icon per window
Change-Id: Ia692977effceb9ce339906bf6ca24d73e19d8769