In O, TalkBack reads both content description and the hint.
We clear the hint when the Folder is named so that TalkBack
only reads the Folder name.
Bug: 62557038
Change-Id: I222fef2e1ce4a0bc222f0ca7bfb2f24281907188
I thought calling arrangeChildren(saveChanges=true) would handle
this case, but because we set the position and rank in addViewForRank,
arrangeChildren does not see any changes to save.
Change-Id: Iab0fefe6da7711857ea05955a3243459f4e8527b
Current implementation only allowed dropping PendingAddShortcutInfo
on a FolderIcon.
Bug: 37814579
Change-Id: Ice42421c34665b0ebf199945761c5c86614573a4
When the Folder animates closed, it hides itself the same
time as the FolderIcon becomes visible. Because the Folder
does not have the white stroke outline, there is a visual
jump between the closed Folder and the FolderIcon.
This change is a subtle and easy step towards reducing
the visual jump.
Bug: 35064148
Change-Id: I8aeeed873e7144499d19f3b01c85bfa8a792097f
- Contains two rows, one for widgets, and one for "configurable
shortcuts" that have customization activities
- Extends AbstractFloatingView and uses VerticalPullDetector for
touch interactions
- No way to show this currently; will add options to popup in followup
Bug: 34940468
Change-Id: Iab62c2cb89428f91119c9c86f9db886496c321fd
In the previous change [1], we remove the duration
from the AnimatorSet so that the preview item
animations can finish faster than the other animations.
This causes the call to setCurrentPlayTime to crash,
because we never set a duration on the AnimatorSet.
This can be solved by creating a ValueAnimatorSet (future CL).
1: If63d4d032078ff4e28b72a09e35da3a71f1d0e27
Bug: 35064148
Change-Id: Ieed21e1ba8e669132188ce15fc20195ac841d14c
1. Start preview item animations later opening
2. Finish item animations sooner when closing
3. 1 & 2 allow the preview items to move as part of
the Folder and allows for a smoother animation
4. Remove setCurrentPlayTime as it is O API.
Bug: 36522198
Bug: 35064148
Change-Id: If63d4d032078ff4e28b72a09e35da3a71f1d0e27
In battery saver mode, the Folder opens where it appears
the final values of the Animators are not being set.
Bug: 36157561
Bug: 36246234
Change-Id: I8dd58044f5f5ac66f8a8476a77d9899447a973eb
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
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
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
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
We turn on suggestions, turn off auto complete, and disable the
default behavior where red lines appear under typos.
Bug: 30055146
Change-Id: Ia151b7a4db1dfc6908504e6ea82a1f6989f05ca5
This can happen when items (as part of a Work Profile) are auto added
to the Work profile Folder.
Bug: 35628160
Change-Id: I29d3b277b0e9cd4bb238fb5aff9a52c6b9e764f8
The first time FolderIcon#growAndFadeOut is called, the folder
icon pivot x/y is not set. By moving the call after centerAboutIcon
(which sets the pivot point), we get the expected result of the
animation growing upward.
Bug: 35126799
Change-Id: I22fccb6b23550f823eb7b4485b9584022b810323
> Moving all fling related logic to FlingToDeleteHelper from DragController
> Removing fling related methods from DragSource and DropTarget
> Moving fling animation logic from DeleteDropTarget to FlingAnimation
> Simplifying DropTargetBar to directly look for all valid drop targets.
This makes it easier to add new DropTarget in xml.
Change-Id: I7214d2d30c907ab93c80d92d9f9be6dda2d63354
> Removing insert parameter used to select the index of the view.
ShortcutAndWidgetContainer no longet relies on the index and instead
uses x and y to refer a particulat view.
> Creating helper methods to easily insert the icon by passing ItemInfo
directly. LauncherModel.addItemToDatabase synchronously updates the
ItemInfo with proper postion information. So we can directly use the
info instead of passing each parameter separately.
Bug: 32904959
Change-Id: I021c1b818f2f42604b95a6970e06aacc7211292a
We do this for pre-dragged icons instead of calling onDrop().
- Removes need for special logic in onDrop() to check if mIsInPreDrag
- Dropping from pre-drag in all apps also animates instead of jumping
We also do this when dropping an icon while still transitioning
to spring-loaded mode, to avoid having a janky jump at the end
- Bug: 27135377
Change-Id: I4548c3e2fef3423d1ba36057fb53807b1b4ad0fc
> 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
Since the item hasn't yet been removed until the deferred drag
starts, adding it again will throw an exception (the view
already has a parent).
Bug: 30769920
Change-Id: Icb95aaa64e6e3c5dc105bbf3e54460b529d02033
- 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