|
|
@ -66,6 +66,7 @@ class RichTextComposerLayout @JvmOverloads constructor( |
|
|
|
// There is no need to persist these values since they're always updated by the parent fragment |
|
|
|
// There is no need to persist these values since they're always updated by the parent fragment |
|
|
|
private var isFullScreen = false |
|
|
|
private var isFullScreen = false |
|
|
|
private var hasRelatedMessage = false |
|
|
|
private var hasRelatedMessage = false |
|
|
|
|
|
|
|
private var composerMode: MessageComposerMode? = null |
|
|
|
|
|
|
|
|
|
|
|
var isTextFormattingEnabled = true |
|
|
|
var isTextFormattingEnabled = true |
|
|
|
set(value) { |
|
|
|
set(value) { |
|
|
@ -118,9 +119,15 @@ class RichTextComposerLayout @JvmOverloads constructor( |
|
|
|
|
|
|
|
|
|
|
|
private val dimensionConverter = DimensionConverter(resources) |
|
|
|
private val dimensionConverter = DimensionConverter(resources) |
|
|
|
|
|
|
|
|
|
|
|
fun setFullScreen(isFullScreen: Boolean, manageKeyboard: Boolean) { |
|
|
|
fun setFullScreen(isFullScreen: Boolean, animated: Boolean, manageKeyboard: Boolean) { |
|
|
|
|
|
|
|
if (!animated && views.composerLayout.layoutParams != null) { |
|
|
|
|
|
|
|
views.composerLayout.updateLayoutParams<ViewGroup.LayoutParams> { |
|
|
|
|
|
|
|
height = |
|
|
|
|
|
|
|
if (isFullScreen) ViewGroup.LayoutParams.MATCH_PARENT else ViewGroup.LayoutParams.WRAP_CONTENT |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
editText.updateLayoutParams<ViewGroup.LayoutParams> { |
|
|
|
editText.updateLayoutParams<ViewGroup.LayoutParams> { |
|
|
|
height = if (isFullScreen) 0 else ViewGroup.LayoutParams.WRAP_CONTENT |
|
|
|
height = if (isFullScreen) ViewGroup.LayoutParams.MATCH_PARENT else ViewGroup.LayoutParams.WRAP_CONTENT |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
updateTextFieldBorder(isFullScreen) |
|
|
|
updateTextFieldBorder(isFullScreen) |
|
|
@ -141,6 +148,7 @@ class RichTextComposerLayout @JvmOverloads constructor( |
|
|
|
editText.hideKeyboard() |
|
|
|
editText.hideKeyboard() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.isFullScreen = isFullScreen |
|
|
|
this.isFullScreen = isFullScreen |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -466,6 +474,9 @@ class RichTextComposerLayout @JvmOverloads constructor( |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun renderComposerMode(mode: MessageComposerMode) { |
|
|
|
override fun renderComposerMode(mode: MessageComposerMode) { |
|
|
|
|
|
|
|
if (this.composerMode == mode) return |
|
|
|
|
|
|
|
this.composerMode = mode |
|
|
|
|
|
|
|
|
|
|
|
if (mode is MessageComposerMode.Special) { |
|
|
|
if (mode is MessageComposerMode.Special) { |
|
|
|
views.composerModeGroup.isVisible = true |
|
|
|
views.composerModeGroup.isVisible = true |
|
|
|
replaceFormattedContent(mode.defaultContent) |
|
|
|
replaceFormattedContent(mode.defaultContent) |
|
|
|