From a175922a1d9e8bfb22019acbdd2e648e796f098e Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 29 Jan 2019 19:23:29 +0100 Subject: [PATCH] allow editing files in the text editor --- app/build.gradle | 2 +- .../filemanager/pro/views/GestureTextView.kt | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7d2803d1..bb0b75c9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -51,7 +51,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.6.18' + implementation 'com.simplemobiletools:commons:5.7.5' implementation 'com.github.Stericson:RootTools:df729dcb13' implementation 'com.alexvasilkov:gesture-views:2.5.2' } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/views/GestureTextView.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/views/GestureTextView.kt index ed4c4501..df70025c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/views/GestureTextView.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/views/GestureTextView.kt @@ -4,7 +4,7 @@ import android.content.Context import android.util.AttributeSet import android.util.TypedValue import android.view.MotionEvent -import androidx.appcompat.widget.AppCompatTextView +import androidx.appcompat.widget.AppCompatEditText import com.alexvasilkov.gestures.GestureController import com.alexvasilkov.gestures.State import com.alexvasilkov.gestures.views.interfaces.GestureView @@ -14,14 +14,19 @@ import com.simplemobiletools.filemanager.pro.extensions.config // taken from // https://github.com/alexvasilkov/GestureViews/blob/f0a4c266e31dcad23bd0d9013531bc1c501b9c9f/sample/src/main/java/com/alexvasilkov/gestures/sample/ex/custom/text/GestureTextView.java -class GestureTextView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : AppCompatTextView(context, attrs, defStyle), GestureView { +class GestureTextView : AppCompatEditText, GestureView { + constructor(context: Context) : super(context) + + constructor(context: Context, attrs: AttributeSet) : super(context, attrs) + + constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) + private val controller: GestureController = GestureController(this) private var origSize = 0f private var size = 0f init { controller.settings.setOverzoomFactor(1f).isPanEnabled = false - controller.settings.initFromAttributes(context, attrs) controller.addOnStateChangeListener(object : GestureController.OnStateChangeListener { override fun onStateChanged(state: State) { applyState(state) @@ -47,7 +52,10 @@ class GestureTextView @JvmOverloads constructor(context: Context, attrs: Attribu override fun getController() = controller - override fun onTouchEvent(event: MotionEvent) = controller.onTouch(this, event) + override fun onTouchEvent(event: MotionEvent): Boolean { + controller.onTouch(this, event) + return super.onTouchEvent(event) + } override fun setTextSize(size: Float) { super.setTextSize(size)