Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 571074be authored by Daichi Hirono's avatar Daichi Hirono
Browse files

Stop resetting app drag drop state when startDrag is invoked twice.

Before P, if startDragAndDrop is invoked twice, the system goes to wired state
where:

 * the system server keeps processing the first drag operation.
 * the application loses the drag token but keeps the user local state.
 * cancelDrag() no longer cancels the ongoing operation.
 * DragEvents are still delivered with the user local state.

At P we unintentionally changed the behavior to:

 * the system server keeps processing the first drag operation.
 * the application loses the drag token and the user local state.
 * cancelDrag() no longer cancels the ongoing operation.
 * DragEvents are still delivered without the user local state.

The CL fixed the behavior so that the second startDragAndDrop() calls
does not affect the internal state of drag and drop as it's failed due
to existing ongoing operation.

 * the system server keeps processing the first drag operation.
 * the application keeps the drag token and the user local state.
 * cancelDrag() is still able to cancel the ongoing operation.
 * DragEvents are still delivered with the user local state.

Bug: 113310888
Test: Manually invoke startDragAndDrop() and ensures the user local
      state delivered with DragEvents is not cleared.

Change-Id: I0a8315a44d655a8a73b7034f340e50e2f50601a8
parent 3a6c71c1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment