From c78f0df23ea3675ec61124b5c828e99350c2dea5 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sun, 17 Nov 2024 01:31:31 +0000 Subject: connectign page --- .../java/com/example/alcagotchi/MainActivity.kt | 110 +++++++++++++++------ 1 file changed, 80 insertions(+), 30 deletions(-) (limited to 'app/src/main/java/com/example/alcagotchi/MainActivity.kt') diff --git a/app/src/main/java/com/example/alcagotchi/MainActivity.kt b/app/src/main/java/com/example/alcagotchi/MainActivity.kt index 1f3f7c0..f36d49a 100644 --- a/app/src/main/java/com/example/alcagotchi/MainActivity.kt +++ b/app/src/main/java/com/example/alcagotchi/MainActivity.kt @@ -15,6 +15,8 @@ */ package com.example.alcagotchi +import android.app.AlertDialog +import android.content.Context import android.content.Intent import android.os.Bundle import androidx.activity.ComponentActivity @@ -40,6 +42,9 @@ import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -51,16 +56,19 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import com.example.alcagotchi.ui.theme.AlcaGotchiTheme +import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { - AlcoGotchi.getInstance().getState() super.onCreate(savedInstanceState) setContent { AlcaGotchiTheme { @@ -79,44 +87,85 @@ class MainActivity : ComponentActivity() { } } +class MainViewModel : ViewModel() { + private val alcoGotchi = AlcoGotchi.getInstance() + val connecting = mutableStateOf(true) + + fun connect(context: Context) { + viewModelScope.launch { + run { + try { + alcoGotchi.getState() + + connecting.value = false + } catch (e: Exception) { + val alertDialog = AlertDialog.Builder(context) + + alertDialog.apply { + setTitle("rip") + setMessage("can't connect: ${e.message}") + }.create().show() + } + } + } + } +} + + @Composable -fun GreetingText(message: String, from: String, modifier: Modifier = Modifier) { +fun GreetingText(viewModel: MainViewModel, message: String, from: String, modifier: Modifier = Modifier) { // Create a column so that texts don't overlap Column( verticalArrangement = Arrangement.Center, modifier = modifier ) { val context = LocalContext.current + val connecting by remember { viewModel.connecting } - Text( - text = message, - fontSize = 100.sp, - lineHeight = 116.sp, - textAlign = TextAlign.Center, - color = Color(0xFF00FF00), - modifier = Modifier.padding(top = 16.dp) - ) - Text( - text = from, - fontSize = 36.sp, - color = Color(0xFF00FF00), - modifier = Modifier - .padding(top = 16.dp) - .padding(end = 16.dp) - .align(alignment = Alignment.End) + viewModel.connect(context) - ) - Button(onClick = { - val intent = Intent(context, CasinoActivity::class.java) - context.startActivity(intent) - }) { - Text("Casino") - } - Button(onClick = { - val intent = Intent(context, DrinkingActivity::class.java) - context.startActivity(intent) - }) { - Text("Drinking") + if (!connecting) { + Text( + text = message, + fontSize = 100.sp, + lineHeight = 116.sp, + textAlign = TextAlign.Center, + color = Color(0xFF00FF00), + modifier = Modifier.padding(top = 16.dp) + ) + Text( + text = from, + fontSize = 36.sp, + color = Color(0xFF00FF00), + modifier = Modifier + .padding(top = 16.dp) + .padding(end = 16.dp) + .align(alignment = Alignment.End) + + ) + Button(onClick = { + val intent = Intent(context, CasinoActivity::class.java) + context.startActivity(intent) + }) { + Text("Casino") + } + Button(onClick = { + val intent = Intent(context, DrinkingActivity::class.java) + context.startActivity(intent) + }) { + Text("Drinking") + } + } else { + Text( + text = "connecting... plz wait", + fontSize = 36.sp, + color = Color(0xFF00FF00), + modifier = Modifier + .padding(top = 16.dp) + .padding(end = 16.dp) + .align(alignment = Alignment.End) + + ) } Button(onClick = { val intent = Intent(context, ShopActivity::class.java) @@ -144,6 +193,7 @@ fun GreetingImage(message: String, from: String, modifier: Modifier = Modifier, ) GreetingText( + viewModel = MainViewModel(), message = message, from = from, // colorResource(id = ) -- cgit v1.2.3-70-g09d2