diff --git a/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/DishDetailsActivity.kt b/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/DishDetailsActivity.kt
index 518d6ab..e25238e 100644
--- a/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/DishDetailsActivity.kt
+++ b/app/app/src/main/java/tech/mercantec/easyeat/ui/dishes/DishDetailsActivity.kt
@@ -17,6 +17,7 @@ import tech.mercantec.easyeat.helpers.RecipeDetailsResponse
import tech.mercantec.easyeat.helpers.getRecipeDetails
import kotlin.concurrent.thread
import android.widget.EditText
+import android.widget.ImageButton
import android.widget.TextView
import androidx.core.widget.doAfterTextChanged
import tech.mercantec.easyeat.helpers.AddRecipeToShoppingList
@@ -28,7 +29,7 @@ class DishDetailsActivity : AppCompatActivity() {
setContentView(R.layout.activity_dish_details)
val ingredientsContainer = findViewById(R.id.ingredients)
- val multiplierEditText = findViewById(R.id.ingredientMultiplier)
+ val multiplierEditText = findViewById(R.id.ingredient_multiplier)
val dishId = intent.getIntExtra("dish_id", -1)
if (dishId == -1) {
@@ -37,8 +38,6 @@ class DishDetailsActivity : AppCompatActivity() {
return
}
-
-
thread {
val recipe: RecipeDetailsResponse
try {
@@ -74,7 +73,9 @@ class DishDetailsActivity : AppCompatActivity() {
for (ingredient in ingredients) {
val row = TextView(this)
val amount = (ingredient.amount ?: 0.0) * multiplier
- row.text = Html.fromHtml("• ${ingredient.name}: ${"%.2f".format(amount)} ${ingredient.unit ?: ""}", Html.FROM_HTML_MODE_LEGACY)
+ val amountStr = amount.toBigDecimal().stripTrailingZeros().toPlainString()
+
+ row.text = Html.fromHtml("• ${ingredient.name}: $amountStr ${ingredient.unit ?: ""}", Html.FROM_HTML_MODE_LEGACY)
row.textSize = 18f
row.setPadding(0, 8, 0, 8)
container.addView(row)
@@ -100,19 +101,33 @@ class DishDetailsActivity : AppCompatActivity() {
displayIngredients(recipe.ingredients, multiplier, ingredientsContainer)
}
+ findViewById(R.id.increment_multiplier).setOnClickListener {
+ multiplier++
+ multiplierEditText.setText(multiplier.toString(), TextView.BufferType.EDITABLE)
+
+ displayIngredients(recipe.ingredients, multiplier, ingredientsContainer)
+ }
+
+ findViewById(R.id.decrement_multiplier).setOnClickListener {
+ if (multiplier <= 1) return@setOnClickListener
+
+ multiplier--
+ multiplierEditText.setText(multiplier.toString(), TextView.BufferType.EDITABLE)
+
+ displayIngredients(recipe.ingredients, multiplier, ingredientsContainer)
+ }
+
// You can do the same for directions if needed
}
val saveButton: Button = findViewById(R.id.addDishToShoppingList)
saveButton.setOnClickListener {
-
-
val progressDialog = ProgressDialog(this)
progressDialog.setMessage("Loading...")
progressDialog.show()
thread {
try {
- val multiplierEditText = findViewById(R.id.ingredientMultiplier)
+ val multiplierEditText = findViewById(R.id.ingredient_multiplier)
val multiplierText = multiplierEditText.text.toString()
AddRecipeToShoppingList(this, dishId, multiplierText.toIntOrNull() ?: 1)
} catch (e: ApiRequestException) {
diff --git a/app/app/src/main/java/tech/mercantec/easyeat/ui/shopping_list/ShoppingListFragment.kt b/app/app/src/main/java/tech/mercantec/easyeat/ui/shopping_list/ShoppingListFragment.kt
index 2523ed8..1ece23e 100644
--- a/app/app/src/main/java/tech/mercantec/easyeat/ui/shopping_list/ShoppingListFragment.kt
+++ b/app/app/src/main/java/tech/mercantec/easyeat/ui/shopping_list/ShoppingListFragment.kt
@@ -222,7 +222,7 @@ class ShoppingListFragment : Fragment() {
// Pre-fill dialog inputs with current item if applicable
item?.let { item ->
- view.findViewById(R.id.amount).setText(item.amount?.toBigDecimal()?.stripTrailingZeros().toString(), TextView.BufferType.EDITABLE)
+ view.findViewById(R.id.amount).setText(item.amount?.toBigDecimal()?.stripTrailingZeros()?.toPlainString(), TextView.BufferType.EDITABLE)
view.findViewById(R.id.unit_selector).setSelection(adapter.getPosition(item.unit))
view.findViewById(R.id.name).setText(item.name, TextView.BufferType.EDITABLE)
diff --git a/app/app/src/main/res/drawable/ic_arrow_drop_down_24px.xml b/app/app/src/main/res/drawable/ic_arrow_drop_down_24px.xml
new file mode 100644
index 0000000..dfea22c
--- /dev/null
+++ b/app/app/src/main/res/drawable/ic_arrow_drop_down_24px.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/app/src/main/res/drawable/ic_arrow_drop_up_24px.xml b/app/app/src/main/res/drawable/ic_arrow_drop_up_24px.xml
new file mode 100644
index 0000000..05735c6
--- /dev/null
+++ b/app/app/src/main/res/drawable/ic_arrow_drop_up_24px.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/app/src/main/res/layout/activity_dish_details.xml b/app/app/src/main/res/layout/activity_dish_details.xml
index e50eb50..a2b134b 100644
--- a/app/app/src/main/res/layout/activity_dish_details.xml
+++ b/app/app/src/main/res/layout/activity_dish_details.xml
@@ -39,15 +39,41 @@
android:layout_height="match_parent"
android:textSize="16sp"
android:paddingTop="8dp"
+ android:labelFor="@id/ingredient_multiplier"
android:text="@string/portions_label"
/>
+
+
+
+
+
diff --git a/app/app/src/main/res/layout/activity_register.xml b/app/app/src/main/res/layout/activity_register.xml
index 54e8968..5b3daf1 100644
--- a/app/app/src/main/res/layout/activity_register.xml
+++ b/app/app/src/main/res/layout/activity_register.xml
@@ -52,7 +52,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/password_label"
- />
+ />
Generate recipe using AI
Portions
Instructions
+ Increment portion count
+ Decrement portion size
- g