| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pending animations have not started but when ending animations, we
should ensure they are set to their end values based off the
documentation for ItemAnimator's endAnimations and endAnimation.
Bug: 132285006
Test: Build using endAnimations and manual test
Change-Id: I3039a4f192d68a0ead700cd81675b3e7b4ef51f9
|
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the logic in endAnimations and endAnimation is shared and should
be moved to a common helper method.
Test: Builds and functions as before
Change-Id: I4973d50ad8778bb397938b5d65d9f95f48ff145b
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* changes:
Polish app => recents animation (5/5)
Polish app => recents animation (4/5)
Polish app => recents animation (3/N)
Polish app => recents animation (2/N)
Polish app => recents animation (1/N)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add the part of the animation where task views fade in from bottom to
top. For the app animating in, we only fade in the label and the icon as
the snapshot needs to be visible as the app window scales down to it.
Bug: 132112131
Test: Manual test animation
Change-Id: Ia3fb98fde0b14fa4f72b53a1941cc2ee6b9f2294
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add the vertical ease in component to the app => recents animation. In
addition to animating over all task views, this should also animate over
the closing app surface so that the surface movement matches the
thumbnail as it moves to cover it. As a result, we take in the
transformation matrix thats passed in to the app surface and apply the
vertical motion to it.
Bug: 132112131
Test: Manual
Change-Id: I77c6716082af6ee722b96a2c362e16030cec8b8b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This CL takes the current scale down animation and updates its
interpolators and durations to match the UX spec. In addition, we move
the core logic to a helper method as the whole remote animation will
have other animations as well in the future.
Bug: 132112131
Test: Manual
Change-Id: I68b1d623b1b2c980dc34e41bbb5460cc021b5887
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This CL moves the core "app to overview" animation logic into
the main view as the newer animation would need to animate over several
of the main view's children and so the animation logic needs knowledge
of those children.
Bug: 132112131
Test: Build and test, functions as before
Change-Id: I9cbde55a582bee62e0a97e38c5fdf1d5841502db
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As part of building out a better remote app to overview animation, we
first separate out the logic so that we only do the default layout
animation when coming from a Launcher state (i.e. from home or all
apps) and only then, so coming from an app no longer leads to the tasks
animating.
We do this with a simple flag that indicates that recents will be
using a remote animation.
Bug: 132112131
Test: Go to app, go to recents. No layout animation.
Test: Go to home, go to recents. Layout animation works as normal
Change-Id: I30988d944571fd5317d0c9d13e2a99b167c1291b
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Animtor's cancel() skips some animator init logic that end() does so
we'd like to use that instead. The on end callback will still set the
animation value to its target end value so this doesn't affect
correctness.
Bug: 132285006
Test: Build and manual test endAnimations
Change-Id: I450a888c7b37a7dc74f24035d9abc5bda1cbbbd8
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When launching an from recents, onStop is not called until the app is
fully taken over and the remote animation finishes. As a result, if the
user hits the overview button right before the animation finishes, we
animate back to recents but never call onStart which is where we hook in
to update the recents list.
The fix naturally is to move this to onResume instead as once the
animation begins, the activity is paused.
Bug: 132293341
Test: Repro from bug, correctly updates
Change-Id: Ie6cfdc4d5aa6b1742a3bce3e14ab5ab6a4f05526
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Insets were not being correctly consumed by the root view in the
fallback recents activity. This CL properly passes on the system insets
to the recents view so that tasks flow under the system insets.
Bug: 131853975
Test: Have separate default launcher, go to recents, go to landscape,
tasks scroll under status bar
Change-Id: I16f78da896522c5cf41951817747a24cd5cfe32c
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the values in the 1.5x scale layout dimens were incorrect. This
fixes them so that they are correctly roughly 1.5x the 1.0x dimens while
still being aligned to the 4 dp grid.
Test: Test on walleye_svelte, more closely aligns mocks
Change-Id: I26d2e216c67c523799e3a159d864718da211cec1
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
endAnimations forces an end to all running animations. This also removes
it from the list which changes the list while we're iterating over it.
This fixes the issue.
Bug: 132285006
Test: Manual test w/ build forcing endAnimations
Change-Id: I0ee9917866dafe00ef3122dd9a43259d19fb9f79
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We would like to assume a correct up-to-date layout for Go recents
before the remote animation begins to ensure correctness of the app to
overview transition and allow for animating all the newly laid out task
views in sync.
We do this by checking if recents is the remote target we are animating
to and if so, checking if the view is ready. If it is not, then we
delay the remote animation until the layout is finished and everything
is attached.
Bug: 132112131
Fix: 132108983
Test: Run Recents Go, have no tasks in recents, open app, press
overview to go to recents
Test: Test on AOSP and NexusLauncher that animations to Launcher work as
before (both to recents and to home)
Change-Id: Id74d90cffc9fe5db1dbb5fe63b8819c7436fef21
|
|\
| |
| |
| | |
ub-launcher3-qt-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
onConfigurationChanged is only passed down to views that are currently
attached. Naturally, a recycler view has some views in its pool that are
not attached and thus do not get the call when the orientation changes.
When this happens and the view is then attached later, it can be in an
incorrect orientation.
To fix this, we save the current orientation the task item is using and
check on attaching if it's still the same as the orientation the device
is in. If it isn't we then run the orientation change logic.
Bug: 131848689
Fix: 131848689
Test: Change orientation with some views not attached, see that they are
correct orientation when attached
Change-Id: I3dec501c332338444e321b4a50876c7840a5bc6e
|
|\ \
| | |
| | |
| | | |
ub-launcher3-qt-dev
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was an issue where tapping recents while there were no tasks and
we first launched would not actually go to recents. This was because we
had the leave recents call tightly coupled with showing the empty view.
When the user first goes to recents and no task is available, we animate
to the empty view. However, this also causes us to leave the view even
though nothing happened and it results in the user leaving right after
enterring.
Instead, we should couple the leaving logic with the actual action,
removing the task.
Bug: 131708240
Fix: 131708240
Test: Go to recents while empty, goes on first tap now
Test: Ensured swipe to remove => leave recents logic still works
Change-Id: Ifff6d051d957838c3cfae200a2a8ebb316b22965
|
|\ \
| | |
| | |
| | | |
ub-launcher3-qt-dev
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For Recents Go, the thumbnails actually go directly under the status bar
text, so we should ensure that there is some scrim to ensure it's always
readable. We do this by adding a foreground drawable scrim to the
activity's root view.
Since this root view is used in other Launcher states, Launcher has to
toggle this on and off when going/leaving recents. When this view is
just being used for recents as a stand-alone, however, (i.e. when the
user has a different default launcher), it's fine to set this once at
the beginning since nothing else uses the root view.
Bug: 131834685
Fix: 131834685
Test: When quickstep is the default, go to recents and back. Status bar
is readable. Scrim does not animate when going to and from recents.
Test: When quickstep is not the default, scrim shows up fine
Change-Id: I5d88a1fd873860887b3141e1ec0ee999f59ccfad
|
|/
|
|
|
|
|
|
|
| |
Thumbnail corners should be anti-aliased so that they look smoother and
less rough.
Bug: 131779031
Test: Manual, go to recents and see corners
Change-Id: I49a299671ec37f56b6eebe2dd2eb71790e8cb2b4
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As we have a fixed width for the task list now, we have to ensure that
we do not clip the task items when we swipe them out. In addition, we
should fade them out by the end of the swipe as the swipe end location
may still be on a visible part of the screen.
Bug: 131686863
Test: Go to landscape mode, swipe out tasks
Change-Id: If86136a9f9d47098a6dd5d355d3a99d540165c77
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Occasionally, the recents list items were reversed. This is because
RecentsTaskList#getTasks returns the actual backing list which we were
reversing, so we solve this by making a new array list.
Bug: 131367388
Test: Do repro in bug, no longer gives reversed order
Change-Id: I825d284e4768c2b53fedf07480e99d195acfa6d6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The system insets already create visual space for us, so there is no
need to add additional margin if we already have the insets acting as a
buffer. So we can just overlap them, preventing scenarios where we have
too much scrollable white space.
As a bonus, we get a more robust way of determining the clear all
button's bottom margins as we now base it directly off whether the
insets cover the space as opposed to using the orientation (which is
an indirect way of knowing the insets).
Bug: 131636735
Test: Test on 320x569 mdpi. Matches UX spec.
Change-Id: I6a3a3a5475ed303ed21bca3ed3cc363276c6e745
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
View has an optimization where it will not measure again if it
is exact and the measurement has not changed. This means that when an
onMeasure pass starts off for each task view on orientation change,
it does not get passed down to the view holding the thumbnail and
icon as its measure specs have not changed. This causes an issue as
we use this measure call to react to orientation changes and
re-measure the thumbnail view to match the orientation of the device.
To fix this, we call forceLayout on the child explicitly on orientation
change to ensure that we get the measure call. This sets the flag to
force a re-measure in the next layout.
Bug: 131427332
Test: Do repro in bug, view rotates correctly
Change-Id: I0ef84dfcd0b3883582c8903d99d5e8a757ae8e74
|
|\ \
| |/
|/|
| | |
ub-launcher3-qt-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For phones with smallest width at least 480 dp, we can scale
everything by 1.5x to fill in the space better. For phones with less
width than this, we maintain the current 320 dp specification.
Bug: 131610834
Test: Emulate on 240x320 ldpi, 480x800 hdpi, 480x800 mdpi, 800x1280 mdpi
on both portrait and landscape and layouts work as intended
Change-Id: I3f7d28dc22aa3a2de96b3de51b1aa5b5c2cb19fc
|
|/
|
|
|
|
|
|
|
|
|
| |
In order for items to go under the system bars, we have the recents view
consume the insets by setting padding to the recyclerview instead of
setting the margins with it. Then, we ensure the recycler view does not
clip to padding so that items are still visible even when scrolled past.
Bug: 131626311
Test: Manual test; items go under system bars
Change-Id: Iecbab537b8f9e2993ad5f74f87ba2e0c56fb0f63
|
|
|
|
|
|
|
|
|
|
| |
Set a fixed width for the recyclerview and center it for landscape mode.
In addition, put a margin below the clear all button as we no longer
have the nav bar padding the area below.
Bug: 131610834
Test: Manual; See recents UI in landscape mode
Change-Id: I8c74d2d7cc363a76c4c978befdc975693d700f86
|
|
|
|
|
|
|
|
|
| |
Remove old custom view functionality to size based off device height
since we now specify dimensions exactly.
Bug: 131610834
Test: Builds, layout meets spec in portrait mode
Change-Id: Id401f27360f6bb2450d3ffb77888a1f709dc62f8
|
|
|
|
|
|
|
|
|
| |
Add vertical margins to all recycler items. In the future, we will
change these dynamically to ensure a task item is semi-visible on screen
Bug: 131610834
Test: Builds
Change-Id: I0b21c8ea7249e7fac640705e8128e309b954815b
|
|
|
|
|
|
|
|
|
|
| |
This CL sets fixed dp values for the recents item views based off the UX
spec. Vertical margins will be handled by an item decorator in the next
CL to handle special cases.
Bug: 131610834
Test: Builds
Change-Id: Ieb7936bd24933552844a6bd1bdb9e3101b8cdca4
|
|\
| |
| |
| | |
ub-launcher3-qt-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In landscape mode, recents thumbnails should be shown horizontally, so
this CL modifies the custom view so that it resizes to display a
horizontal snapshot.
Bug: 114136250
Bug: 131095241
Test: Rotate recents, see view width change appropriately
Change-Id: Ic3d8d039535c673567d19c372da211d177691a81
|
|/
|
|
|
|
|
|
|
| |
Round the task thumbnail corners as per the mocks by setting the bitmap
as a shader.
Bug: 114136250
Test: See rounded thumbnails on recents Go
Change-Id: I2bf8ebce34deb0d1cb6199cf8f6d5fa6ac746bb8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we load the task content (icons, snapshots, etc), oftentimes, we
are still in the middle of the layout animation where items are fading
in from bottom to top. At this point, we start a second content-fill
animation from bottom to top that fades from empty => filled after the
first animation. However, we can improve this so that empty views
aren't shown for a split second for some of the later laid out views.
If the first animation has not finished and we would animate a content
change from empty => filled but the view is currently still not visible,
we should just complete the content transition on the spot so that the
layout animation lays out the filled version instead.
Bug: 131339235
Test: Go to recents, observe lay out animation does not continue to lay
out the empty view first
Change-Id: I936a81e6cf8b3552cdee90c183fc841f50ec9ea8
|
|\
| |
| |
| | |
ub-launcher3-qt-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously we used the bottom most view in recents list to launch the
recent task when the user pressed the overview button. However, if
the user is in landscape and scrolls up so the bottom view is not
attached, pressing overview command will launch whatever the bottom task
is visually which is incorrect. Instead, we get the actual task from the
model to launch and only use the "view => app" animation if the view for
that task is attached. If it isn't, we use the basic animation.
Bug: 130735711
Test: Go to landscape, scroll up, hit command, launches correct task
Change-Id: Idff88054443259e917bbec1b47d78efbb1544283
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A previous change [1] introduced the material library as a static library
for the SecondaryDisplayLauncher. The material library defines a
resource "attr/iconSize" with format="dimension" while Launcher3 defines
a resource of the same name with format="float". The material resource
is being overriden by the Launcher3 resource and is preventing aapt2
from disallowing multiple definitions of the same attribute with
different formats.
This change renames the Launcher3 iconSize so it will not collide with
the material resource.
[1] If183dd35a1d197c4a9a8225a021e36c4f1662587
Bug: 129146717
Test: build success and inspection of generated apk
Change-Id: I5eb54ea606ddcfb47d5150b44906a8707203e905
|
|\
| |
| |
| | |
ub-launcher3-qt-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Hook up the thumbnail drawable created in the first CL to the task
thumbnail so that the drawable automatically rotates and resizes based
off the device orientation.
Bug: 114136250
Bug: 131095241
Test: Go to app in landscape, go to recents, rotate => thumbnail rotates
Change-Id: Ib58e45ab3e94aeb080e47b1d5b38c221acce5ef3
|
|/
|
|
|
|
|
|
| |
Add vertical margins to clear all button and add horizontal padding.
Bug: 114136250
Test: Manual test on marlin_svelte and emulated tablet (1280 x 800)
Change-Id: Iae8d6609ca1031947e8e8d90f526d9cbda070ee5
|
|
|
|
|
|
|
|
|
|
| |
Unlike other task items in the recycler view, the clear all button
should not be swipable as you obviously can't remove the button.
Bug: 114136250
Test: Go to recents, attempt to swipe clear all, does not work
Change-Id: I0ab00c03b697f2174431b69bbf758c3ff104db97
(cherry picked from commit cd88cf8d1c37c65e55f98e7003151663ceeebf0a)
|