Announcing the final action when the drag-drop completes

Bug:31926812
Change-Id: Id0566cc7dc15732981320807a02fb9cae8a885e6
This commit is contained in:
Sunny Goyal
2016-10-11 10:54:39 -07:00
parent 327f7b7125
commit 3f8864069b
3 changed files with 15 additions and 0 deletions

View File

@@ -2760,6 +2760,9 @@ public class Workspace extends PagedView
}
parent.onDropChild(cell);
}
if (d.stateAnnouncer != null) {
d.stateAnnouncer.completeAction(R.string.item_moved);
}
}
/**

View File

@@ -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()) {

View File

@@ -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