diff --git a/src/org/linphone/ui/LinphoneOverlay.java b/src/org/linphone/ui/LinphoneOverlay.java index 6cb15ac0d..51a6e1e3c 100644 --- a/src/org/linphone/ui/LinphoneOverlay.java +++ b/src/org/linphone/ui/LinphoneOverlay.java @@ -12,6 +12,7 @@ import android.content.Intent; import android.graphics.PixelFormat; import android.util.AttributeSet; import android.util.DisplayMetrics; +import android.view.DragEvent; import android.view.Gravity; import android.view.MotionEvent; import android.view.SurfaceView; @@ -26,6 +27,7 @@ public class LinphoneOverlay extends org.linphone.mediastream.video.display.GL2J private float y; private float touchX; private float touchY; + private boolean dragEnabled; private AndroidVideoWindowImpl androidVideoWindowImpl; public LinphoneOverlay(Context context, AttributeSet attrs, int defStyle) { @@ -62,7 +64,7 @@ public class LinphoneOverlay extends org.linphone.mediastream.video.display.GL2J params.width = callParams.getReceivedVideoSize().width; params.height = callParams.getReceivedVideoSize().height; LinphoneManager.getLc().setVideoWindow(androidVideoWindowImpl); - + setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -71,6 +73,13 @@ public class LinphoneOverlay extends org.linphone.mediastream.video.display.GL2J context.startActivity(intent); } }); + setOnLongClickListener(new OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + dragEnabled = true; + return true; + } + }); } public LinphoneOverlay(Context context, AttributeSet attrs) { @@ -95,11 +104,14 @@ public class LinphoneOverlay extends org.linphone.mediastream.video.display.GL2J touchY = event.getY(); break; case MotionEvent.ACTION_MOVE: - updateViewPostion(); + if (dragEnabled) { + updateViewPostion(); + } break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: touchX = touchY = 0; + dragEnabled = false; break; default: break;