summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/example/alcagotchi/DrinkingActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/example/alcagotchi/DrinkingActivity.kt')
-rw-r--r--app/src/main/java/com/example/alcagotchi/DrinkingActivity.kt52
1 files changed, 39 insertions, 13 deletions
diff --git a/app/src/main/java/com/example/alcagotchi/DrinkingActivity.kt b/app/src/main/java/com/example/alcagotchi/DrinkingActivity.kt
index 1d02fea..f59a264 100644
--- a/app/src/main/java/com/example/alcagotchi/DrinkingActivity.kt
+++ b/app/src/main/java/com/example/alcagotchi/DrinkingActivity.kt
@@ -17,9 +17,10 @@ package com.example.alcagotchi
//import kotlinx.coroutines.flow.internal.NoOpContinuation.context
//import kotlin.coroutines.jvm.internal.CompletedContinuation.context
+import android.app.Activity
+import android.app.AlertDialog
import android.content.Intent
import android.os.Bundle
-import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
@@ -33,6 +34,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@@ -44,14 +46,12 @@ 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 com.example.alcagotchi.ui.theme.AlcaGotchiTheme
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
-import java.io.BufferedReader
-import java.io.InputStreamReader
-import java.net.HttpURLConnection
-import java.net.URL
+import kotlinx.coroutines.runBlocking
+
//import java.net.HttpURLConnection
//import java.net.URL
//
@@ -110,13 +110,39 @@ fun DrinkingGreetingText(message: String, from: String, modifier: Modifier = Mod
)
}
}
+class DrinkingViewModel : ViewModel() {
+ val drunk = mutableIntStateOf(0)
+
+ fun drink(drink_choice: String, context: Activity) {
+ val alcoGotchi = AlcoGotchi.getInstance()
+ viewModelScope.launch {
+ runBlocking {
+ try {
+ alcoGotchi.postDrink(drink_choice)
+ } catch (e: Exception) {
+ val alertDialog = AlertDialog.Builder(context)
+
+ alertDialog.apply {
+ setTitle("no")
+ setMessage("ur broke")
+ }.create().show()
+ }
+
+ drunk.intValue = alcoGotchi.drunk
+ }
+ }
+
+ }
+}
@Composable
-fun DrinkingOptions(modifier: Modifier = Modifier) {
+fun DrinkingOptions(viewModel: DrinkingViewModel, modifier: Modifier = Modifier) {
Column(
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
+ val context = LocalContext.current as Activity
+
Text(
text = "What would you like to drink?",
fontSize = 36.sp,
@@ -126,7 +152,7 @@ fun DrinkingOptions(modifier: Modifier = Modifier) {
.padding(end = 16.dp)
)
Button(onClick = {
- PostHttpRequest("http://192.168.4.1/drink")
+ viewModel.drink("beer", context)
})
{
Text(
@@ -134,7 +160,7 @@ fun DrinkingOptions(modifier: Modifier = Modifier) {
)
}
Button(onClick = {
- PostHttpRequest("http://192.168.4.1/drink")
+ viewModel.drink("whisky", context)
})
{
Text(
@@ -142,7 +168,7 @@ fun DrinkingOptions(modifier: Modifier = Modifier) {
)
}
Button(onClick = {
- PostHttpRequest("http://192.168.4.1/drink")
+ viewModel.drink("wine", context)
})
{
Text(
@@ -150,7 +176,7 @@ fun DrinkingOptions(modifier: Modifier = Modifier) {
)
}
Button(onClick = {
- PostHttpRequest("http://192.168.4.1/drink")
+ viewModel.drink("lemonade", context)
})
{
Text(
@@ -181,7 +207,7 @@ fun DrinkingGreeting(message: String, modifier: Modifier = Modifier) {
}) {
Text("Go back")
}
- DrinkingOptions()
+ DrinkingOptions(viewModel = DrinkingViewModel())
}
}