Shortucts popup uses predrag listener to manage the transient state of
the icon. Fixing the order of PredragListener, such that predragEnd gets
called before dragStart. This allows the transient state to be cleared
before any other state changes are done by onDragStart.
Bug: 62544416
Change-Id: I77c9a1aa17a15fe6f9f342af7a7fe3092a9d026b
This is done in preparation for new PreviewBackground animation
where we will be animating in the first page preview items when
closing the Folder from a non-first page.
Bug: 36022592
Bug: 35064148
Change-Id: Id4d54da16ddfa852ca639a2dc8d328307d4d443a
and reuse instead).
2. Prevent NPE in dereferencing mDragInfo.
3. Get rid of unused variable assignments.
Change-Id: Ie74169795462d4dbdb61f84495ed1ec6ab2b0709
1. Make instance variables final
2. Get rid of explicit type arguments that can be inferred
3. Get rid of redundant initializer
4. Get rid of unnecessary ;
Bug: 62466540
Change-Id: Ia534fb032c20447e604011d466aa3efdfade4027
> Removing workspace state change listener. State change happens with hardware layer,
so children should not be calling invalidatge() during the animation
> Moving QSB inside the QSB and removing a floating layout
Bug: 37616877
Change-Id: I9af3522a05dafa5796586bb64f512d98688caf79
> Removing the code for LIGHT_STATUS_BAR as that will be controlled by the theme
> Updating icon cache to always use transparent background for low-res, as the
theme can change the bg color
Change-Id: Iab64ec29cab629ee515af22ec15b95d3f40a9df5
> Checking for duplicate icons before adding new icons
For O and above, icon addition is controlled using
SessionCommitReceiver.
As long as the Launcher is the default app, it will keep adding
icons on the homescreen. Apps installed while launcher was
not the default homescreen, no icons will be added.
For below O, icons are added based on package event. As long as
the Launcher process is running, it will keep adding icons on the
homescreen. Apps installed while the launcher app was dead, no
icons will be added.
Bug: 37528649
Bug: 37082950
Bug: 34112546
Change-Id: Ic99501fa476c00474a479f2a36c24614bfa3f4bf
- Don't open popup when using "move item" action
- Don't announce "Item moved" if dropping on original cell
Bug: 33501751
Change-Id: I7236cd51fc00c357a1d7597e2fcb68c3a7c16b0b
- Size defined as percentage of app icon size
- Width changes when there are 2 or 3 digits (round rect)
- Offset slightly away from the app icon
- Had to move drawing to BubbleTextView instead of
FastBitmapDrawable
- Hide badge when dragging and while popup is open
- Tweaks for some color/text parameters
Bug: 35744066
Change-Id: Ibb15ca634abaa0729aea637c904c4c6889a58c7c
When false, it correctly does not show the QSB but leaves
a default style search bar which cannot be removed.
Add checks to control default view visibility in device
profile layout & re-layout, QSB container and in
Workspace's onMeasure
Bug: 35967694
Change-Id: I3d0f89e1022d838eeb95762fd1fb3f7257956c41
We already close the Folder when Work Profile apps are
auto added to the Work Profile Folder. This change extends that
functionality to when apps are being auto removed from the
Work Profile Folder.
Bug: 35845161
Change-Id: I2aa6a6a0ed28a95f6a59a549430f91482583548b
wallpaper
> Using HomeScreenElementTheme for workspace items
> Fixing view inflation where wrong layout inflater was being used
Change-Id: I92e278dbfb609ad7af9c2f47351f23f03cf12049
- Scale the badge and text or icon up or down, respectively.
- Only animate if the badge is visible, and don't animate when
applying shortcut or app info.
- Animate folder badge out when folder enters accepting state.
Bug: 34838365
Bug: 32410600
Change-Id: Ie60cb1fc54fe60d72734d833040545d27660d645
- The folder badge contains the sum of the badge counts within.
- This is represented by FolderBadgeInfo, a subclass of BadgeInfo.
Bug: 34828806
Bug: 32410600
Change-Id: I977a69cc7baf80a7207af9adf98dddb0a3509c47
> 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
PackageUserKey is only meant to be used for items that support
notifications, so when trying to update it for an item that
doesn't, we don't use it to check if the item has notifications.
This fixes a crash that happens when trying to update notifications
for a legacy shortcut, as such a shortcut doesn't have a component
on its intent, which we were trying to use to populate PackageUserKey.
Bug: 34842278
Change-Id: I8c69ccebbf9d93505d5b29ecd25d76c65610ddc4
hence the overscroll will appear and you can wrongly enter into the -1 screen.
The problem was that the state value in the workspace was set after enabling
free scroll, but enabling free scroll checks the current state for validation.
This bug was introduced by Icc3005fd431569e2b9e3f52d2249de8ba8d13eab.
Bug: 34817798
Change-Id: I46802c93c49a2ae8ee5c40ef24e465d7fe63c4bb
the drag source image
> Using common code for pending item drag (WidgetContainerView and PinItemDragListener)
> Adding a shortcut-circuit in Workspace when a pendingItem can create a shortcut
directly. Previously the multi-window drop was routing through onActivityResult which
was causing some state information to be lost.
Bug: 33584624
Change-Id: I0259870032185713caa9bff27092dbae6ce91199
- Also added PopupItemView, which takes animation logic from
DeepShortcutView, and which DeepShortcutView now extends.
- Renamed ShortcutFilter to PopupPopulator, which has support
for new item types (not yet used). Also moved populating
logic (e.g. UpdateShortcutChild Runnable) to PopupPopulator.
Bug: 32410600
Change-Id: Ib6e444ac7ca99c80ba438801c26e62d9542e0ad9
- NotificationListener extends NotificationListenerService, and is
added to the manifest.
- Added PopupDataProvider, which contains logic for storing and
interacting with data that goes into the long-press popup menu
(shortcuts and notifications). A follow-up CL will rename
DeepShortcutsContainer to a generic PopupContainerWithArrow.
- If Launcher has notification access, NotificationListener will
get callbacks when notifications are posted and removed; upon
receiving these callbacks, NotificationListener passes them to
PopupDataProvider via a NotificationsChangedListener interface.
- Upon receiving the changed notifications, PopupDataProvider maps
them to the corresponding package/user and tells launcher to
update relevant icons on the workspace and all apps.
This is guarded by FeatureFlags.BADGE_ICONS.
Bug: 32410600
Change-Id: I59aeb31a7f92399c9c4b831ab551e51e13f44f5c
- 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
> This ensures that LauncherAppState is only accessed in the presence of
a valid context
Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750
The bug happened while reordering pages in overview mode and clicking the back button.
The fix is to check the precodition in enableFreeScroll if we are in a valid state for enabling freescroll (currently only overview mode).
Bug: 33347786
Change-Id: Icc3005fd431569e2b9e3f52d2249de8ba8d13eab
Activating scroll to left when the either the visualCenter or the touchX
enters the left screen first or right screen.
Previously only the touch point was being considered to activating the scroll
zone. But visual center is used everywhere else for actual drop location. So
depending on the touch point relative to the picked icon, the touch zone could
seem smaller or larger.
Using both points (touch and visualCenter) will increase the scroll zone area
with minimal effect on the drop location calculation.
Bug: 31946075
Change-Id: I4eb5146c0f0a05e8d024313d67f8e040e0b29dec