diff options
author | Adam Cohen <adamcohen@google.com> | 2015-01-23 16:11:55 -0800 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2015-03-09 11:29:28 -0700 |
commit | c9735cff2e558aa3f3810e49c15ef13049b9429c (patch) | |
tree | 13a6513604861f1e19f2f8ce1ca0f99d9b4a196f /src/com/android/launcher3/SearchDropTargetBar.java | |
parent | 8dbf0fff1f424df8db1bbedfe8e5cfd7783a92ea (diff) | |
download | android_packages_apps_Trebuchet-c9735cff2e558aa3f3810e49c15ef13049b9429c.tar.gz android_packages_apps_Trebuchet-c9735cff2e558aa3f3810e49c15ef13049b9429c.tar.bz2 android_packages_apps_Trebuchet-c9735cff2e558aa3f3810e49c15ef13049b9429c.zip |
Enabling accessible drag and drop
-> Using the context menu, and a new two stage system, this allows
users to curate icons and widgets on the workspace
-> Move icons / widgets to any empty cell on any existing screen, or
create a new screen (appended to the right, as with regular drag
and drop)
-> Move icons into existing folders
-> Create folders by moving an icon onto another icon
-> Also added confirmations for these and some existing accessibility actions
Limitations:
-> Currently, no support for drag and drop in folders
-> Considering moving the drag view so it doesn't occlude any
content (in particular, when user changes pages)
-> In this mode, accessibility framework seems to have
problems with the next / prev operations
Bug: 18482913
Change-Id: I19b0be9dc8bfa766d430408c8ad9303c716b89b2
Diffstat (limited to 'src/com/android/launcher3/SearchDropTargetBar.java')
-rw-r--r-- | src/com/android/launcher3/SearchDropTargetBar.java | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/com/android/launcher3/SearchDropTargetBar.java b/src/com/android/launcher3/SearchDropTargetBar.java index 99c2e0859..cc17820ff 100644 --- a/src/com/android/launcher3/SearchDropTargetBar.java +++ b/src/com/android/launcher3/SearchDropTargetBar.java @@ -197,6 +197,10 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D */ @Override public void onDragStart(DragSource source, Object info, int dragAction) { + showDeleteTarget(); + } + + public void showDeleteTarget() { // Animate out the QSB search bar, and animate in the drop target bar prepareStartAnimation(mDropTargetBar); mDropTargetBarAnim.start(); @@ -206,6 +210,16 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D } } + public void hideDeleteTarget() { + // Restore the QSB search bar, and animate out the drop target bar + prepareStartAnimation(mDropTargetBar); + mDropTargetBarAnim.reverse(); + if (!mIsSearchBarHidden) { + prepareStartAnimation(mQSBSearchBar); + mQSBSearchBarAnim.reverse(); + } + } + public void deferOnDragEnd() { mDeferOnDragEnd = true; } @@ -213,13 +227,7 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D @Override public void onDragEnd() { if (!mDeferOnDragEnd) { - // Restore the QSB search bar, and animate out the drop target bar - prepareStartAnimation(mDropTargetBar); - mDropTargetBarAnim.reverse(); - if (!mIsSearchBarHidden) { - prepareStartAnimation(mQSBSearchBar); - mQSBSearchBarAnim.reverse(); - } + hideDeleteTarget(); } else { mDeferOnDragEnd = false; } |