> The drawable gets the path from MaskIconDrawable path, instead of
using a circle
> The progress changes are animated as well
Bug: 34831873
Change-Id: I4e7f0b610f4fd94de8e0cfcf8b179b775cf0b4d8
This CL will bake the legacy icons inside a grey background
Note: There will be follow up CL to change the color and shadow of the
legacy icon. The idea of this CL is to first test if MaskableIconDrawable
methods and class work properly.
Bug: 32063838
Bug: 33553066
Change-Id: I3d02e619fcb0cd9879baa22a025b5d95c829f26c
This uses the same color calculations as the system, except that
we use the extracted notification background instead of assuming
it is white.
Bug: 32410600
Change-Id: I7be8b9459ca38d01a6780758898541e69ec42576
- Next secondary icon animates up to replace dismissed main notification
- Add padding around main notification so it always aligns with the
straight edges of the view (not the rounded corners); looks more
dismissable
- Notification view collapses as notifications are dismissed
- To mimic system notification behavior, we copy SwipeHelper,
FlingAnimationUtils, and Interpolators. We also apply elevation
to notifications and reveal a darker color beneath when dismissing.
Bug: 32410600
Change-Id: I9fbf10e73bb4996f17ef061c856efb013967d972
Instead drawing badge in the view directly.
This will allow us to reuse the same preview when we do not want to draw
badges. This also simplified badging of shortcut config activities.
Change-Id: I9c07c33bf9c2b8ef81a00026b1d42587868c906f
- Added BadgeInfo to contain data to be shown in a badge
(currently just notification count).
- Added BadgeRenderer in DeviceProfile to contain things
relevant to drawing the badge, such as size and Paint's.
- Added IconPalette to compute colors for the badge based
on a dominant color (will also be used for notifications)
- FastBitmapDrawable uses these classes to draw the badge.
Bug: 32410600
Change-Id: I6595a4879943357590f7d20c22594691a573ecaf
not only over the hotseat.
The tricky part handling with scrollable widgets is solved by
setting requestDisallowInterceptTouchEvent from within the
widget view host (and resetting it upon performing long click).
Change-Id: I8b60e7ea2c1e8ae830b4737e94ed2d796265fa24
* Vertically centers workspace icons.
* New iconDisplay value so shortcut text is not overriden.
Bug: 32176631
Change-Id: I86753bab5b24aafc417e0f77d8c471fc4c0dc7f0
The number of folder cols/rows are set in InvariantDeviceProfile.
Because of this, we may need to scale down the folder cells in
multi-window mode.
Bug: 32176631
Change-Id: I925d5ac9d29439c5d61cf089e7784065a8cb5ebd
This was an exploration for an alternative UI in all apps, where we
show section headers before every section. This was never released.
Change-Id: I2d36f1d078cc9a6f3ba6f0ec9655412182c9b016
> Using a separate view for drawing the popup. This allows us to use elevation
property instead of drawing the shadow as bitmap.
> During the thumb animation, invalidating the full track width, instead of
invalidating the track and thumb separately.
> The thumb path is calculated at 0,0 and drawn using canvas.translate().
This avoids recalculating the path on every scroll.
Change-Id: I48741e5b4432df0d939016db284d7aaf52cc2aa6
> Creating a base view for floating panels with some common methods
> Moving the getOpen method to individual classes
> Moving the folder icon animation logic to folder icon
> Moving all the logic related for opening folder to Folder class
Change-Id: I898dfb6870b857cb921d2729b89618bc43ff2e88
- First of all, deferred drag has been renamed to pre-drag
to avoid confusion with the existing deferred end drag.
- For normal drags, the cycle is still startDrag -->
onDragStart --> onDrop --> onDropComplete --> onDragEnd.
- Pre-drags have two additional callbacks: onPreDragStart
and onPreDragEnd. onPreDragStart is called between
startDrag and onDragStart, and onPreDragEnd is called
at the same time as onDragStart or onDragEnd.
- If the pre-drag has not transitioned to a full drag before
onDragEnd, onDragStart and onDropComplete are skipped
(onDrop is still called to allow the DragView to animate).
Change-Id: Icd7a8f75d5fcc159f9a52758c22ab6eae3edb9e2
Otherwise it looks like we are aggressively truncating the
text even though there is plenty of room to show it.
Bug: 31790418
Change-Id: Ia1cdc232f05815732d4cb95b954e935724a200fd
- 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
Keyboard shortcuts:
ctrl+A => Open all apps
ctrl+S => shows deep shortcuts
ctrl+O => shows custom actions popup
This also removes the direct delete/uninstall key shortcuts, making
actidental icon removal less likely
Bug: 24065447
Change-Id: Iae63370c0f33620628567cffd4df024064d4d02e
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
> 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
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