mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-02-17 20:40:07 +03:00
View stub minimum width: read from informationData
Change-Id: If0ea41028044750ff540dc6a1bee2d1143715321
This commit is contained in:
parent
4b5aab3c8d
commit
de8bd1d605
1 changed files with 5 additions and 3 deletions
|
@ -247,12 +247,14 @@ abstract class AbsMessageItem<H : AbsMessageItem.Holder> : AbsBaseMessageItem<H>
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun getViewStubMinimumWidth(holder: H, contentInBubble: Boolean, showInformation: Boolean): Int {
|
open fun getViewStubMinimumWidth(holder: H, contentInBubble: Boolean, showInformation: Boolean): Int {
|
||||||
|
val memberName = attributes.informationData.memberName.toString()
|
||||||
|
val time = attributes.informationData.time.toString()
|
||||||
return if (contentInBubble) {
|
return if (contentInBubble) {
|
||||||
if (BubbleThemeUtils.getBubbleTimeLocation(holder.bubbleTimeView.context) == BubbleThemeUtils.BUBBLE_TIME_BOTTOM) {
|
if (BubbleThemeUtils.getBubbleTimeLocation(holder.bubbleTimeView.context) == BubbleThemeUtils.BUBBLE_TIME_BOTTOM) {
|
||||||
if (attributes.informationData.showInformation) {
|
if (attributes.informationData.showInformation) {
|
||||||
// Since timeView automatically gets enough space, either within or outside the viewStub, we just need to ensure the member name view has enough space
|
// Since timeView automatically gets enough space, either within or outside the viewStub, we just need to ensure the member name view has enough space
|
||||||
// Somehow not enough without extra space...
|
// Somehow not enough without extra space...
|
||||||
ceil(BubbleThemeUtils.guessTextWidth(holder.bubbleMemberNameView, holder.bubbleMemberNameView.text.toString() + " ")).toInt()
|
ceil(BubbleThemeUtils.guessTextWidth(holder.bubbleMemberNameView, "$memberName ")).toInt()
|
||||||
} else {
|
} else {
|
||||||
// wrap_content works!
|
// wrap_content works!
|
||||||
0
|
0
|
||||||
|
@ -260,9 +262,9 @@ abstract class AbsMessageItem<H : AbsMessageItem.Holder> : AbsBaseMessageItem<H>
|
||||||
} else if (attributes.informationData.showInformation || attributes.informationData.forceShowTimestamp) {
|
} else if (attributes.informationData.showInformation || attributes.informationData.forceShowTimestamp) {
|
||||||
// Guess text width for name and time next to each other
|
// Guess text width for name and time next to each other
|
||||||
val text = if (attributes.informationData.showInformation) {
|
val text = if (attributes.informationData.showInformation) {
|
||||||
holder.bubbleMemberNameView.text.toString() + " " + holder.bubbleTimeView.text.toString()
|
"$memberName $time"
|
||||||
} else {
|
} else {
|
||||||
holder.bubbleTimeView.text.toString()
|
time
|
||||||
}
|
}
|
||||||
val textSize = if (attributes.informationData.showInformation) {
|
val textSize = if (attributes.informationData.showInformation) {
|
||||||
max(holder.bubbleMemberNameView.textSize, holder.bubbleTimeView.textSize)
|
max(holder.bubbleMemberNameView.textSize, holder.bubbleTimeView.textSize)
|
||||||
|
|
Loading…
Add table
Reference in a new issue