DeferredHandler was added when we were posting each icon separately,
to prevent starvation. But since then we have moved to binding batct
items during bind.
Also fixing waitForIdle not waiting the second time. waitForIdle was
using a global variable to maintain state, and was not waiting properly
when its called the second time before binding deep shortcuts
Original Change-Id: I9c1289cb3bfb74f86e53ec7ac6dd76bb39666b2d
Change-Id: I9e6b3ae65fbd3aec3a46092efc5249c4525efedf
When we open the Folder, we set the FolderIcon to View.INVISIBLE.
It is possible to close the Folder without animating it (ie. when apps
are being auto added / auto closed to Work Profile Folder), and so the
FolderIcon is never set to View.VISIBLE.
Bug: 35064148
Change-Id: I2fc5b7ecaceffde0a3f3875870897c18e6e8dadf
This can happen where you drag a new item to a Folder that has
a full first page.
Bug: 36022385
Bug: 35064148
Change-Id: I092a79a13b7f779f09ee7a79488a16fe8bfbc2fd
Added FolderAnimationManager, which manages the opening
and closing animations.
All of the animations are done in the Folder.
ie. When the users taps on the FolderIcon, we immediately hide the
FolderIcon and show the Folder inits place before starting the animation.
Bug: 35064148
Change-Id: Icacdbbf78a25489f2eab4fd352f2c6ed71eb710b
This will be used in the new Folder animation. In the opening
animation, the reveal starts out as a circle and progessively
turns into a rounded rectangle. The closing animation is the reverse.
Bug: 35064148
Change-Id: I8accbaa83abee881bc3e16119c7602796c9963cb
This is the basis for app discovery integration while searching in all apps.
This does NOT include binding to the actual service and retrieving results,
but instead provides all the UI to show suggested instant apps and apps
from a store with star rating and pricing.
Change-Id: I1605b52848491acee4ac1d15c0112e6a768363f6
Instead of cliping using clipPath, using PorterDuffXfermode to clear
area outside the bounds. This provides much better support for antialiasing.
Software layer was also being used for drawing shadow. But since the paint
color was set to transparent, no shadow was being drawn in O. Instead drawing
the shadow using radial gradient.
Bug: 35680116
Bug: 35428783
Change-Id: I0431664400628d5d01675fe72fe7ade01b64d611
- Background is now white, and color beneath and divider color
updated accordingly (not from color extraction)
- Removed overflow text ("+6") and added it to a header
("6 Notifications"). Use "..." instead if there is an overflow.
- Even spaced out icons in notification footer between the
far right icon and the ellipsis
- Remove code to change arrow tint, since it is always white
now. This also fixes the issue where it was drawn as a rect.
Bug: 35766387
Change-Id: I03bfda4ff029f23dd8b3dd1b72f534ea0e2c0816
Earlier we were relying on activity list to check is an app is
installed or not. It fails if the app only exposes widgets and
no visible activity. Hence dragging an icon to AppInfo sometimes
causes the icon to get disappear.
Bug: 33241335
Change-Id: Ieb71e298a0930dd0a831cf09bd1e998514a427fd
$ adb shell dumpsys activity provider com.android.launcher3/com.android.launcher3.LauncherProvider
To see how the proto is filled: go/launcher-proto-dump
b/31772480
Change-Id: I8e0f1e5e38148a3dfeabd2fc057392193b2625dd
- Add static method to ShadowGenerator to generate a
circle Bitmap with a shadow.
- Move setColorScale() from DragView to Themes, and
use it to apply color to the shadowed Bitmap.
Bug: 35744066
Change-Id: I8d1da528bbf94dc83851f0b4016361ed9f8d5349
- DeepShortcutViews are added to ShortcutsItemView, which
is in PopupContainerWithArrow
- Moved some shortcut-specific logic to ShortcutsItemView
(namely, touch/long-click handling for draggin shortcuts)
- Moved round-rect clipping to PopupItemView
- Removed collapseToIcon() logic, including
PillWidthRevealOutlineProvider, which was only used for
that purpose. It isn't necessary now that the deep
shortcuts have no background themselves.
- Replaced focus pill drawable with ripple effect on
shortcuts and notification view.
Bug: 35766387
Change-Id: I6bc09f1851cfbb806df4bf75a6e435b0f1900c9c
Refactored animator logic to separate methods, so that it is easier
to swap out implementation with the LAUNCHER3_NEW_FOLDER_ANIMATION flag.
ie.
AnimatorSet anim = LAUNCHER3_NEW_FOLDER_ANIMATION
? getNewOpeningAnimatorSet()
: getOpeningAnimatorSet();
Bug: 35064148
Change-Id: I32a646aaed5081438d7a733dc3e7cceb484998ab