Skip to content

Commit 64ad659

Browse files
authored
Follow material design best practices for GenAI API samples (#45)
* Follow material best practices for GenAI samples * apply weight modifier before padding modifier
1 parent 63c2b74 commit 64ad659

File tree

3 files changed

+75
-78
lines changed

3 files changed

+75
-78
lines changed

ai-catalog/samples/genai-summarization/src/main/java/com/android/ai/samples/genai_summarization/GenAISummarizationScreen.kt

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import androidx.compose.material3.ButtonDefaults
3030
import androidx.compose.material3.ExperimentalMaterial3Api
3131
import androidx.compose.material3.MaterialTheme
3232
import androidx.compose.material3.ModalBottomSheet
33+
import androidx.compose.material3.OutlinedButton
3334
import androidx.compose.material3.Scaffold
3435
import androidx.compose.material3.Text
3536
import androidx.compose.material3.TextField
@@ -101,8 +102,7 @@ fun GenAISummarizationScreen(viewModel: GenAISummarizationViewModel = hiltViewMo
101102
}, modifier = Modifier.padding(10.dp)
102103
) {
103104
Text(
104-
text = stringResource(id = R.string.genai_summarization_summarize_btn),
105-
fontSize = 24.sp
105+
text = stringResource(id = R.string.genai_summarization_summarize_btn)
106106
)
107107
}
108108
}
@@ -112,15 +112,22 @@ fun GenAISummarizationScreen(viewModel: GenAISummarizationViewModel = hiltViewMo
112112
modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.Center
113113
) {
114114
Row {
115-
SecondaryButton(
116-
buttonText = stringResource(id = R.string.genai_summarization_add_text_btn),
117-
onClick = { textInput = sampleTextOptions.random() }
118-
)
119-
120-
SecondaryButton(
121-
buttonText = stringResource(id = R.string.genai_summarization_reset_btn),
122-
onClick = { textInput = "" }
123-
)
115+
OutlinedButton(
116+
onClick = { textInput = sampleTextOptions.random() },
117+
Modifier.padding(5.dp)
118+
) {
119+
Text(
120+
stringResource(id = R.string.genai_summarization_add_text_btn)
121+
)
122+
}
123+
OutlinedButton(
124+
onClick = { textInput = "" },
125+
Modifier.padding(5.dp)
126+
) {
127+
Text(
128+
stringResource(id = R.string.genai_summarization_reset_btn)
129+
)
130+
}
124131
}
125132
}
126133
}
@@ -134,24 +141,14 @@ fun GenAISummarizationScreen(viewModel: GenAISummarizationViewModel = hiltViewMo
134141
) {
135142
Text(
136143
text = summarizationResult.value,
137-
modifier = Modifier.padding(top = 8.dp, bottom = 24.dp, start = 24.dp, end = 24.dp)
144+
modifier = Modifier.padding(
145+
top = 8.dp,
146+
bottom = 24.dp,
147+
start = 24.dp,
148+
end = 24.dp
149+
)
138150
)
139151
}
140152
}
141153
}
142-
}
143-
144-
@Composable
145-
private fun SecondaryButton(buttonText: String, onClick: () -> Unit) {
146-
Button(
147-
onClick = onClick,
148-
colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.secondaryContainer),
149-
modifier = Modifier.padding(10.dp)
150-
) {
151-
Text(
152-
text = buttonText,
153-
fontSize = 16.sp,
154-
color = MaterialTheme.colorScheme.onSecondaryContainer
155-
)
156-
}
157154
}

ai-catalog/samples/genai-writing-assistance/src/main/java/com/android/ai/samples/genai_writing_assistance/GenAIWritingAssistanceScreen.kt

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import androidx.compose.material3.Card
3636
import androidx.compose.material3.ExperimentalMaterial3Api
3737
import androidx.compose.material3.MaterialTheme
3838
import androidx.compose.material3.ModalBottomSheet
39+
import androidx.compose.material3.OutlinedButton
3940
import androidx.compose.material3.RadioButton
4041
import androidx.compose.material3.Scaffold
4142
import androidx.compose.material3.Text
@@ -109,19 +110,27 @@ fun GenAIWritingAssistanceScreen(viewModel: GenAIWritingAssistanceViewModel = hi
109110

110111
Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center) {
111112
// Proofread button
112-
MainButton(
113-
buttonText = stringResource(id = R.string.genai_writing_assistance_proofread_btn),
113+
Button(
114114
onClick = {
115115
showBottomSheet = true
116116
viewModel.proofread(textInput, context)
117-
})
118-
119-
// Rewrite button
120-
MainButton(
121-
buttonText = stringResource(id = R.string.genai_writing_assistance_rewrite_btn),
117+
},
118+
Modifier.padding(10.dp)
119+
) {
120+
Text(
121+
stringResource(id = R.string.genai_writing_assistance_proofread_btn)
122+
)
123+
}
124+
Button(
122125
onClick = {
123126
showRewriteOptionsDialog = true
124-
})
127+
},
128+
Modifier.padding(10.dp)
129+
) {
130+
Text(
131+
stringResource(id = R.string.genai_writing_assistance_rewrite_btn)
132+
)
133+
}
125134
}
126135

