Sort out various cleanup methods of DragState

DragState has mainly three states.

 * just created
 * after input intercepters is registered
 * after drag start broadcast is sent out
 * after drag end/cancel animation is completed

Previously DragState has multiple cleanup methods for each state and
callers need to choose the correct one.

The CL merges the cleanup methods into one 'closeLocked' method so that
callers can always invoke closeLocked, and DragState can take the
responsibility to relelase its relevant resources depends on its
internal state.

Bug: 65564090
Test: android.server.wm.CrossAppDragAndDropTests, manually check the
      drag and drop behavior on test app.

Change-Id: I257231073b350726bfcebaf1cdf6a02dc0d4ca39
2 files changed