Added new SpringObjectAnimator class that wraps an ObjectAnimator so the
Object can be controlled via the Animator or via a SpringAnimation. It extends
ValueAnimator so that it remains compatible with AnimatorPlaybackController.
Code is behind feature flag toggle QUICKSTEP_SPRINGS.
Bug: 111698021
Change-Id: I1b20179ede37e89a6a6bb2a45d407cc74c99ac4e
- Set padding based on insets (same as noraml nav) rather than
available height (more than normal nav)
- Fill whole screen for quick switch
Bug: 111699315
Change-Id: Ia1392cc0b1ed3600635dbce76d8b945f0337d7cf
This will help keep the code clean when we add more params, e.g. for
live tiles and for the scrolling gesture.
Bug: 111699315
Change-Id: Ia9df40ae85fe29911b957bd9b06b8c8a31f3be39
This way we can update the insets of the adjacent task throughout
the swipe up from an app.
Bug: 111699315
Change-Id: Ieeaa5b6667e44f82e7e097acb9f0552609b15809
This would guaranteed to repro b/118441555 before it was fixed.
The test doesn't use the most powerful feature of race condition
reproducer, which is enumerating all possible event sequences.
Instead, it uses explicit repro sequences, which makes the test much
faster.
Bug: 120628042
Test: The added test
Change-Id: I89a7a9964f160a8a20ba3d9dda2f248237713014
Activity manager can report launcher activity as running when is hasn't
yet been resumed.
Bug: 120628042
Test: TaplTests, Fallback tests, manual tests
Change-Id: I6b382b17d05066a63360acc19e094674ecca7130
- When the launcher activity is killed, the next init will attempt to
create a sync applier, which uses the ViewRootImpl of the target
view. But when onActivityInit() is called, the recents view has not
been attached to the hierarchy so the view root is not accessible.
The SyncRtSurfaceTransactionApplier also ignores scheduling all
updates when it has a non-existant view root, which leads to the
app surface getting stuck midway during a swipe up (only affects the
duration of the animation)
Bug: 119661847
Test: adb shell am force-stop com.google.android.apps.nexuslauncher
then try and swipe up slowly
Change-Id: I8eef9fe38c55c0cb438d63b41c335f78679278a3
The size of the window changes during the animation progress, making the
window look rounded for longer. What we want is to animate it from the
shape of the icon to the shape of the display.
Change-Id: Ib4889b697bf78cdc37c160130fde961650080fb7
Fixes: 120553563
Test: visual
Navigation bar can show on non-default display now. So the caller
should specify which display the desired navigation bar is on.
Bug: 117474929
Test: atest Launcher3Tests
Change-Id: Ibb22e51730ab145a42a129b4d964299acd4efd56
(cherry picked from commit f1bb3a4d4c)
Test: Manualy launch an app
Test: Press home when activity is on top of the stack
Test: Quick scrub
Test: Swipe up on the home button, swipe down
Bug: 111514493
Fixes: 116745318
Change-Id: I66d25bc433061ede46107ea9651c198614306692
(cherry picked from commit faa443308e)
Previously we were comparing the controller's progress at the time of
the end of the animation... which is always 1. Instead, we should be
comparing the effective final progress based on the interpolator.
Change-Id: I18110b5a3b914839860931187f39cfa11182b3e2
Using View#getDisplay().getDisplayId() into
IWindowManager.overridePendingAppTransitionMultiThumbFuture()
for multi-display support.
Bug: 119530958
Test: manual
Change-Id: Icde73b2545f879771a62030c8151a86a324fa593
(cherry picked from commit 233622d907)
No UX spec is ready, so using some placeholder layout.
No attention to string localization since I feel that strings may
change, compared to current mocks.
Not using remaining-time API, as it is not ready.
Bug:118319143
Test: Manual
Change-Id: I50cff9099677db543e95963f058d3e89eab07d8f
When the developer option for freeform is enabled, provides
a "Freeform" option in the recents task overlay menu. This
is sort-of an analog to the freeform option in N recents;
however, since recents now is part of home, there's no
straightforward way to have multiple freeforms at a time,
so this really is only useful for developers.
Bug: None
Test: manual - enable freeform in dev settings, then pick
Freeform from recent task overlay menu.
Change-Id: I5d8e95aaffb8fe43e655f705cacdd51859c95d3b
(cherry picked from commit 9beb6bf251)
It used to be an invalid state to create a new dismiss animation while
one was pending, because the only way to do it was to swipe up. However,
now there are a number of places we create the dismiss animation, e.g.:
- When entering split screen
- Clear all
- Uninstalling an app
So now, instead of calling this an illegal state, we simply cancel the
previous pending dismiss if it exists.
Bug: 118880699
Bug: 118400078
Change-Id: I4d073f7e9d50e832ba4ae55391530040a0fac50c
Deferring the window tracking when touching down on the back button means that
we don't set isQuickSwitch before setting the state to FAST_OVERVIEW, making it
not scale up to be full screen. To fix this, we reapply the state when preparing
QuickScrubController for quick switch.
Change-Id: Ib3dcf300c45a00673ff9337f98d16d4e8cdf1ea0
There was a race condition where we were getting onQuickScrubProgress
before onQuickScrubStart. If we got enough of those, we were jumping
some pages before the block is set in onQuickScrubStart (which also adds
its own page jump). Now we don't send any onQuickScrubProgress() to
QuickScrubController until we have sent onQuickScrubStart()
Bug: 118636260
Change-Id: I60084850b0b1baad34112ab5945fce81cc3a3c53
- The click listener should be removed, otherwise, it can still active
and clickable when the TaskView is bound to a new Task whose icon
has not yet been loaded, which can cause crash.
Bug: 118834133
Change-Id: Ifd9fd8fe99b6177851d366f0c21f8fad59f1950e
setAlphaComponent throws expetion for invalid range, which can cause brashes in overshoot
interpolation
Bug: 118390004
Change-Id: Ic9c5ff3d660eba353b982c4c47ccfaf329b3e296
This removes some crass dependency on Launcher compat implementation
making it easier to move iconCache to a separate library
Change-Id: If5fab0c82d98089cde6f54b6a374fb7bb2db5ae8
Since the DragLayer translates downwards, we no longer need the scrim fade
animation to avoid the hard scrim line.
Bug: 117677608
Change-Id: I4cd524d798579289d61bfe296f6de42bd22b0cb7