mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-453 Editor | Fix | Fix markdown paste (#2765)
This commit is contained in:
parent
4ac2255dd4
commit
ce929f3d88
9 changed files with 36 additions and 8 deletions
|
@ -34,7 +34,7 @@ dependencies {
|
|||
implementation applicationDependencies.appcompat
|
||||
implementation applicationDependencies.kotlin
|
||||
implementation applicationDependencies.coroutinesAndroid
|
||||
implementation applicationDependencies.androidxCore
|
||||
implementation libs.androidxCore
|
||||
implementation applicationDependencies.lifecycleRuntime
|
||||
|
||||
implementation applicationDependencies.design
|
||||
|
|
|
@ -2,7 +2,10 @@ package com.anytypeio.anytype.core_ui.widgets.text
|
|||
|
||||
import android.R.id.copy
|
||||
import android.R.id.paste
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.content.Context.CLIPBOARD_SERVICE
|
||||
import android.graphics.Canvas
|
||||
import android.text.InputType
|
||||
import android.text.Spanned
|
||||
|
@ -12,6 +15,9 @@ import android.util.AttributeSet
|
|||
import android.view.DragEvent
|
||||
import android.view.KeyEvent
|
||||
import android.view.MotionEvent
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.view.inputmethod.InputConnection
|
||||
import android.view.inputmethod.InputConnectionWrapper
|
||||
import androidx.appcompat.widget.AppCompatEditText
|
||||
import androidx.core.graphics.withTranslation
|
||||
import com.anytypeio.anytype.core_ui.R
|
||||
|
@ -69,6 +75,15 @@ class TextInputWidget : AppCompatEditText {
|
|||
)
|
||||
}
|
||||
|
||||
override fun onCreateInputConnection(outAttrs: EditorInfo): InputConnectionWrapper? {
|
||||
val defaultInputConnection = super.onCreateInputConnection(outAttrs)
|
||||
return if (defaultInputConnection == null) {
|
||||
defaultInputConnection
|
||||
} else {
|
||||
TextInputConnection(defaultInputConnection, false)
|
||||
}
|
||||
}
|
||||
|
||||
private val watchers: MutableList<TextWatcher> = mutableListOf()
|
||||
|
||||
private var highlightDrawer: HighlightDrawer? = null
|
||||
|
@ -299,4 +314,17 @@ class TextInputWidget : AppCompatEditText {
|
|||
companion object {
|
||||
val DEFAULT_INPUT_WIDGET_ACTION = BlockView.InputAction.NewLine
|
||||
}
|
||||
|
||||
private inner class TextInputConnection(
|
||||
target: InputConnection, mutable: Boolean
|
||||
) : InputConnectionWrapper(target, mutable) {
|
||||
|
||||
private val clipboard = context.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
|
||||
|
||||
override fun commitText(text: CharSequence, newCursorPosition: Int): Boolean {
|
||||
clipboard.setPrimaryClip(ClipData.newPlainText(null, text))
|
||||
onTextContextMenuItem(paste)
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,7 +4,6 @@ ext {
|
|||
kotlinx_serialization_json_version = '1.4.0'
|
||||
|
||||
// AndroidX
|
||||
androidx_core_version = '1.7.0'
|
||||
androidx_core_ktx_version = '1.7.0'
|
||||
androidx_test_core_version = '1.4.0'
|
||||
androidx_core_testing_version = '2.1.0'
|
||||
|
@ -92,7 +91,6 @@ ext {
|
|||
kotlin: "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version",
|
||||
coroutines: "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version",
|
||||
coroutinesAndroid: "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version",
|
||||
androidxCore: "androidx.core:core-ktx:$androidx_core_version",
|
||||
fragment: "androidx.fragment:fragment-ktx:$fragment_version",
|
||||
navigation: "androidx.navigation:navigation-fragment-ktx:$navigation_version",
|
||||
navigationUi: "androidx.navigation:navigation-ui-ktx:$navigation_version",
|
||||
|
|
|
@ -11,7 +11,7 @@ dependencies {
|
|||
|
||||
implementation applicationDependencies.kotlin
|
||||
implementation applicationDependencies.coroutinesAndroid
|
||||
implementation applicationDependencies.androidxCore
|
||||
implementation libs.androidxCore
|
||||
|
||||
implementation applicationDependencies.timber
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
[versions]
|
||||
middleware_version = "v0.24.0"
|
||||
androidx_core_version = "1.7.0"
|
||||
|
||||
[libraries]
|
||||
middleware = { module = "io.anytype:android-mw", version.ref = "middleware_version" }
|
||||
androidxCore = { module = "androidx.core:core-ktx", version.ref = "androidx_core_version" }
|
||||
agp = { module = "com.android.tools.build:gradle", version = "7.3.0" }
|
||||
|
||||
[bundles]
|
||||
|
|
|
@ -21,7 +21,7 @@ dependencies {
|
|||
implementation applicationDependencies.appcompat
|
||||
implementation applicationDependencies.kotlin
|
||||
implementation applicationDependencies.coroutinesAndroid
|
||||
implementation applicationDependencies.androidxCore
|
||||
implementation libs.androidxCore
|
||||
implementation applicationDependencies.emojiCompat
|
||||
|
||||
implementation applicationDependencies.design
|
||||
|
|
|
@ -11,7 +11,7 @@ dependencies {
|
|||
implementation applicationDependencies.appcompat
|
||||
implementation applicationDependencies.kotlin
|
||||
implementation applicationDependencies.coroutinesAndroid
|
||||
implementation applicationDependencies.androidxCore
|
||||
implementation libs.androidxCore
|
||||
implementation applicationDependencies.timber
|
||||
implementation applicationDependencies.kotlinxSerializationJson
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ dependencies {
|
|||
implementation applicationDependencies.glide
|
||||
implementation applicationDependencies.coroutinesAndroid
|
||||
implementation applicationDependencies.constraintLayout
|
||||
implementation applicationDependencies.androidxCore
|
||||
implementation libs.androidxCore
|
||||
implementation applicationDependencies.timber
|
||||
implementation applicationDependencies.fragment
|
||||
implementation applicationDependencies.design
|
||||
|
|
|
@ -9,7 +9,7 @@ dependencies {
|
|||
implementation mainApplication.appcompat
|
||||
implementation mainApplication.kotlin
|
||||
implementation mainApplication.coroutinesAndroid
|
||||
implementation mainApplication.androidxCore
|
||||
implementation libs.androidxCore
|
||||
implementation mainApplication.design
|
||||
implementation mainApplication.recyclerView
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue