Skip to content

Commit a68947f

Browse files
Merge pull request SmartToolFactory#46 from shahzadansari/fix/tutorial3.6.1-restrict-textfield-maxlines
Tutorial 3.6.1 - Restrict ChatTextField() max lines
2 parents 1072f9a + 0fcd152 commit a68947f

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

Tutorial1-1Basics/src/main/java/com/smarttoolfactory/tutorial1_1basics/chapter3_layout/Tutorial3_6_1CustomFlexLayout.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import com.smarttoolfactory.tutorial1_1basics.chapter3_layout.chat.ChatMessage
3434
import com.smarttoolfactory.tutorial1_1basics.chapter3_layout.chat.MessageStatus
3535
import com.smarttoolfactory.tutorial1_1basics.chapter3_layout.chat.MessageTimeText
3636
import com.smarttoolfactory.tutorial1_1basics.chapter3_layout.chat.widget.ChatFlexBoxLayout
37+
import com.smarttoolfactory.tutorial1_1basics.isInPreview
3738
import com.smarttoolfactory.tutorial1_1basics.ui.Blue400
3839
import com.smarttoolfactory.tutorial1_1basics.ui.Green400
3940
import com.smarttoolfactory.tutorial1_1basics.ui.Orange400
@@ -70,6 +71,7 @@ private fun TutorialContent() {
7071
val messages = remember { mutableStateListOf<ChatMessage>() }
7172
val sdf = remember { SimpleDateFormat("hh:mm a", Locale.ROOT) }
7273
val context = LocalContext.current
74+
val isInPreview = isInPreview
7375

7476
println("🎃 Tutorial3_6Screen messages: $messages, sdf: $sdf")
7577

@@ -86,7 +88,9 @@ private fun TutorialContent() {
8688
title = "Flexible ChatRows",
8789
description = description,
8890
onClick = {
89-
Toast.makeText(context, description, Toast.LENGTH_SHORT).show()
91+
if (!isInPreview) {
92+
Toast.makeText(context, description, Toast.LENGTH_SHORT).show()
93+
}
9094
}
9195
)
9296

@@ -99,7 +103,7 @@ private fun TutorialContent() {
99103
items(messages) { message: ChatMessage ->
100104

101105
// Remember random stats icon to not create in every recomposition
102-
val messageStatus = remember { MessageStatus.values()[Random.nextInt(3)] }
106+
val messageStatus = remember { MessageStatus.entries[Random.nextInt(3)] }
103107

104108

105109
Column(

Tutorial1-1Basics/src/main/java/com/smarttoolfactory/tutorial1_1basics/chapter3_layout/chat/ChatInput.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import com.smarttoolfactory.tutorial1_1basics.ui.IndicatingIconButton
2929
internal fun ChatInput(modifier: Modifier = Modifier, onMessageChange: (String) -> Unit) {
3030

3131
var input by remember { mutableStateOf(TextFieldValue("")) }
32-
val textEmpty: Boolean by derivedStateOf { input.text.isEmpty() }
32+
val textEmpty: Boolean by remember { derivedStateOf { input.text.isEmpty() } }
3333

3434
Row(
3535
modifier = modifier
@@ -114,6 +114,7 @@ private fun ChatTextField(
114114
),
115115
value = input,
116116
onValueChange = onValueChange,
117+
maxLines = 6,
117118
cursorBrush = SolidColor(Color(0xff00897B)),
118119
decorationBox = { innerTextField ->
119120
if (empty) {

0 commit comments

Comments
 (0)