127136
// Extra options buttons
@@ -130,20 +139,35 @@ fun GenAIWritingAssistanceScreen(viewModel: GenAIWritingAssistanceViewModel = hi
130139
horizontalArrangement = Arrangement.Center,
131140
verticalAlignment = Alignment.CenterVertically,
132141
) {
133-
SecondaryButton(
134-
buttonText = stringResource(id = R.string.genai_writing_assistance_proofread_sample_text_btn),
142+
OutlinedButton(
135143
onClick = { textInput = proofreadSampleTextOptions.random() },
136-
)
144+
Modifier.weight(1f).padding(5.dp)
145+
) {
146+
Text(
147+
stringResource(id = R.string.genai_writing_assistance_proofread_sample_text_btn),
148+
textAlign = TextAlign.Center
149+
)
150+
}
137151

138-
SecondaryButton(
139-
buttonText = stringResource(id = R.string.genai_writing_assistance_rewrite_sample_text_btn),
140-
onClick = { textInput = rewriteSampleTextOptions.random() }
141-
)
152+
OutlinedButton(
153+
onClick = { textInput = rewriteSampleTextOptions.random() },
154+
Modifier.weight(1f).padding(5.dp)
155+
) {
156+
Text(
157+
stringResource(id = R.string.genai_writing_assistance_rewrite_sample_text_btn),
158+
textAlign = TextAlign.Center
159+
)
160+
}
142161

143-
SecondaryButton(
144-
buttonText = stringResource(id = R.string.genai_writing_assistance_reset_btn),
145-
onClick = { textInput = "" }
146-
)
162+
OutlinedButton(
163+
onClick = { textInput = "" },
164+
Modifier.weight(1f).padding(5.dp)
165+
) {
166+
Text(
167+
stringResource(id = R.string.genai_writing_assistance_reset_btn),
168+
textAlign = TextAlign.Center
169+
)
170+
}
147171
}
148172
}
149173

@@ -157,7 +181,12 @@ fun GenAIWritingAssistanceScreen(viewModel: GenAIWritingAssistanceViewModel = hi
157181
) {
158182
Text(
159183
text = resultGenerated.value,
160-
modifier = Modifier.padding(top = 8.dp, bottom = 24.dp, start = 24.dp, end = 24.dp)
184+
modifier = Modifier.padding(
185+
top = 8.dp,
186+
bottom = 24.dp,
187+
start = 24.dp,
188+
end = 24.dp
189+
)
161190
)
162191
}
163192
}
@@ -180,35 +209,6 @@ fun GenAIWritingAssistanceScreen(viewModel: GenAIWritingAssistanceViewModel = hi
180209
}
181210
}
182211

183-
@Composable
184-
private fun MainButton(buttonText: String, onClick: () -> Unit) {
185-
Button(
186-
onClick = onClick,
187-
modifier = Modifier.padding(10.dp)
188-
) {
189-
Text(
190-
text = buttonText,
191-
fontSize = 24.sp
192-
)
193-
}
194-
}
195-
196-
@Composable
197-
private fun SecondaryButton(buttonText: String, onClick: () -> Unit) {
198-
Button(
199-
onClick = onClick,
200-
colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.secondaryContainer),
201-
modifier = Modifier.padding(10.dp)
202-
) {
203-
Text(
204-
text = buttonText,
205-
textAlign = TextAlign.Center,
206-
fontSize = 16.sp,
207-
color = MaterialTheme.colorScheme.onSecondaryContainer
208-
)
209-
}
210-
}
211-
212212
@Composable
213213
fun RewriteOptionsDialog(
214214
onConfirm: (rewriteStyle: RewriteStyle) -> Unit,

ai-catalog/samples/genai-writing-assistance/src/main/res/values/strings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
<string name="genai_writing_assistance_rewrite_btn">Rewrite</string>
77
<string name="genai_writing_assistance_dismiss_btn">Dismiss</string>
88
<string name="genai_writing_assistance_confirm_btn">Confirm</string>
9-
<string name="genai_writing_assistance_proofread_sample_text_btn">Add text to \n proofread</string>
10-
<string name="genai_writing_assistance_rewrite_sample_text_btn">Add text \nto rewrite</string>
9+
<string name="genai_writing_assistance_proofread_sample_text_btn">Add text to proofread</string>
10+
<string name="genai_writing_assistance_rewrite_sample_text_btn">Add text to rewrite</string>
1111
<string-array name="proofread_sample_text">
1212
<item>@string/genai_proofread_sample_text_1</item>
1313
<item>@string/genai_proofread_sample_text_2</item>

0 commit comments

Comments
 (0)