diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-11-09 05:01:46 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-11-09 05:01:46 +0000 |
| commit | 7b6dc75285ad08cdca6f75aac150c29c7618dd2f (patch) | |
| tree | c841096f9d40df8f9bbccec4fd3f2193b417680c /core/java/android | |
| parent | 922b13a4a828418f8a63728becb272aee857cf6f (diff) | |
| parent | 3c6c95ed1addbbf4bc2bc2ec5a94d59f7de48733 (diff) | |
Merge "Add callback to DragDropController."
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/WindowManagerInternal.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/core/java/android/view/WindowManagerInternal.java b/core/java/android/view/WindowManagerInternal.java index 7e1846a45155..cd1b1908e4d8 100644 --- a/core/java/android/view/WindowManagerInternal.java +++ b/core/java/android/view/WindowManagerInternal.java @@ -18,6 +18,7 @@ package android.view; import android.annotation.NonNull; import android.annotation.Nullable; +import android.content.ClipData; import android.graphics.Rect; import android.graphics.Region; import android.hardware.display.DisplayManagerInternal; @@ -140,6 +141,30 @@ public abstract class WindowManagerInternal { } /** + * An interface to customize drag and drop behaviors. + */ + public interface IDragDropCallback { + /** + * Called when drag operation is started. + */ + default boolean performDrag(IWindow window, IBinder dragToken, + int touchSource, float touchX, float touchY, float thumbCenterX, float thumbCenterY, + ClipData data) { + return true; + } + + /** + * Called when drop result is reported. + */ + default void reportDropResult(IWindow window, boolean consumed) {} + + /** + * Called when drag operation is cancelled. + */ + default void cancelDragAndDrop(IBinder dragToken) {} + } + + /** * Request that the window manager call * {@link DisplayManagerInternal#performTraversalInTransactionFromWindowManager} * within a surface transaction at a later time. @@ -351,4 +376,9 @@ public abstract class WindowManagerInternal { * {@param vr2dDisplayId}. */ public abstract void setVr2dDisplayId(int vr2dDisplayId); + + /** + * Sets callback to DragDropController. + */ + public abstract void registerDragDropControllerCallback(IDragDropCallback callback); } |
