diff --git a/app/app/src/main/java/tech/mercantec/easyeat/helpers/api.kt b/app/app/src/main/java/tech/mercantec/easyeat/helpers/api.kt index 1321c23..9622502 100644 --- a/app/app/src/main/java/tech/mercantec/easyeat/helpers/api.kt +++ b/app/app/src/main/java/tech/mercantec/easyeat/helpers/api.kt @@ -3,6 +3,7 @@ package tech.mercantec.easyeat.helpers import android.content.Context import android.content.Intent import android.util.Log +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable import kotlinx.serialization.SerializationException import tech.mercantec.easyeat.BuildConfig @@ -65,6 +66,9 @@ fun request(ctx: Context, method: String, path: String, data: String?, autoRefre @Serializable class HttpErrorResponse(val message: String) +@OptIn(ExperimentalSerializationApi::class) +val json = Json { explicitNulls = false } + inline fun requestJson(ctx: Context, method: String, path: String, data: Req?): Res { val requestJson = if (data != null) @@ -96,7 +100,7 @@ inline fun requestJson(ctx: Context, method: String, } try { - return Json.decodeFromString(response.body) + return json.decodeFromString(response.body) } catch (e: SerializationException) { if (e.message != null) Log.e("EasyEat", e.message!!) diff --git a/app/app/src/main/java/tech/mercantec/easyeat/helpers/dishes.kt b/app/app/src/main/java/tech/mercantec/easyeat/helpers/dishes.kt index 8c32e2c..7615793 100644 --- a/app/app/src/main/java/tech/mercantec/easyeat/helpers/dishes.kt +++ b/app/app/src/main/java/tech/mercantec/easyeat/helpers/dishes.kt @@ -7,10 +7,10 @@ import tech.mercantec.easyeat.models.Ingredient import tech.mercantec.easyeat.models.Recipe @Serializable -data class GenerateRecipeRequest(val dish: String, val language: String, val numberOfRecipes: Int, val allergi: Array) +data class GenerateRecipeRequest(val dish: String, val language: String, val numberOfRecipes: Int, val allergi: List) -fun generateRecipeWithAI(ctx: Context, title: String, language: String): Recipe { - return requestJson(ctx, "POST", "/api/Recipe/chatbot", GenerateRecipeRequest(title, language, 1, arrayOf())) +fun generateRecipeWithAI(ctx: Context, title: String, language: String, allergies: List): Recipe { + return requestJson(ctx, "POST", "/api/Recipe/chatbot", GenerateRecipeRequest(title, language, 1, allergies)) } fun createRecipe(ctx: Context, recipe: Recipe) { diff --git a/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/GenerateRecipeActivity.kt b/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/GenerateRecipeActivity.kt index c2a21bb..bc72a2e 100644 --- a/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/GenerateRecipeActivity.kt +++ b/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/GenerateRecipeActivity.kt @@ -3,7 +3,9 @@ package tech.mercantec.easyeat.ui.dishes import android.app.Activity import android.app.ProgressDialog import android.os.Bundle +import android.view.View import android.widget.Button +import android.widget.CheckBox import android.widget.EditText import android.widget.Toast import androidx.appcompat.app.AppCompatActivity @@ -19,8 +21,19 @@ class GenerateRecipeActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_generate_recipe) + val allergiesInput = findViewById(R.id.allergies) + + findViewById(R.id.has_allergies).setOnCheckedChangeListener { _, checked -> + allergiesInput.visibility = if (checked) View.VISIBLE else View.GONE + } + findViewById