Use CopyOnWriteArrayList for mDragCallbacks.

Bug: 33396891

Needs to be combined with a touch fix; this alone will solve crashing,
but not freezing.

Change-Id: Ifab9ef779d00c8a9b59f231fce330ae8fc41528c
diff --git a/src/com/android/calculator2/DragLayout.java b/src/com/android/calculator2/DragLayout.java
index c96d139..561d0ec 100644
--- a/src/com/android/calculator2/DragLayout.java
+++ b/src/com/android/calculator2/DragLayout.java
@@ -27,8 +27,8 @@
 import android.widget.FrameLayout;
 import android.widget.RelativeLayout;
 
-import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 public class DragLayout extends RelativeLayout {
 
@@ -40,7 +40,8 @@
     private FrameLayout mHistoryFrame;
     private ViewDragHelper mDragHelper;
 
-    private final List<DragCallback> mDragCallbacks = new ArrayList<>();
+    // No concurrency; allow modifications while iterating.
+    private final List<DragCallback> mDragCallbacks = new CopyOnWriteArrayList<>();
     private CloseCallback mCloseCallback;
 
     private int mDraggingState = ViewDragHelper.STATE_IDLE;