Fix issue with Keyboard
This commit is contained in:
parent
28e4daa597
commit
b399aebdf5
2 changed files with 13 additions and 10 deletions
|
|
@ -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,10 +134,12 @@ class RichTextComposerLayout @JvmOverloads constructor(
|
||||||
)
|
)
|
||||||
|
|
||||||
views.bottomSheetHandle.isVisible = isFullScreen
|
views.bottomSheetHandle.isVisible = isFullScreen
|
||||||
if (isFullScreen) {
|
if (manageKeyboard) {
|
||||||
editText.showKeyboard(true)
|
if (isFullScreen) {
|
||||||
} else {
|
editText.showKeyboard(true)
|
||||||
editText.hideKeyboard()
|
} else {
|
||||||
|
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)
|
||||||
|
|
|
||||||
|
|
@ -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 ?: "")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue