Announcing the final action when the drag-drop completes

am: 3f8864069b

Change-Id: Iba49c7ba1d1c2d1f4c279970bbcc3ff96af5ccc0
This commit is contained in:
Sunny Goyal
2016-10-11 20:12:59 +00:00
committed by android-build-merger
3 changed files with 15 additions and 0 deletions
+3
View File
@@ -2743,6 +2743,9 @@ public class Workspace extends PagedView
}
parent.onDropChild(cell);
}
if (d.stateAnnouncer != null) {
d.stateAnnouncer.completeAction(R.string.item_moved);
}
}
/**
@@ -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()) {
@@ -1370,6 +1370,10 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC
// 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