summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/example/alcagotchi/MainActivity.kt
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2024-11-17 01:31:31 +0000
committerLeonardo Bishop <me@leonardobishop.com>2024-11-17 01:36:03 +0000
commitc78f0df23ea3675ec61124b5c828e99350c2dea5 (patch)
treeb2ca77b8922cd4e3a118bbf08701a808bee79e0b /app/src/main/java/com/example/alcagotchi/MainActivity.kt
parent10d563a90f3cedc640662b1284395746322c1ca0 (diff)
connectign page
Diffstat (limited to 'app/src/main/java/com/example/alcagotchi/MainActivity.kt')
-rw-r--r--app/src/main/java/com/example/alcagotchi/MainActivity.kt110
1 files changed, 80 insertions, 30 deletions
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 = )