> Using View property instead of strings to avoid extra reflection step
> Using ViewPropertyAnimator when several properties are being animated
Change-Id: I41625643b38b70bac11e2c81d18058ec878d73bd
- This is due to the TransitionDrawable which does not actually
start an animation until it is first drawn. This workaround
will just immediately reset the transition if it is not currently
visible instead of animating (which is actually deferred until
the next animation into overview mode).
Bug: 22414257
Change-Id: Id481303d0c99a20c1d16396c024ab50303f45576
Adding support for restoring from a larger device, if the grid size
difference is not more that 1.
During restore add all the items in the DB, and run a one-time migration
the next time launcher starts.
The migration strategy is defined in ShrinkWorkspaceTask.java which involves
resizing, moving and removing some items.
Change-Id: I6ee411f6db5bf0152b527e16146a88c56dec2d97
b/22541466
>TL;DR;; when introducing mProfileBadgeMargin to correctly place
> work profile badge. Drawing origin of the preview image resulted
> to the left of (0, 0).
Change-Id: Ic52fc2e17c55c76f4f57aa833451ffa19bbbeb09
This CL doesn’t let the new code run, it’s under a compile-time flag,
and the behavior should be same as before.
The change introduces a concept of a DragDriver, which encapsulates
behavior of the existing DND (InternalDragDriver) or the framework-
driven DND (SystemDragDriver).
An instance of DragDriver gets created by DragController for the time
while a DND operation is in progress, and it takes care of translating
DND events for DragController.
Also did some cleanups, like removing meaningless fields etc.
Plans for future: keep working in Burnaby, and:
* Perhaps, better separate DragDriver from DragController
* Detect fling gesture for system DND
* Look at accessibility
* Polish animations and appearance
* Fix dragging from folders
* Support cancelling DND
Then, it will become possible to enable new dragging (based on Android
version).
Bug: 22028725
Change-Id: I41b40e9d512d83937f5b101ac8e3e8e7e807c269
- WidgetsAndShortcutNameComparator was using the actual widget and shortcut resolve
infos as the key to the label cache. Neither of these classes override hashCode()
and we were retrieving a new set of widgets and shortcuts whenever packages changed
so we would end up creating more and more entries in the cache. This isn't a huge
leak, but could lead to problems if Launcher is used for long periods without being
killed.
- Now, we use a ComponentKey as the key, so that we don't keep a reference to the
widget/shortcut infos and also ensures that they should hash to the same labels.
Change-Id: I91347ee72363adbc2b075b67dba331e35ab1fe34
> targetType was only added for M builds, so it can also be considered
as v4 change. V3 which introduced minSpanX and minSpanY didn't
contain targetType
Bug: 22417713
Change-Id: I5c353674f7e0c2b5b4ab46e574fdb347d82028cd
* commit '7e0a403759c401d3b94f4576bca3aa8fb94fe542':
Shifting hotseat icons to aling with all-apps icon, if the hotseat size is different from the source device
> The icon size in the backup can be different that what is
required by the device. We should resize the icon, before
caching it.
Bug: 22413328
Change-Id: Id77c53edf8ea5e95a2d32dbe22be553120279ebd
> Widget restore active flag was not cleared when the app was downloaded
> Icon from session info was not getting cached
Bug: 22413379
Change-Id: Ie096b929252200675a76dadd8c25cc3aa433671b
> Note: when there are corp and regular user profile widget providers,
it is guaranteed that regular user profile widget provider is always
queried first. Thsi is guaranteed because inside AppWidgetManagerCompat.getProviders(),
regular user always takes prescedence when iterating thru different providers
associated to different users.
Change-Id: I5e38e1fb30925ccba7e1e2925fd3e77c44a14901