mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
Fix issue with Keyboard
This commit is contained in:
+7
-4
@@ -35,7 +35,6 @@ import android.widget.LinearLayout
|
|||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.constraintlayout.widget.ConstraintSet
|
import androidx.constraintlayout.widget.ConstraintSet
|
||||||
import androidx.core.text.toSpannable
|
|
||||||
import androidx.core.view.isGone
|
import androidx.core.view.isGone
|
||||||
import androidx.core.view.isInvisible
|
import androidx.core.view.isInvisible
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
@@ -119,7 +118,7 @@ class RichTextComposerLayout @JvmOverloads constructor(
|
|||||||
|
|
||||||
private val dimensionConverter = DimensionConverter(resources)
|
private val dimensionConverter = DimensionConverter(resources)
|
||||||
|
|
||||||
fun setFullScreen(isFullScreen: Boolean) {
|
fun setFullScreen(isFullScreen: Boolean, manageKeyboard: Boolean) {
|
||||||
editText.updateLayoutParams<ViewGroup.LayoutParams> {
|
editText.updateLayoutParams<ViewGroup.LayoutParams> {
|
||||||
height = if (isFullScreen) 0 else ViewGroup.LayoutParams.WRAP_CONTENT
|
height = if (isFullScreen) 0 else ViewGroup.LayoutParams.WRAP_CONTENT
|
||||||
}
|
}
|
||||||
@@ -135,11 +134,13 @@ class RichTextComposerLayout @JvmOverloads constructor(
|
|||||||
)
|
)
|
||||||
|
|
||||||
views.bottomSheetHandle.isVisible = isFullScreen
|
views.bottomSheetHandle.isVisible = isFullScreen
|
||||||
|
if (manageKeyboard) {
|
||||||
if (isFullScreen) {
|
if (isFullScreen) {
|
||||||
editText.showKeyboard(true)
|
editText.showKeyboard(true)
|
||||||
} else {
|
} else {
|
||||||
editText.hideKeyboard()
|
editText.hideKeyboard()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
this.isFullScreen = isFullScreen
|
this.isFullScreen = isFullScreen
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,7 +214,8 @@ class RichTextComposerLayout @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
views.sendButton.setOnClickListener {
|
views.sendButton.setOnClickListener {
|
||||||
val textMessage = views.richTextComposerEditText.getMarkdown() // text?.toSpannable() ?: ""
|
val textMessage =
|
||||||
|
views.richTextComposerEditText.getMarkdown() // text?.toSpannable() ?: ""
|
||||||
callback?.onSendMessage(textMessage)
|
callback?.onSendMessage(textMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -506,7 +508,8 @@ class RichTextComposerLayout @JvmOverloads constructor(
|
|||||||
is MessageComposerMode.Reply -> {
|
is MessageComposerMode.Reply -> {
|
||||||
// TODO We need sender info
|
// TODO We need sender info
|
||||||
// val senderInfo = mode.event.senderInfo
|
// val senderInfo = mode.event.senderInfo
|
||||||
val userName = "TODO Sender name" // senderInfo.displayName ?: senderInfo.disambiguatedDisplayName
|
val userName =
|
||||||
|
"TODO Sender name" // senderInfo.displayName ?: senderInfo.disambiguatedDisplayName
|
||||||
views.composerModeTitleView.text =
|
views.composerModeTitleView.text =
|
||||||
resources.getString(R.string.replying_to, userName)
|
resources.getString(R.string.replying_to, userName)
|
||||||
views.composerModeIconView.setImageResource(R.drawable.ic_reply)
|
views.composerModeIconView.setImageResource(R.drawable.ic_reply)
|
||||||
|
|||||||
+2
-2
@@ -54,7 +54,7 @@ fun TextComposer(
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
setFullScreen(fullscreen)
|
setFullScreen(fullscreen, true)
|
||||||
(this as MessageComposerView).apply {
|
(this as MessageComposerView).apply {
|
||||||
setup(isInDarkMode)
|
setup(isInDarkMode)
|
||||||
}
|
}
|
||||||
@@ -68,7 +68,7 @@ fun TextComposer(
|
|||||||
// whenever the state changes
|
// whenever the state changes
|
||||||
// Example of Compose -> View communication
|
// Example of Compose -> View communication
|
||||||
val messageComposerView = (view as MessageComposerView)
|
val messageComposerView = (view as MessageComposerView)
|
||||||
view.setFullScreen(fullscreen)
|
view.setFullScreen(fullscreen, false)
|
||||||
messageComposerView.sendButton.isInvisible = !composerCanSendMessage
|
messageComposerView.sendButton.isInvisible = !composerCanSendMessage
|
||||||
messageComposerView.setTextIfDifferent(composerText ?: "")
|
messageComposerView.setTextIfDifferent(composerText ?: "")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user