Announcing the final action when the drag-drop completes
am: 3f8864069b
Change-Id: Iba49c7ba1d1c2d1f4c279970bbcc3ff96af5ccc0
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index f529735..79a81ec 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2743,6 +2743,9 @@
}
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.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 @@
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 0685ddb..5ab6ddb 100644
--- a/src/com/android/launcher3/folder/Folder.java
+++ b/src/com/android/launcher3/folder/Folder.java
@@ -1370,6 +1370,10 @@
// 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