- Instead of creating our own drag view within the container, and
handling logic to determine when to start a real drag, we start
the drag immediately and just defer onDragStart().
- To determine when the deferred drag should start, we add a
DeferDragCondition to DragOptions. The default DeferDragCondition
never defers a drag, but is overridden for apps with shortcuts
to defer until the icon is dragged a given distance.
- Because the drag is handled in DragController, including checking
when to start the deferred drag, DeepShortcutsContainer no longer
needs to handle touch events and ShortcutsContainerListener has
been removed.
This change has several immediate benefits:
- The code is much cleaner, because it allows touch handling to be
done by the DragController through the normal drag flow, without
recreating logic in ShortcutsContainerListener/DeepShortcutContainer.
- The janky second haptic feedback has been removed (now it vibrates
when you long press, like everywhere else, but not again when the
shortcuts close after dragging a distance).
- Drops are animated, instead of just popping the icon back into place.
Bug: 30769920
Bug: 30465972
Bug: 31533078
Change-Id: I679b412b72fbf6c3895d76963311eb5010c8e8db
Using center vertical alogn with a fixed height, overrides
the custom drawable padding and divides the available space
proportionally between padding and drawable padding
Change-Id: I4523543ab3007ef40eac69d878d2afbca13b483a
Animate open:
- Stagger-fade shortcuts as they open
- Become fully opaque before fully open, at which point the
arrow animates in (scale). This way there is no overlap of
a translucent shortcut over an opaque arrow.
Animate close:
- Stagger-fade shortcuts as they close
- Delay fade until arrow animation is finished, to ensure
there is no overlapping of translucent and opaque.
This is much less visually jarring when quickly dragging
and dropping apps with shortcuts.
Bug: 31533078
Change-Id: I8673ee64e92414c718233ea89b70362187e53696
The widget row contents were being clipped, which made it seem like
the horizontal scroll was broken.
Bug: 30023607
Change-Id: I00b0c334bbb0faf166d4cd168392cc494ed732e0
> Updating overall padding for the cell and adding drawable padding
> Ensuring that the folder cell is always rendered properly based
on available vertical space
Bug: 30605958
Change-Id: I8ceb9fea5a25052b0d7461f52edca0e6a33fa085
b/30400751
1) This also fixes the issue of apps drawer sliding up when page is swiped
horizontally immediately above the hotseat area.
2) Disclaimer: this should be cp'ed to calgary.
Hence, I tried to keep the diff small. Ideally, CaretDrawable animation
handling should move to AllAppsHandleImageView via refactoring in
follow up CL.
Change-Id: I4d808ee2eeca53b40c0b4e4e0e364fef056e26c3
(cherry picked from commit 016eaeea99)
b/30400751
1) This also fixes the issue of apps drawer sliding up when page is swiped
horizontally immediately above the hotseat area.
2) Disclaimer: this should be cp'ed to calgary.
Hence, I tried to keep the diff small. Ideally, CaretDrawable animation
handling should move to AllAppsHandleImageView via refactoring in
follow up CL.
Change-Id: I4d808ee2eeca53b40c0b4e4e0e364fef056e26c3
> This causes the scrim to animate with the content on first launch
> Also removing the logic to disable scrim based on state. That
logic was only executing onResume which could lead to an invalid state
Bug: 30972956
Bug: 30576826
Change-Id: Ia8386b303ce260f69e3b3b93041226f409301a01
AllApps UI on tablets includes the extra gray bottom bar at the bottom
for nav-bar background protection, and should overlay the nav bar
Change-Id: Idb138b714c34de5510eb9aedfcefb22c9189eee4
When touching down within the drag handle's bounds, we remove the
onClickListener temporarily (restored when touching down outside
of the drag handle's bounds). Long clicks still start the drag.
Also increased drag threshold from 12dp to 16dp.
Bug: 30816665
Change-Id: I0b33dc34bf95c0532376f2f7cf50865fa50093de
This change makes the padding consistent regardless of where the app
is (e.g. folder vs workspace vs all apps) by ignoring the app's
padding and adding our own to the shortcuts container.
Also note that this padding is relative to the icon, excluding the
text beneath it. So we also hide the text when the container opens
downwards, and re-show it when the container closes.
Bug: 30604007
Change-Id: I6e51c4983a8b5d495833f86e483ebaa229ed2099
Setting a touch delegate makes a view to become accessible, if its set to auto.
This was making drayLayer accessible causing Talkback to speak out every item
on the draglayer when window focus changes
Bug: 30670702
Change-Id: Ifcba4c02b124166f9ca69c4244b9d20d7a7acaa5
> The shortcut container closes with an animation
> When opening/closing the animation only the icon scales
and not the title and drag handle
> When dragging the icon, it starts from the original icon position and
moves under the user finger. The container grows to follow the drag view.
Bug: 28980830
Change-Id: Ic0353c30b682d1f018cbf4d62e8a6e8e7d7d4664