Skip to content

Commit d63591e

Browse files
committed
Make it possible to override drag and drop handler
1 parent 71f2112 commit d63591e

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

aztec/src/main/kotlin/org/wordpress/aztec/AztecText.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import android.text.style.SuggestionSpan
4646
import android.util.AttributeSet
4747
import android.util.DisplayMetrics
4848
import android.util.TypedValue
49+
import android.view.DragEvent
4950
import android.view.KeyEvent
5051
import android.view.LayoutInflater
5152
import android.view.MotionEvent
@@ -254,6 +255,7 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
254255
private var onVideoInfoRequestedListener: OnVideoInfoRequestedListener? = null
255256
private var onAztecKeyListener: OnAztecKeyListener? = null
256257
private var onVisibilityChangeListener: OnVisibilityChangeListener? = null
258+
private var dragEventManager: DragEventManager? = null
257259
var externalLogger: AztecLog.ExternalLogger? = null
258260

259261
private var isViewInitialized = false
@@ -356,6 +358,19 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
356358
fun beforeMediaDeleted(attrs: AztecAttributes) {}
357359
}
358360

361+
interface DragEventManager {
362+
fun shouldProcessDragEvent(event: DragEvent?): Boolean
363+
}
364+
365+
override fun onDragEvent(event: DragEvent?): Boolean {
366+
val shouldProcessDragEvent = dragEventManager?.shouldProcessDragEvent(event)
367+
if (shouldProcessDragEvent == true) {
368+
return super.onDragEvent(event)
369+
} else {
370+
return false
371+
}
372+
}
373+
359374
/**
360375
* Listens to keyboard events and calls the `shouldOverrideBackSpace` before each backspace event.
361376
*/
@@ -1209,6 +1224,10 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
12091224
this.onVisibilityChangeListener = listener
12101225
}
12111226

1227+
fun setDragEventManager(listener: DragEventManager) {
1228+
this.dragEventManager = listener
1229+
}
1230+
12121231
override fun onKeyPreIme(keyCode: Int, event: KeyEvent): Boolean {
12131232
if (event.keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_UP) {
12141233
onImeBackListener?.onImeBack()

0 commit comments

Comments
 (0)