We call finish recents animation before app switch animation finishes. When we finish, the live tile params are not cleared up.
This change takes care of
- clean up recents animation targets when it's finished
- do a sanity check on live tile surface params before adding them to the surface transform array
Fixes: 143889142
Test: Swipe up to Overview in live tile mode, switch to a different task, and make sure it doesn't crash anymore
Change-Id: I089cf0a97744461d1fec4d0c97e0c3c6c1049ae3
- Even though the object wrapper is used within the same process, the
call to start the fallback recents activity means that the system
still ends up holding a reference to a copy of the intent and its
extras, including the reference to the wrapper and the thumbnail it
references, until the activity is destroyed (or next restarted).
We need to clear the actual object strong ref after it's used when
handling the new intent.
- The running task can have an associated thumbnail, so we should also
clear the tmp running task ref when we leave overview.
Change-Id: Icdc0b1989b13927d112949797752615014856970
Even though they don't block presubmit, the fact that they are failing:
1. Causes sheriffs no not notice other issues;
2. Would block switching to 24hr fix-it policy and Quarterdeck.
Bug: 143488140
Change-Id: I95e3e15b69e0487946919f3f6889e286a1fae141
- Add NoButtonQuickSwitchTouchController which uses
BothAxesSwipeDetector to track horizontal and vertical motion.
- Initially, we only detect swipe left to right to quick switch
(like before), but then we allow swipe up to either go to
overview (if you hold) or back home (if you don't hold).
- xDisplacement transitions non-overview components out (e.g. shelf
and workspace), and translates overview in.
- yDisplacement translates overview up and scales it down
Bug: 126596417
Change-Id: Id679ad84c08246e205c667a78ed5df00d7276258
- Add NoButtonQuickSwitchTouchController which uses
BothAxesSwipeDetector to track horizontal and vertical motion.
- Initially, we only detect swipe left to right to quick switch
(like before), but then we allow swipe up to either go to
overview (if you hold) or back home (if you don't hold).
- xDisplacement transitions non-overview components out (e.g. shelf
and workspace), and translates overview in.
- yDisplacement translates overview up and scales it down
Bug: 126596417
Change-Id: Id679ad84c08246e205c667a78ed5df00d7276258
Merged-In: Id679ad84c08246e205c667a78ed5df00d7276258
We were previously offsetting the launcher animation progress based
on when we got onGestureStart, which meant it would lag behind if
onGestureStart came late. Now that we track the window instead of
the launcher shelf, and we don't show the launcher animation right
away in fully gestural mode anyway, we should remove this to ensure
the launcher part of the animation always lines up with the app
window.
We also reapply state whenever predictions are enabled, e.g. when
launcher starts after being force stopped, and previously this was
canceling the existing state animation. We don't want to do that
because predictions can be enabled at any point on a cold start,
and cancelling the existing state animation means that RecentsView
shows up in fullscreen and not attached to the app window for the
duration of the gesture.
Bug: 144454486
Change-Id: I65a2c71c9acd2f5345941ea2cff7d32c04b7be3f
Test:
1. . build/envsetup.sh && tapas NexusLauncher
2. ccdebug && cclogcat
3. launch from workspace any app that is also in predicted apps
4. verify in terminal it has correct predicted_rank
Bug: 143855018
Change-Id: I07a62f07057537a6c09384cf944bbc5aa5888d22
Merged-In: I07a62f07057537a6c09384cf944bbc5aa5888d22
Test:
1. . build/envsetup.sh && tapas NexusLauncher
2. ccdebug && cclogcat
3. launch from workspace any app that is also in predicted apps
4. verify in terminal it has correct predicted_rank
Bug: 143855018
Change-Id: I07a62f07057537a6c09384cf944bbc5aa5888d22
- Use singleton on LiveTileOverlay to make sure we only have one LiveTileOverlay instance
- Clean up upon recents animation cancelation
Fixes: 140337263
Test: diligently swipe up and down
Change-Id: I8e0db3c5240135a6deb4f4d91493b8eede7c5ff1
- The states that trigger the call are all on the UI thread, so we
shouldn't need to synchronize before calling into it. But the
second issue is that we set those states when the gesture ends and
we calculate the end target. This can happen before the animation
started or after the animation has been canceled, so we need to
guard against the null controller as well.
Bug: 143153963
Change-Id: I4649483a52c85c5662665d5e8905b49d5623b6dc
- Immediately callback when scheduling activity tracker callback and the
activity already exists
- Remove LauncherInitListenerEx, it was only used to update the prediction
ui state, but not all of the callers of the launcher activity init
listener actually needs this (ie. Go doesn't have overview predictions,
overscroll input consumer/touch interaction service doesn't need it.)
Instead we only call it in the places we need it LauncherSwipeHandler (for
swipe up) and OverviewCommandHelper (for the nav bar button).
Bug: 141886704
Change-Id: I890a45e658be813e99b2a02f179fce611ede9ce8
Bug: 143904998
Test: put now playing shortcut in workspace, verify dragging it doesn't
cause a crash
Change-Id: Ic531b43d61d55ec14e9f420ff799a36b8d785e2a
Now, for example, we won't diagnose a locked phone as a
"home button not showing in 3-button mode", even though it's technically
correct.
Change-Id: Ibdfa0741af7ff8545a811f6702dda74dc6c31c2e
- We do need to redraw live tile when translationX changes
- Switch live tile to screenshot and finish recents animation when the drag takes user back home
Fixes: 143857157
Test: Swipe up from app to Overview, pull back on home handle, and observe that the live tile follows through the recents view with translationX change
Change-Id: Ie1b726c9efc1a86605847c960e2ce1e2b50bdae3
After we finish the recents animation, the current task id should be correctly reset so that when the task is launched from Overview later, it goes through the flow of starting a new task instead of finishing recents animation to app. A typical example of this is (1) user swipes up from app to Overview (2) user taps on QSB (3) user goes back to Overview and launch the most recent task.
Fixes: 143377934
Test: Turn on live tile, swipe up to Overview. Tap on QSB, see QSB launching correctly. Go back to Overview, tap on the most recent app tile, make sure the app is launched correctly.
Change-Id: Ibc1c8249d9b79584495bf0cec2ae6f7debfa658f