diff options
-rw-r--r-- | android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java index fbccf1d8c30a..2ba05f33416d 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java @@ -34,6 +34,7 @@ public class GraphicSelection implements CanvasElement { private GraphicSelectionHandle mHandles[] = new GraphicSelectionHandle[8]; private GraphicSelectionHandle mDragHandle = null; + private boolean mTriggerSinglePress = false; /** * Construct the graphic selection. @@ -131,8 +132,8 @@ public class GraphicSelection implements CanvasElement { mType = DragType.MOVE; sendGraphicSelectionStart(position); } - mStartDragPosition = position; + mTriggerSinglePress = true; } /** @@ -149,6 +150,7 @@ public class GraphicSelection implements CanvasElement { } else if (mType == DragType.EXTEND) { adaptDrawRectangle(position.x, position.y); } + mTriggerSinglePress = false; } /** @@ -172,6 +174,11 @@ public class GraphicSelection implements CanvasElement { sendGraphicSelectionEnd(point); + if (mTriggerSinglePress && mDragHandle == null) { + onSinglePress(point); + mTriggerSinglePress = false; + } + mDrawRectangle = mScaledRectangle; mType = DragType.NONE; } @@ -245,6 +252,11 @@ public class GraphicSelection implements CanvasElement { } } + private void onSinglePress(PointF screenPosition) { + sendGraphicSelection("LongPress", screenPosition); + } + + /** * Reset the selection. */ |