@@ -28,6 +28,7 @@ import androidx.compose.material3.MaterialTheme
2828import androidx.compose.material3.Scaffold
2929import androidx.compose.material3.Text
3030import androidx.compose.runtime.Composable
31+ import androidx.compose.runtime.collectAsState
3132import androidx.compose.ui.Modifier
3233import androidx.compose.ui.res.stringResource
3334import androidx.compose.ui.unit.dp
@@ -36,6 +37,7 @@ import com.google.android.samples.socialite.R
3637import com.google.android.samples.socialite.ui.home.HomeAppBar
3738import com.google.android.samples.socialite.ui.home.HomeBackground
3839import com.google.android.samples.socialite.ui.navigation.TopLevelDestination
40+ import kotlinx.coroutines.flow.map
3941
4042@Composable
4143fun Settings (
@@ -68,7 +70,33 @@ fun Settings(
6870 Text (text = stringResource(R .string.clear_message_history))
6971 }
7072 }
73+
74+ // AI Chatbot
75+ val chatbotStatusResource = viewModel.isBotEnabledFlow.map {
76+ if (it) {
77+ R .string.ai_chatbot_setting_enabled
78+ } else {
79+ R .string.ai_chatbot_setting_disabled
80+ }
81+ }.collectAsState(initial = R .string.ai_chatbot_setting_enabled).value
82+
83+ Box (modifier = Modifier .padding(32 .dp)) {
84+ Button (
85+ onClick = { viewModel.toggleChatbot() },
86+ modifier = Modifier
87+ .fillMaxWidth()
88+ .heightIn(min = 56 .dp),
89+ colors = ButtonDefaults .buttonColors(
90+ containerColor = MaterialTheme .colorScheme.primaryContainer,
91+ contentColor = MaterialTheme .colorScheme.onPrimaryContainer,
92+ ),
93+ ) {
94+ Text (text = " ${stringResource(id = R .string.ai_chatbot_setting)} : ${stringResource(chatbotStatusResource)} " )
95+ }
96+ }
7197 }
98+
99+ // Media Performance Class
72100 item {
73101 Box (modifier = Modifier .padding(32 .dp)) {
74102 Text (
0 commit comments