summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-10-11 17:54:39 (GMT)
committerSunny Goyal <sunnygoyal@google.com>2016-10-11 17:55:14 (GMT)
commit3f8864069be20d14debacddee610062f3feae5a1 (patch)
tree63d3dc56d644e12242c0f045e7ea7aa71b068980
parent327f7b712538f5a4c8488cefb1a2e764674495eb (diff)
downloadandroid_packages_apps_Trebuchet-3f8864069be20d14debacddee610062f3feae5a1.zip
android_packages_apps_Trebuchet-3f8864069be20d14debacddee610062f3feae5a1.tar.gz
android_packages_apps_Trebuchet-3f8864069be20d14debacddee610062f3feae5a1.tar.bz2
Announcing the final action when the drag-drop completes
Bug:31926812 Change-Id: Id0566cc7dc15732981320807a02fb9cae8a885e6
-rw-r--r--src/com/android/launcher3/Workspace.java3
-rw-r--r--src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java8
-rw-r--r--src/com/android/launcher3/folder/Folder.java4
3 files changed, 15 insertions, 0 deletions
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index fc35064..e891b16 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2760,6 +2760,9 @@ public class Workspace extends PagedView
}
parent.onDropChild(cell);
}
+ if (d.stateAnnouncer != null) {
+ d.stateAnnouncer.completeAction(R.string.item_moved);
+ }
}
/**
diff --git a/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java b/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java
index 8ff82dd..99deb7b 100644
--- a/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java
+++ b/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java
@@ -21,6 +21,8 @@ import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
+import com.android.launcher3.Launcher;
+
/**
* Periodically sends accessibility events to announce ongoing state changed. Based on the
* implementation in ProgressBar.
@@ -50,6 +52,12 @@ public class DragViewStateAnnouncer implements Runnable {
mTargetView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
}
+ public void completeAction(int announceResId) {
+ cancel();
+ Launcher launcher = Launcher.getLauncher(mTargetView.getContext());
+ launcher.getDragLayer().announceForAccessibility(launcher.getText(announceResId));
+ }
+
public static DragViewStateAnnouncer createFor(View v) {
if (((AccessibilityManager) v.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE))
.isEnabled()) {
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java
index ebbe641..0ae3a62 100644
--- a/src/com/android/launcher3/folder/Folder.java
+++ b/src/com/android/launcher3/folder/Folder.java
@@ -1346,6 +1346,10 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
// The animation has already been shown while opening the folder.
mInfo.setOption(FolderInfo.FLAG_MULTI_PAGE_ANIMATION, true, mLauncher);
}
+
+ if (d.stateAnnouncer != null) {
+ d.stateAnnouncer.completeAction(R.string.item_moved);
+ }
}
// This is used so the item doesn't immediately appear in the folder when added. In one case