From c83a99ef0a5c6b37ee1f65fc9338b7d53a2dde12 Mon Sep 17 00:00:00 2001 From: Ionut253 <48173899+Ionut253@users.noreply.github.com> Date: Thu, 18 Dec 2025 11:19:31 +0200 Subject: [PATCH 1/9] Receipt screen wired to backend --- .../android/data/model/ProcessedItem.kt | 9 + .../data/model/ReceiptProcessResponse.kt | 6 + .../android/data/network/ReceiptApiService.kt | 14 + .../android/data/network/RetrofitClient.kt | 14 + .../android/ui/screens/ReceiptScreen.kt | 654 +++++++++--------- .../android/ui/viewmodels/ReceiptViewModel.kt | 149 ++++ .../ui/viewmodels/ReceiptViewModelFactory.kt | 14 + 7 files changed, 543 insertions(+), 317 deletions(-) create mode 100644 Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ProcessedItem.kt create mode 100644 Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ReceiptProcessResponse.kt create mode 100644 Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/ReceiptApiService.kt create mode 100644 Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt create mode 100644 Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ProcessedItem.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ProcessedItem.kt new file mode 100644 index 0000000..c933746 --- /dev/null +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ProcessedItem.kt @@ -0,0 +1,9 @@ +package com.example.budgeting.android.data.model + +data class ProcessedItem( + val name: String, + val quantity: Int, + val price: Double, + val category: String, + val keywords: List +) diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ReceiptProcessResponse.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ReceiptProcessResponse.kt new file mode 100644 index 0000000..62d6e63 --- /dev/null +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/ReceiptProcessResponse.kt @@ -0,0 +1,6 @@ +package com.example.budgeting.android.data.model + +data class ReceiptProcessResponse( + val items: List, + val total: Double +) diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/ReceiptApiService.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/ReceiptApiService.kt new file mode 100644 index 0000000..936061d --- /dev/null +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/ReceiptApiService.kt @@ -0,0 +1,14 @@ +package com.example.budgeting.android.data.network + +import com.example.budgeting.android.data.model.ReceiptProcessResponse +import okhttp3.MultipartBody +import retrofit2.Response +import retrofit2.http.Multipart +import retrofit2.http.POST +import retrofit2.http.Part + +interface ReceiptApiService { + @Multipart + @POST("/receipt/process-receipt") + suspend fun processReceipt(@Part image: MultipartBody.Part): Response +} \ No newline at end of file diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt index 786b3a9..b3c99e9 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt @@ -107,4 +107,18 @@ object RetrofitClient { retrofit.create(CategoryApiService::class.java) } + + val receiptInstance: ReceiptApiService = run { + val client = OkHttpClient.Builder() + .addInterceptor(TokenAuthInterceptor()) + .build() + + val retrofit = Retrofit.Builder() + .baseUrl(BASE_URL) + .client(client) + .addConverterFactory(moshiConverterFactory) + .build() + + retrofit.create(ReceiptApiService::class.java) + } } diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt index e107c39..4d4ac7c 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt @@ -1,31 +1,55 @@ package com.example.budgeting.android.ui.screens +import ReceiptViewModelFactory +import android.Manifest +import android.content.Context +import android.graphics.Bitmap +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Camera -import androidx.compose.material3.* -import androidx.compose.runtime.* +import androidx.compose.material.icons.automirrored.filled.ReceiptLong +import androidx.compose.material.icons.filled.CameraAlt +import androidx.compose.material.icons.filled.Check +import androidx.compose.material.icons.filled.ShoppingBag +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.DividerDefaults +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog -import androidx.activity.compose.rememberLauncherForActivityResult -import androidx.activity.result.contract.ActivityResultContracts -import android.Manifest -import android.graphics.Bitmap +import androidx.compose.ui.window.DialogProperties import androidx.core.content.ContextCompat import androidx.core.content.PermissionChecker -import coil.compose.AsyncImage -import com.example.budgeting.android.data.model.Receipt +import androidx.lifecycle.viewmodel.compose.viewModel +import com.example.budgeting.android.data.model.ProcessedItem +import com.example.budgeting.android.ui.viewmodels.ReceiptUiState +import com.example.budgeting.android.ui.viewmodels.ReceiptViewModel +import kotlinx.coroutines.launch import java.io.File import java.io.FileOutputStream import java.util.UUID @@ -34,340 +58,324 @@ import java.util.UUID @Composable fun ReceiptScreen() { val context = LocalContext.current - val receipts = remember { - mutableStateListOf() - } + val vm: ReceiptViewModel = viewModel(factory = ReceiptViewModelFactory(context)) + val uiState by vm.uiState.collectAsState() + val scannedItems by vm.scannedItems.collectAsState() + val scope = rememberCoroutineScope() - // Camera result forwarder that the dialog can set - val cameraResultHandler = remember { mutableStateOf<(String?) -> Unit>({}) } - - val permissionLauncher = rememberLauncherForActivityResult( - contract = ActivityResultContracts.RequestPermission(), - onResult = { /* permission flow handled by launchCameraWith */ } - ) - - // Camera launcher (returns a Bitmap preview) and forwards to current handler val cameraLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.TakePicturePreview(), onResult = { bitmap: Bitmap? -> - val uriString = bitmap?.let { saveBitmapToCache(context.cacheDir, it) } - cameraResultHandler.value.invoke(uriString) + bitmap?.let { + val uri = saveBitmapToCacheUri(context, it) + vm.processReceiptImage(uri, context) + } } ) - fun launchCameraWith(onPicture: (String?) -> Unit) { - cameraResultHandler.value = onPicture - val hasPermission = ContextCompat.checkSelfPermission( - context, - Manifest.permission.CAMERA - ) == PermissionChecker.PERMISSION_GRANTED + val permissionLauncher = rememberLauncherForActivityResult( + contract = ActivityResultContracts.RequestPermission(), + onResult = { isGranted -> + if (isGranted) { + cameraLauncher.launch(null) + } + } + ) - if (hasPermission) { + fun launchCamera() { + if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PermissionChecker.PERMISSION_GRANTED) { cameraLauncher.launch(null) } else { permissionLauncher.launch(Manifest.permission.CAMERA) } } - var showAddDialog by remember { mutableStateOf(false) } - Scaffold( topBar = { TopAppBar( title = { Text( - text = "Groups", + text = "Receipts", style = MaterialTheme.typography.titleLarge ) - } + }, + colors = TopAppBarDefaults.topAppBarColors( + containerColor = MaterialTheme.colorScheme.surface, + titleContentColor = MaterialTheme.colorScheme.onSurface + ) ) - }, - bottomBar = { - Surface(color = MaterialTheme.colorScheme.background) { - Row( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 16.dp, vertical = 12.dp), - horizontalArrangement = Arrangement.spacedBy(12.dp), - verticalAlignment = Alignment.CenterVertically - ) { - Button( - onClick = { showAddDialog = true }, - modifier = Modifier - .weight(1f) - .height(52.dp), - shape = RoundedCornerShape(12.dp), - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primary, - contentColor = MaterialTheme.colorScheme.onPrimary - ) - ) { - Text("Add receipt") - } - } - } } ) { padding -> - Box( + Column( modifier = Modifier .padding(padding) .fillMaxSize() .background(MaterialTheme.colorScheme.background) ) { - if (receipts.isEmpty()) { - Box( - modifier = Modifier.fillMaxSize(), - contentAlignment = Alignment.Center - ) { - Column( - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.spacedBy(16.dp) - ) { - Text("🧾", style = MaterialTheme.typography.displayLarge) - Text( - text = "No receipts yet", - style = MaterialTheme.typography.bodyLarge, - color = MaterialTheme.colorScheme.onSurfaceVariant - ) - Text( - text = "Tap 'Add receipt' to get started", - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.7f) + Box( + modifier = Modifier + .weight(1f) + .fillMaxWidth(), + contentAlignment = Alignment.Center + ) { + when (uiState) { + is ReceiptUiState.Idle -> { + Column( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 32.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + Icon( + imageVector = Icons.AutoMirrored.Filled.ReceiptLong, + contentDescription = null, + tint = MaterialTheme.colorScheme.surfaceVariant, + modifier = Modifier + .size(96.dp) + .padding(bottom = 16.dp) + ) + Text( + text = "No receipt scanned", + style = MaterialTheme.typography.titleMedium, + color = MaterialTheme.colorScheme.onSurface, + textAlign = TextAlign.Center + ) + Spacer(Modifier.height(8.dp)) + Text( + text = "Tap \"Scan receipt\" to capture a receipt and automatically create expenses.", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + textAlign = TextAlign.Center + ) + } + } + + is ReceiptUiState.Loading -> { + Card( + modifier = Modifier + .fillMaxWidth(0.8f) + .wrapContentHeight(), + shape = RoundedCornerShape(20.dp), + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surface + ), + elevation = CardDefaults.cardElevation(defaultElevation = 8.dp) + ) { + Column( + modifier = Modifier + .padding(20.dp) + .fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally + ) { + androidx.compose.material3.CircularProgressIndicator() + Spacer(Modifier.height(16.dp)) + val msg = (uiState as ReceiptUiState.Loading).message + Text( + text = msg, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurface, + textAlign = TextAlign.Center + ) + } + } + } + + is ReceiptUiState.Reviewing -> { + if (scannedItems.isNotEmpty()) { + ReceiptReviewDialog( + items = scannedItems, + onConfirm = { + scope.launch { vm.saveExpenses() } + }, + onCancel = { vm.cancelReview() } + ) + } + } + + is ReceiptUiState.Success -> { + val message = (uiState as ReceiptUiState.Success).message + AlertDialog( + onDismissRequest = { vm.dismissError() }, + confirmButton = { + TextButton(onClick = { vm.dismissError() }) { + Text("OK") + } + }, + title = { + Text( + text = "Done", + style = MaterialTheme.typography.titleLarge + ) + }, + text = { + Text( + text = message, + style = MaterialTheme.typography.bodyMedium + ) + } ) } - } - } else { - LazyColumn( - modifier = Modifier.fillMaxSize(), - verticalArrangement = Arrangement.Top - ) { - items(receipts) { receipt -> - ReceiptRow( - title = receipt.merchant, - subtitle = receipt.category, - amount = receipt.amount, - thumbnailUrl = receipt.thumbnailUrl + + is ReceiptUiState.Error -> { + val message = (uiState as ReceiptUiState.Error).message + AlertDialog( + onDismissRequest = { vm.dismissError() }, + confirmButton = { + TextButton(onClick = { vm.dismissError() }) { + Text("OK") + } + }, + title = { + Text( + text = "Something went wrong", + style = MaterialTheme.typography.titleLarge, + color = MaterialTheme.colorScheme.error + ) + }, + text = { + Text( + text = message, + style = MaterialTheme.typography.bodyMedium + ) + } ) } } } - } - if (showAddDialog) { - AddReceiptDialog( - onDismiss = { showAddDialog = false }, - onScan = { onPicture -> launchCameraWith(onPicture) }, - onAdd = { merchant, category, amount, thumbnailUrl -> - receipts.add( - 0, - Receipt( - id = UUID.randomUUID().toString(), - merchant = merchant.ifBlank { "Untitled" }, - category = category.ifBlank { "Uncategorized" }, - amount = amount, - thumbnailUrl = thumbnailUrl - ) + Row( + modifier = Modifier + .padding(horizontal = 16.dp, vertical = 12.dp) + .fillMaxWidth() + ) { + Button( + onClick = { launchCamera() }, + modifier = Modifier + .fillMaxWidth() + .height(52.dp), + shape = RoundedCornerShape(12.dp), + colors = ButtonDefaults.buttonColors( + containerColor = MaterialTheme.colorScheme.primary, + contentColor = MaterialTheme.colorScheme.onPrimary + ) + ) { + Icon( + imageVector = Icons.Default.CameraAlt, + contentDescription = "Scan receipt" ) - showAddDialog = false + Spacer(modifier = Modifier.size(8.dp)) + Text("Scan receipt") } - ) + } } } } -private fun saveBitmapToCache(cacheDir: File, bitmap: Bitmap): String { - val file = File(cacheDir, "receipt-${UUID.randomUUID()}.jpg") - FileOutputStream(file).use { out -> - bitmap.compress(Bitmap.CompressFormat.JPEG, 92, out) - } - return file.toURI().toString() -} - @Composable -private fun AddReceiptDialog( - onDismiss: () -> Unit, - onScan: (onPicture: (String?) -> Unit) -> Unit, - onAdd: (merchant: String, category: String, amount: Double, thumbnailUrl: String?) -> Unit +fun ReceiptReviewDialog( + items: List, + onConfirm: () -> Unit, + onCancel: () -> Unit ) { - Dialog(onDismissRequest = onDismiss) { - Surface( - color = MaterialTheme.colorScheme.background, - shape = RoundedCornerShape(16.dp), + Dialog( + onDismissRequest = onCancel, + properties = DialogProperties(usePlatformDefaultWidth = false) + ) { + Card( + modifier = Modifier + .fillMaxWidth(0.95f) + .heightIn(max = 600.dp) + .padding(16.dp), + shape = RoundedCornerShape(24.dp), + colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surface), + elevation = CardDefaults.cardElevation(8.dp) ) { Column( - modifier = Modifier - .padding(12.dp) - .fillMaxWidth() + modifier = Modifier.padding(20.dp) ) { - Row( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 8.dp, vertical = 12.dp), - verticalAlignment = Alignment.CenterVertically - ) { - TextButton(onClick = onDismiss) { - Text("✕", color = MaterialTheme.colorScheme.onBackground) - } - Box(modifier = Modifier.weight(1f), contentAlignment = Alignment.Center) { - Text( - text = "New Receipt", - color = MaterialTheme.colorScheme.onBackground - ) - } - Spacer(modifier = Modifier.size(32.dp)) - } + Text( + text = "Review items", + style = MaterialTheme.typography.headlineSmall, + color = MaterialTheme.colorScheme.onSurface, + fontWeight = FontWeight.Bold + ) + Text( + text = "${items.size} items detected. Check categories before saving.", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) - // Inputs - val merchant = remember { mutableStateOf("") } - val category = remember { mutableStateOf("") } - val amountText = remember { mutableStateOf("") } - val thumbnail = remember { mutableStateOf(null) } + Spacer(Modifier.height(16.dp)) - Column( - modifier = Modifier - .padding(horizontal = 12.dp), - verticalArrangement = Arrangement.spacedBy(12.dp) + LazyColumn( + modifier = Modifier.weight(1f), + verticalArrangement = Arrangement.spacedBy(8.dp) ) { - TextField( - value = merchant.value, - onValueChange = { merchant.value = it }, - placeholder = { Text("Merchant") }, - label = { Text("Merchant") }, - singleLine = true, - shape = RoundedCornerShape(10.dp), - colors = TextFieldDefaults.colors( - unfocusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedIndicatorColor = androidx.compose.ui.graphics.Color.Transparent, - unfocusedIndicatorColor = androidx.compose.ui.graphics.Color.Transparent, - cursorColor = MaterialTheme.colorScheme.primary, - focusedTextColor = MaterialTheme.colorScheme.onSurface, - unfocusedTextColor = MaterialTheme.colorScheme.onSurfaceVariant - ), - modifier = Modifier.fillMaxWidth() - ) + items(items) { item -> + ScannedItemRow(item) + } + } - TextField( - value = category.value, - onValueChange = { category.value = it }, - placeholder = { Text("Category") }, - label = { Text("Category") }, - singleLine = true, - shape = RoundedCornerShape(10.dp), - colors = TextFieldDefaults.colors( - unfocusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedIndicatorColor = androidx.compose.ui.graphics.Color.Transparent, - unfocusedIndicatorColor = androidx.compose.ui.graphics.Color.Transparent, - cursorColor = MaterialTheme.colorScheme.primary, - focusedTextColor = MaterialTheme.colorScheme.onSurface, - unfocusedTextColor = MaterialTheme.colorScheme.onSurfaceVariant - ), - modifier = Modifier.fillMaxWidth() - ) + Spacer(Modifier.height(16.dp)) - TextField( - value = amountText.value, - onValueChange = { input -> - // Allow only digits and at most one dot - val filtered = buildString { - var dotSeen = false - input.forEach { ch -> - if (ch.isDigit()) append(ch) - else if (ch == '.' && !dotSeen) { - append(ch) - dotSeen = true - } - } - } - amountText.value = filtered - }, - placeholder = { Text("Amount") }, - label = { Text("Amount") }, - singleLine = true, - keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number), - shape = RoundedCornerShape(10.dp), - colors = TextFieldDefaults.colors( - unfocusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedIndicatorColor = androidx.compose.ui.graphics.Color.Transparent, - unfocusedIndicatorColor = androidx.compose.ui.graphics.Color.Transparent, - cursorColor = MaterialTheme.colorScheme.primary, - focusedTextColor = MaterialTheme.colorScheme.onSurface, - unfocusedTextColor = MaterialTheme.colorScheme.onSurfaceVariant - ), - modifier = Modifier.fillMaxWidth() + val total = items.sumOf { it.price } + Card( + modifier = Modifier.fillMaxWidth(), + shape = RoundedCornerShape(12.dp), + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.primaryContainer ) - - // Thumbnail preview + Scan button + ) { Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.spacedBy(12.dp), + modifier = Modifier.padding(16.dp), + horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically ) { - Surface( - shape = RoundedCornerShape(10.dp), - color = MaterialTheme.colorScheme.surfaceVariant - ) { - Box( - modifier = Modifier.size(64.dp), - contentAlignment = Alignment.Center - ) { - if (thumbnail.value != null) { - AsyncImage( - model = thumbnail.value, - contentDescription = null, - modifier = Modifier.clip(RoundedCornerShape(10.dp)), - contentScale = ContentScale.Crop - ) - } else { - Text("🧾") - } - } - } - - Button( - onClick = { - onScan { uri -> thumbnail.value = uri } - }, - shape = RoundedCornerShape(10.dp), - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.surfaceVariant, - contentColor = MaterialTheme.colorScheme.onSurfaceVariant - ) - ) { - Icon( - imageVector = Icons.Filled.Camera, - contentDescription = "Scan" - ) - Spacer(Modifier.size(8.dp)) - Text("Scan") - } + Text( + text = "Total amount", + style = MaterialTheme.typography.titleMedium, + color = MaterialTheme.colorScheme.onPrimaryContainer + ) + Text( + text = "$${String.format("%.2f", total)}", + style = MaterialTheme.typography.titleLarge, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colorScheme.primary + ) } } - Button( - onClick = { - val amount = amountText.value.toDoubleOrNull() ?: 0.0 - onAdd( - merchant.value.trim(), - category.value.trim(), - amount, - thumbnail.value - ) - }, - enabled = merchant.value.isNotBlank(), - modifier = Modifier - .padding(12.dp) - .fillMaxWidth() - .height(50.dp), - shape = RoundedCornerShape(10.dp), - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primary, - contentColor = MaterialTheme.colorScheme.onPrimary - ) + Spacer(Modifier.height(24.dp)) + + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.End ) { - Text("Add receipt") + TextButton( + onClick = onCancel, + colors = ButtonDefaults.textButtonColors( + contentColor = MaterialTheme.colorScheme.onSurfaceVariant + ) + ) { + Text("Cancel") + } + Spacer(Modifier.width(8.dp)) + Button( + onClick = onConfirm, + colors = ButtonDefaults.buttonColors( + containerColor = MaterialTheme.colorScheme.primary, + contentColor = MaterialTheme.colorScheme.onPrimary + ) + ) { + Icon( + imageVector = Icons.Default.Check, + contentDescription = null, + modifier = Modifier.size(18.dp) + ) + Spacer(Modifier.width(8.dp)) + Text("Save expenses") + } } } } @@ -375,53 +383,65 @@ private fun AddReceiptDialog( } @Composable -private fun ReceiptRow( - title: String, - subtitle: String, - amount: Double, - thumbnailUrl: String? -) { +fun ScannedItemRow(item: ProcessedItem) { Row( modifier = Modifier .fillMaxWidth() - .padding(horizontal = 12.dp, vertical = 10.dp), + .background(MaterialTheme.colorScheme.surface, RoundedCornerShape(12.dp)) + .padding(vertical = 8.dp, horizontal = 12.dp), verticalAlignment = Alignment.CenterVertically ) { - Surface( - shape = RoundedCornerShape(8.dp), - color = MaterialTheme.colorScheme.surfaceVariant + Card( + shape = RoundedCornerShape(12.dp), + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surfaceVariant + ), + modifier = Modifier.size(48.dp) ) { - Box( - modifier = Modifier.size(48.dp), - contentAlignment = Alignment.Center - ) { - if (thumbnailUrl != null) { - AsyncImage( - model = thumbnailUrl, - contentDescription = null, - modifier = Modifier.clip(RoundedCornerShape(8.dp)), - contentScale = ContentScale.Crop - ) - } else { - Text("🧾") - } + Box(contentAlignment = Alignment.Center) { + Icon( + imageVector = Icons.Default.ShoppingBag, + contentDescription = null, + tint = MaterialTheme.colorScheme.primary + ) } } - Spacer(modifier = Modifier.size(12.dp)) + Spacer(modifier = Modifier.width(16.dp)) Column(modifier = Modifier.weight(1f)) { - Text(title, color = MaterialTheme.colorScheme.onSurface) Text( - subtitle, - color = MaterialTheme.colorScheme.onSurfaceVariant, - style = MaterialTheme.typography.bodySmall + text = item.name, + style = MaterialTheme.typography.bodyLarge, + color = MaterialTheme.colorScheme.onSurface, + ) + Text( + text = item.category, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.primary, + fontWeight = FontWeight.Medium ) } Text( - text = "$${"%.2f".format(amount)}", + text = "$${String.format("%.2f", item.price)}", + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.SemiBold, color = MaterialTheme.colorScheme.onSurface ) } + + HorizontalDivider( + Modifier, + DividerDefaults.Thickness, + color = MaterialTheme.colorScheme.outlineVariant.copy(alpha = 0.3f) + ) } + +private fun saveBitmapToCacheUri(context: Context, bitmap: Bitmap): android.net.Uri { + val file = File(context.cacheDir, "scan_${UUID.randomUUID()}.jpg") + FileOutputStream(file).use { out -> + bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out) + } + return android.net.Uri.fromFile(file) +} \ No newline at end of file diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt new file mode 100644 index 0000000..7531543 --- /dev/null +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt @@ -0,0 +1,149 @@ +package com.example.budgeting.android.ui.viewmodels + +import android.content.Context +import android.net.Uri +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.example.budgeting.android.data.auth.TokenHolder +import com.example.budgeting.android.data.local.TokenDataStore +import com.example.budgeting.android.data.model.* +import com.example.budgeting.android.data.network.RetrofitClient +import com.example.budgeting.android.data.repository.CategoryRepository +import com.example.budgeting.android.data.repository.ExpenseRepository +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.firstOrNull +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import okhttp3.MediaType.Companion.toMediaTypeOrNull +import okhttp3.MultipartBody +import okhttp3.RequestBody.Companion.asRequestBody +import java.io.File +import java.io.FileOutputStream + +sealed class ReceiptUiState { + object Idle : ReceiptUiState() + data class Loading(val message: String) : ReceiptUiState() + object Reviewing : ReceiptUiState() + data class Success(val message: String) : ReceiptUiState() + data class Error(val message: String) : ReceiptUiState() +} + +class ReceiptViewModel(context: Context) : ViewModel() { + private val tokenDataStore = TokenDataStore(context.applicationContext) + + private val expenseRepository = ExpenseRepository(RetrofitClient.expenseInstance, tokenDataStore) + private val categoryRepository = CategoryRepository(RetrofitClient.categoryInstance) + private val receiptApi = RetrofitClient.receiptInstance + + private val _uiState = MutableStateFlow(ReceiptUiState.Idle) + val uiState: StateFlow = _uiState.asStateFlow() + + private val _scannedItems = MutableStateFlow>(emptyList()) + val scannedItems: StateFlow> = _scannedItems.asStateFlow() + + init { + viewModelScope.launch { + val savedToken = tokenDataStore.tokenFlow.firstOrNull() + if (!savedToken.isNullOrBlank()) TokenHolder.token = savedToken + } + } + + fun processReceiptImage(uri: Uri, context: Context) { + viewModelScope.launch { + _uiState.value = ReceiptUiState.Loading("Analyzing receipt with AI...") + + try { + val file = File(context.cacheDir, "receipt_upload.jpg") + withContext(Dispatchers.IO) { + context.contentResolver.openInputStream(uri)?.use { input -> + FileOutputStream(file).use { output -> input.copyTo(output) } + } + } + + val reqBody = file.asRequestBody("image/jpeg".toMediaTypeOrNull()) + val part = MultipartBody.Part.createFormData("image", file.name, reqBody) + + val response = receiptApi.processReceipt(part) + + if (response.isSuccessful && response.body() != null) { + _scannedItems.value = response.body()!!.items + _uiState.value = ReceiptUiState.Reviewing + } else { + _uiState.value = ReceiptUiState.Error("AI Analysis failed: ${response.code()}") + } + } catch (e: Exception) { + _uiState.value = ReceiptUiState.Error("Error: ${e.message}") + } + } + } + + fun saveExpenses() { + viewModelScope.launch { + _uiState.value = ReceiptUiState.Loading("Saving expenses...") + + try { + var existingCategories = try { + categoryRepository.getCategories(null, null) + } catch (e: Exception) { emptyList() } + + val itemsToSave = _scannedItems.value + var successCount = 0 + + itemsToSave.forEach { item -> + var targetCategory = existingCategories.find { + it.title.equals(item.category, ignoreCase = true) + } + + if (targetCategory == null) { + try { + categoryRepository.addCategory( + CategoryBody(title = item.category, keywords = item.keywords) + ) + existingCategories = categoryRepository.getCategories(null, null) + targetCategory = existingCategories.find { + it.title.equals(item.category, ignoreCase = true) + } + } catch (e: Exception) { + e.printStackTrace() + } + } + + if (targetCategory != null) { + try { + expenseRepository.addExpense( + Expense( + id = null, + title = item.name, + amount = item.price, + categoryId = targetCategory.id!!, + description = "Scanned Receipt Item", + user_id = null, + group_id = null, + created_at = null + ) + ) + successCount++ + } catch (e: Exception) { + e.printStackTrace() + } + } + } + + _uiState.value = ReceiptUiState.Success("Successfully saved $successCount expenses!") + _scannedItems.value = emptyList() + + } catch (e: Exception) { + _uiState.value = ReceiptUiState.Error("Failed to save: ${e.message}") + } + } + } + + fun dismissError() { _uiState.value = ReceiptUiState.Idle } + fun cancelReview() { + _scannedItems.value = emptyList() + _uiState.value = ReceiptUiState.Idle + } +} diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt new file mode 100644 index 0000000..57de221 --- /dev/null +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt @@ -0,0 +1,14 @@ +import android.content.Context +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import com.example.budgeting.android.ui.viewmodels.ReceiptViewModel + +class ReceiptViewModelFactory(private val context: Context) : ViewModelProvider.Factory { + override fun create(modelClass: Class): T { + if (modelClass.isAssignableFrom(ReceiptViewModel::class.java)) { + @Suppress("UNCHECKED_CAST") + return ReceiptViewModel(context) as T + } + throw IllegalArgumentException("Unknown ViewModel class") + } +} \ No newline at end of file From 9edb4277dec4f921b58d27d0110947e3eb799a16 Mon Sep 17 00:00:00 2001 From: Ionut253 <48173899+Ionut253@users.noreply.github.com> Date: Fri, 19 Dec 2025 22:43:46 +0200 Subject: [PATCH 2/9] Refactor receipt scanning flow and UI improvements --- API/routes/receipt_routes.py | 2 +- Mobile/androidApp/build.gradle.kts | 1 + .../android/data/network/RetrofitClient.kt | 6 +- .../android/ui/screens/ReceiptScreen.kt | 506 +++++++++--------- .../android/ui/viewmodels/ReceiptViewModel.kt | 123 +++-- .../ui/viewmodels/ReceiptViewModelFactory.kt | 6 +- Mobile/gradle/libs.versions.toml | 2 + 7 files changed, 341 insertions(+), 305 deletions(-) diff --git a/API/routes/receipt_routes.py b/API/routes/receipt_routes.py index 5a90df0..7f59083 100644 --- a/API/routes/receipt_routes.py +++ b/API/routes/receipt_routes.py @@ -3,7 +3,7 @@ from services.receipt_service import IReceiptService from utils.helpers.jwt_utils import JwtUtils -router = APIRouter(prefix="/receipt", tags=["Receipt"]) +router = APIRouter(tags=["Receipt"]) def get_current_user_id(request: Request) -> int: """ diff --git a/Mobile/androidApp/build.gradle.kts b/Mobile/androidApp/build.gradle.kts index ed5161d..2ed9cba 100644 --- a/Mobile/androidApp/build.gradle.kts +++ b/Mobile/androidApp/build.gradle.kts @@ -60,6 +60,7 @@ dependencies { implementation(libs.compose.material3) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.foundation) + implementation(libs.androidx.foundation) debugImplementation(libs.compose.ui.tooling) // Core Compose dependencies diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt index b3c99e9..bf41087 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt @@ -7,6 +7,7 @@ import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import okhttp3.OkHttpClient import retrofit2.Retrofit import retrofit2.converter.moshi.MoshiConverterFactory +import java.util.concurrent.TimeUnit object RetrofitClient { private val BASE_URL: String = BuildConfig.BASE_URL @@ -18,7 +19,7 @@ object RetrofitClient { private val moshi = Moshi.Builder() .add(KotlinJsonAdapterFactory()) .build() - + fun getMoshi(): Moshi = moshi private val moshiConverterFactory = MoshiConverterFactory.create(moshi) @@ -111,6 +112,9 @@ object RetrofitClient { val receiptInstance: ReceiptApiService = run { val client = OkHttpClient.Builder() .addInterceptor(TokenAuthInterceptor()) + .connectTimeout(60, TimeUnit.SECONDS) + .readTimeout(60, TimeUnit.SECONDS) + .writeTimeout(60, TimeUnit.SECONDS) .build() val retrofit = Retrofit.Builder() diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt index 4d4ac7c..9cb19b1 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/ReceiptScreen.kt @@ -2,11 +2,14 @@ package com.example.budgeting.android.ui.screens import ReceiptViewModelFactory import android.Manifest +import android.app.Application import android.content.Context import android.graphics.Bitmap +import android.net.Uri import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items @@ -16,33 +19,18 @@ import androidx.compose.material.icons.automirrored.filled.ReceiptLong import androidx.compose.material.icons.filled.CameraAlt import androidx.compose.material.icons.filled.Check import androidx.compose.material.icons.filled.ShoppingBag -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.Button -import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.Card -import androidx.compose.material3.CardDefaults -import androidx.compose.material3.DividerDefaults -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.HorizontalDivider -import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.material3.* +import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties +import androidx.compose.ui.zIndex import androidx.core.content.ContextCompat import androidx.core.content.PermissionChecker import androidx.lifecycle.viewmodel.compose.viewModel @@ -58,17 +46,21 @@ import java.util.UUID @Composable fun ReceiptScreen() { val context = LocalContext.current - val vm: ReceiptViewModel = viewModel(factory = ReceiptViewModelFactory(context)) + val scope = rememberCoroutineScope() + + val vm: ReceiptViewModel = viewModel( + factory = ReceiptViewModelFactory(context.applicationContext as Application) + ) + val uiState by vm.uiState.collectAsState() val scannedItems by vm.scannedItems.collectAsState() - val scope = rememberCoroutineScope() val cameraLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.TakePicturePreview(), onResult = { bitmap: Bitmap? -> bitmap?.let { val uri = saveBitmapToCacheUri(context, it) - vm.processReceiptImage(uri, context) + vm.processReceiptImage(uri) } } ) @@ -76,9 +68,7 @@ fun ReceiptScreen() { val permissionLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.RequestPermission(), onResult = { isGranted -> - if (isGranted) { - cameraLauncher.launch(null) - } + if (isGranted) cameraLauncher.launch(null) } ) @@ -93,12 +83,7 @@ fun ReceiptScreen() { Scaffold( topBar = { TopAppBar( - title = { - Text( - text = "Receipts", - style = MaterialTheme.typography.titleLarge - ) - }, + title = { Text("Receipts", style = MaterialTheme.typography.titleLarge) }, colors = TopAppBarDefaults.topAppBarColors( containerColor = MaterialTheme.colorScheme.surface, titleContentColor = MaterialTheme.colorScheme.onSurface @@ -106,178 +91,109 @@ fun ReceiptScreen() { ) } ) { padding -> - Column( + Box( modifier = Modifier .padding(padding) .fillMaxSize() .background(MaterialTheme.colorScheme.background) ) { - Box( - modifier = Modifier - .weight(1f) - .fillMaxWidth(), - contentAlignment = Alignment.Center + + Column( + modifier = Modifier.fillMaxSize() ) { - when (uiState) { - is ReceiptUiState.Idle -> { - Column( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 32.dp), - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center - ) { - Icon( - imageVector = Icons.AutoMirrored.Filled.ReceiptLong, - contentDescription = null, - tint = MaterialTheme.colorScheme.surfaceVariant, - modifier = Modifier - .size(96.dp) - .padding(bottom = 16.dp) - ) - Text( - text = "No receipt scanned", - style = MaterialTheme.typography.titleMedium, - color = MaterialTheme.colorScheme.onSurface, - textAlign = TextAlign.Center - ) - Spacer(Modifier.height(8.dp)) - Text( - text = "Tap \"Scan receipt\" to capture a receipt and automatically create expenses.", - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.onSurfaceVariant, - textAlign = TextAlign.Center - ) - } - } + Box( + modifier = Modifier.weight(1f).fillMaxWidth(), + contentAlignment = Alignment.Center + ) { + when (uiState) { + is ReceiptUiState.Idle -> EmptyStateContent() + is ReceiptUiState.Loading -> { } - is ReceiptUiState.Loading -> { - Card( - modifier = Modifier - .fillMaxWidth(0.8f) - .wrapContentHeight(), - shape = RoundedCornerShape(20.dp), - colors = CardDefaults.cardColors( - containerColor = MaterialTheme.colorScheme.surface - ), - elevation = CardDefaults.cardElevation(defaultElevation = 8.dp) - ) { - Column( - modifier = Modifier - .padding(20.dp) - .fillMaxWidth(), - horizontalAlignment = Alignment.CenterHorizontally - ) { - androidx.compose.material3.CircularProgressIndicator() - Spacer(Modifier.height(16.dp)) - val msg = (uiState as ReceiptUiState.Loading).message - Text( - text = msg, - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.onSurface, - textAlign = TextAlign.Center + is ReceiptUiState.Reviewing -> { + if (scannedItems.isNotEmpty()) { + ReceiptReviewDialog( + items = scannedItems, + onConfirm = { selectedItems -> + scope.launch { vm.saveExpenses(selectedItems) } + }, + onCancel = { vm.cancelReview() } ) } } - } - - is ReceiptUiState.Reviewing -> { - if (scannedItems.isNotEmpty()) { - ReceiptReviewDialog( - items = scannedItems, - onConfirm = { - scope.launch { vm.saveExpenses() } - }, - onCancel = { vm.cancelReview() } + is ReceiptUiState.Success -> { + ResultAlertDialog( + title = "Done", + message = (uiState as ReceiptUiState.Success).message, + onDismiss = { vm.dismissError() } + ) + } + is ReceiptUiState.Error -> { + ResultAlertDialog( + title = "Error", + message = (uiState as ReceiptUiState.Error).message, + isError = true, + onDismiss = { vm.dismissError() } ) } } + } - is ReceiptUiState.Success -> { - val message = (uiState as ReceiptUiState.Success).message - AlertDialog( - onDismissRequest = { vm.dismissError() }, - confirmButton = { - TextButton(onClick = { vm.dismissError() }) { - Text("OK") - } - }, - title = { - Text( - text = "Done", - style = MaterialTheme.typography.titleLarge - ) - }, - text = { - Text( - text = message, - style = MaterialTheme.typography.bodyMedium - ) - } - ) - } - - is ReceiptUiState.Error -> { - val message = (uiState as ReceiptUiState.Error).message - AlertDialog( - onDismissRequest = { vm.dismissError() }, - confirmButton = { - TextButton(onClick = { vm.dismissError() }) { - Text("OK") - } - }, - title = { - Text( - text = "Something went wrong", - style = MaterialTheme.typography.titleLarge, - color = MaterialTheme.colorScheme.error - ) - }, - text = { - Text( - text = message, - style = MaterialTheme.typography.bodyMedium - ) - } + PaddingValues(16.dp).let { + Button( + onClick = { launchCamera() }, + enabled = uiState is ReceiptUiState.Idle || uiState is ReceiptUiState.Error || uiState is ReceiptUiState.Success, + modifier = Modifier + .padding(16.dp) + .fillMaxWidth() + .height(56.dp), + shape = RoundedCornerShape(16.dp), + colors = ButtonDefaults.buttonColors( + containerColor = MaterialTheme.colorScheme.primary ) + ) { + Icon(Icons.Default.CameraAlt, contentDescription = null) + Spacer(Modifier.width(8.dp)) + Text("Scan Receipt", style = MaterialTheme.typography.titleMedium) } } } - Row( - modifier = Modifier - .padding(horizontal = 16.dp, vertical = 12.dp) - .fillMaxWidth() - ) { - Button( - onClick = { launchCamera() }, + if (uiState is ReceiptUiState.Loading) { + val message = (uiState as ReceiptUiState.Loading).message + Box( modifier = Modifier - .fillMaxWidth() - .height(52.dp), - shape = RoundedCornerShape(12.dp), - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primary, - contentColor = MaterialTheme.colorScheme.onPrimary - ) + .fillMaxSize() + .background(MaterialTheme.colorScheme.surface.copy(alpha = 0.85f)) + .zIndex(2f), + contentAlignment = Alignment.Center ) { - Icon( - imageVector = Icons.Default.CameraAlt, - contentDescription = "Scan receipt" - ) - Spacer(modifier = Modifier.size(8.dp)) - Text("Scan receipt") + Column(horizontalAlignment = Alignment.CenterHorizontally) { + CircularProgressIndicator( + modifier = Modifier.size(64.dp), + color = MaterialTheme.colorScheme.primary, + strokeWidth = 6.dp + ) + Spacer(Modifier.height(24.dp)) + Text( + text = message, + style = MaterialTheme.typography.headlineSmall, + color = MaterialTheme.colorScheme.onSurface, + fontWeight = FontWeight.Medium + ) + } } } } } } - @Composable fun ReceiptReviewDialog( items: List, - onConfirm: () -> Unit, + onConfirm: (List) -> Unit, onCancel: () -> Unit ) { + val selectedItems = remember { mutableStateListOf().apply { addAll(items) } } + Dialog( onDismissRequest = onCancel, properties = DialogProperties(usePlatformDefaultWidth = false) @@ -285,23 +201,19 @@ fun ReceiptReviewDialog( Card( modifier = Modifier .fillMaxWidth(0.95f) - .heightIn(max = 600.dp) + .fillMaxHeight(0.85f) .padding(16.dp), - shape = RoundedCornerShape(24.dp), - colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surface), - elevation = CardDefaults.cardElevation(8.dp) + shape = RoundedCornerShape(28.dp), + colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surface) ) { - Column( - modifier = Modifier.padding(20.dp) - ) { + Column(modifier = Modifier.padding(24.dp)) { Text( - text = "Review items", + text = "Review Items", style = MaterialTheme.typography.headlineSmall, - color = MaterialTheme.colorScheme.onSurface, fontWeight = FontWeight.Bold ) Text( - text = "${items.size} items detected. Check categories before saving.", + text = "${selectedItems.size} of ${items.size} items selected", style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurfaceVariant ) @@ -310,71 +222,52 @@ fun ReceiptReviewDialog( LazyColumn( modifier = Modifier.weight(1f), - verticalArrangement = Arrangement.spacedBy(8.dp) + verticalArrangement = Arrangement.spacedBy(12.dp) ) { items(items) { item -> - ScannedItemRow(item) + val isSelected = selectedItems.contains(item) + SelectableItemRow( + item = item, + isSelected = isSelected, + onToggle = { + if (isSelected) selectedItems.remove(item) + else selectedItems.add(item) + } + ) } } + Spacer(Modifier.height(16.dp)) + HorizontalDivider() Spacer(Modifier.height(16.dp)) - val total = items.sumOf { it.price } - Card( + val total = selectedItems.sumOf { it.price } + Row( modifier = Modifier.fillMaxWidth(), - shape = RoundedCornerShape(12.dp), - colors = CardDefaults.cardColors( - containerColor = MaterialTheme.colorScheme.primaryContainer - ) + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically ) { - Row( - modifier = Modifier.padding(16.dp), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically - ) { - Text( - text = "Total amount", - style = MaterialTheme.typography.titleMedium, - color = MaterialTheme.colorScheme.onPrimaryContainer - ) - Text( - text = "$${String.format("%.2f", total)}", - style = MaterialTheme.typography.titleLarge, - fontWeight = FontWeight.Bold, - color = MaterialTheme.colorScheme.primary - ) - } + Text("Total Selected", style = MaterialTheme.typography.titleMedium) + Text( + "$${String.format("%.2f", total)}", + style = MaterialTheme.typography.headlineSmall, + color = MaterialTheme.colorScheme.primary, + fontWeight = FontWeight.Bold + ) } Spacer(Modifier.height(24.dp)) - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.End - ) { - TextButton( - onClick = onCancel, - colors = ButtonDefaults.textButtonColors( - contentColor = MaterialTheme.colorScheme.onSurfaceVariant - ) - ) { - Text("Cancel") - } + Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.End) { + TextButton(onClick = onCancel) { Text("Cancel") } Spacer(Modifier.width(8.dp)) Button( - onClick = onConfirm, - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primary, - contentColor = MaterialTheme.colorScheme.onPrimary - ) + onClick = { onConfirm(selectedItems.toList()) }, + enabled = selectedItems.isNotEmpty() ) { - Icon( - imageVector = Icons.Default.Check, - contentDescription = null, - modifier = Modifier.size(18.dp) - ) + Icon(Icons.Default.Check, contentDescription = null, modifier = Modifier.size(18.dp)) Spacer(Modifier.width(8.dp)) - Text("Save expenses") + Text("Save (${selectedItems.size})") } } } @@ -383,26 +276,41 @@ fun ReceiptReviewDialog( } @Composable -fun ScannedItemRow(item: ProcessedItem) { +fun SelectableItemRow( + item: ProcessedItem, + isSelected: Boolean, + onToggle: () -> Unit +) { Row( modifier = Modifier .fillMaxWidth() - .background(MaterialTheme.colorScheme.surface, RoundedCornerShape(12.dp)) - .padding(vertical = 8.dp, horizontal = 12.dp), + .clickable { onToggle() } + .background( + if (isSelected) MaterialTheme.colorScheme.surfaceContainerLow else Color.Transparent, + RoundedCornerShape(12.dp) + ) + .padding(8.dp), verticalAlignment = Alignment.CenterVertically ) { - Card( - shape = RoundedCornerShape(12.dp), - colors = CardDefaults.cardColors( - containerColor = MaterialTheme.colorScheme.surfaceVariant - ), - modifier = Modifier.size(48.dp) + // Checkbox for selection + Checkbox( + checked = isSelected, + onCheckedChange = { onToggle() } + ) + + Spacer(modifier = Modifier.width(8.dp)) + + Surface( + shape = RoundedCornerShape(8.dp), + color = if(isSelected) MaterialTheme.colorScheme.primaryContainer else MaterialTheme.colorScheme.surfaceVariant, + modifier = Modifier.size(40.dp) ) { Box(contentAlignment = Alignment.Center) { Icon( - imageVector = Icons.Default.ShoppingBag, + Icons.Default.ShoppingBag, contentDescription = null, - tint = MaterialTheme.colorScheme.primary + tint = if(isSelected) MaterialTheme.colorScheme.onPrimaryContainer else MaterialTheme.colorScheme.onSurfaceVariant, + modifier = Modifier.size(20.dp) ) } } @@ -413,35 +321,127 @@ fun ScannedItemRow(item: ProcessedItem) { Text( text = item.name, style = MaterialTheme.typography.bodyLarge, - color = MaterialTheme.colorScheme.onSurface, + fontWeight = if(isSelected) FontWeight.SemiBold else FontWeight.Normal, + color = if (isSelected) MaterialTheme.colorScheme.onSurface else MaterialTheme.colorScheme.onSurface.copy(alpha=0.6f) ) Text( text = item.category, style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.primary, - fontWeight = FontWeight.Medium + color = MaterialTheme.colorScheme.primary ) } Text( text = "$${String.format("%.2f", item.price)}", style = MaterialTheme.typography.titleMedium, - fontWeight = FontWeight.SemiBold, + fontWeight = FontWeight.Bold, + color = if (isSelected) MaterialTheme.colorScheme.onSurface else MaterialTheme.colorScheme.onSurface.copy(alpha=0.6f) + ) + } +} + +@Composable +fun EmptyStateContent() { + Column( + modifier = Modifier.padding(32.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + Icon( + imageVector = Icons.AutoMirrored.Filled.ReceiptLong, + contentDescription = null, + tint = MaterialTheme.colorScheme.surfaceVariant, + modifier = Modifier.size(120.dp) + ) + Spacer(Modifier.height(24.dp)) + Text( + text = "No receipt scanned", + style = MaterialTheme.typography.headlineSmall, color = MaterialTheme.colorScheme.onSurface ) + Spacer(Modifier.height(8.dp)) + Text( + text = "Snap a photo of your receipt to automatically extract and save expenses.", + style = MaterialTheme.typography.bodyLarge, + color = MaterialTheme.colorScheme.onSurfaceVariant, + textAlign = TextAlign.Center + ) } +} - HorizontalDivider( - Modifier, - DividerDefaults.Thickness, - color = MaterialTheme.colorScheme.outlineVariant.copy(alpha = 0.3f) +@Composable +fun ResultAlertDialog( + title: String, + message: String, + isError: Boolean = false, + onDismiss: () -> Unit +) { + AlertDialog( + onDismissRequest = onDismiss, + confirmButton = { + TextButton(onClick = onDismiss) { Text("OK") } + }, + title = { + Text( + text = title, + color = if (isError) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.onSurface + ) + }, + text = { Text(message) } ) } -private fun saveBitmapToCacheUri(context: Context, bitmap: Bitmap): android.net.Uri { +@Composable +fun ScannedItemRow(item: ProcessedItem) { + Row( + modifier = Modifier + .fillMaxWidth() + .background(MaterialTheme.colorScheme.surfaceContainerLow, RoundedCornerShape(12.dp)) + .padding(12.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Surface( + shape = RoundedCornerShape(8.dp), + color = MaterialTheme.colorScheme.primaryContainer, + modifier = Modifier.size(40.dp) + ) { + Box(contentAlignment = Alignment.Center) { + Icon( + Icons.Default.ShoppingBag, + contentDescription = null, + tint = MaterialTheme.colorScheme.onPrimaryContainer, + modifier = Modifier.size(20.dp) + ) + } + } + + Spacer(modifier = Modifier.width(16.dp)) + + Column(modifier = Modifier.weight(1f)) { + Text( + text = item.name, + style = MaterialTheme.typography.bodyLarge, + fontWeight = FontWeight.SemiBold + ) + Text( + text = item.category, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.primary + ) + } + + Text( + text = "$${String.format("%.2f", item.price)}", + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.Bold + ) + } +} + +private fun saveBitmapToCacheUri(context: Context, bitmap: Bitmap): Uri { val file = File(context.cacheDir, "scan_${UUID.randomUUID()}.jpg") FileOutputStream(file).use { out -> - bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out) + bitmap.compress(Bitmap.CompressFormat.JPEG, 80, out) } - return android.net.Uri.fromFile(file) -} \ No newline at end of file + return Uri.fromFile(file) +} diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt index 7531543..660b49f 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt @@ -1,8 +1,8 @@ package com.example.budgeting.android.ui.viewmodels -import android.content.Context +import android.app.Application import android.net.Uri -import androidx.lifecycle.ViewModel +import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope import com.example.budgeting.android.data.auth.TokenHolder import com.example.budgeting.android.data.local.TokenDataStore @@ -22,6 +22,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody.Companion.asRequestBody import java.io.File import java.io.FileOutputStream +import java.util.UUID sealed class ReceiptUiState { object Idle : ReceiptUiState() @@ -31,9 +32,9 @@ sealed class ReceiptUiState { data class Error(val message: String) : ReceiptUiState() } -class ReceiptViewModel(context: Context) : ViewModel() { - private val tokenDataStore = TokenDataStore(context.applicationContext) +class ReceiptViewModel(application: Application) : AndroidViewModel(application) { + private val tokenDataStore = TokenDataStore(application) private val expenseRepository = ExpenseRepository(RetrofitClient.expenseInstance, tokenDataStore) private val categoryRepository = CategoryRepository(RetrofitClient.categoryInstance) private val receiptApi = RetrofitClient.receiptInstance @@ -51,19 +52,22 @@ class ReceiptViewModel(context: Context) : ViewModel() { } } - fun processReceiptImage(uri: Uri, context: Context) { + fun processReceiptImage(uri: Uri) { viewModelScope.launch { _uiState.value = ReceiptUiState.Loading("Analyzing receipt with AI...") try { - val file = File(context.cacheDir, "receipt_upload.jpg") - withContext(Dispatchers.IO) { - context.contentResolver.openInputStream(uri)?.use { input -> - FileOutputStream(file).use { output -> input.copyTo(output) } - } + val file = withContext(Dispatchers.IO) { + createTempFileFromUri(uri) } - val reqBody = file.asRequestBody("image/jpeg".toMediaTypeOrNull()) + if (file == null || file.length() == 0L) { + _uiState.value = ReceiptUiState.Error("Error: Image file is empty or invalid") + return@launch + } + + val mediaType = "image/jpeg".toMediaTypeOrNull() + val reqBody = file.asRequestBody(mediaType) val part = MultipartBody.Part.createFormData("image", file.name, reqBody) val response = receiptApi.processReceipt(part) @@ -74,60 +78,68 @@ class ReceiptViewModel(context: Context) : ViewModel() { } else { _uiState.value = ReceiptUiState.Error("AI Analysis failed: ${response.code()}") } + + file.delete() + } catch (e: Exception) { _uiState.value = ReceiptUiState.Error("Error: ${e.message}") } } } - fun saveExpenses() { + fun saveExpenses(itemsToSave: List) { viewModelScope.launch { _uiState.value = ReceiptUiState.Loading("Saving expenses...") try { - var existingCategories = try { + val initialCategories = try { categoryRepository.getCategories(null, null) } catch (e: Exception) { emptyList() } - - val itemsToSave = _scannedItems.value + + val localCategoryCache = initialCategories.toMutableList() var successCount = 0 - itemsToSave.forEach { item -> - var targetCategory = existingCategories.find { - it.title.equals(item.category, ignoreCase = true) - } + withContext(Dispatchers.IO) { + itemsToSave.forEach { item -> + + var targetCategory = localCategoryCache.find { + it.title.equals(item.category, ignoreCase = true) + } - if (targetCategory == null) { - try { - categoryRepository.addCategory( - CategoryBody(title = item.category, keywords = item.keywords) - ) - existingCategories = categoryRepository.getCategories(null, null) - targetCategory = existingCategories.find { - it.title.equals(item.category, ignoreCase = true) + if (targetCategory == null) { + try { + val newCategory = categoryRepository.addCategory( + CategoryBody(title = item.category, keywords = item.keywords) + ) + val refreshedCats = categoryRepository.getCategories(null, null) + targetCategory = refreshedCats.find { it.title.equals(item.category, ignoreCase = true) } + + if (targetCategory != null) { + localCategoryCache.add(targetCategory) + } + } catch (e: Exception) { + e.printStackTrace() } - } catch (e: Exception) { - e.printStackTrace() } - } - if (targetCategory != null) { - try { - expenseRepository.addExpense( - Expense( - id = null, - title = item.name, - amount = item.price, - categoryId = targetCategory.id!!, - description = "Scanned Receipt Item", - user_id = null, - group_id = null, - created_at = null + if (targetCategory?.id != null) { + try { + expenseRepository.addExpense( + Expense( + id = null, + title = item.name, + amount = item.price, + categoryId = targetCategory.id!!, + description = "Scanned Receipt Item", + user_id = null, + group_id = null, + created_at = null + ) ) - ) - successCount++ - } catch (e: Exception) { - e.printStackTrace() + successCount++ + } catch (e: Exception) { + e.printStackTrace() + } } } } @@ -141,9 +153,26 @@ class ReceiptViewModel(context: Context) : ViewModel() { } } + private fun createTempFileFromUri(uri: Uri): File? { + return try { + val context = getApplication() + val stream = context.contentResolver.openInputStream(uri) ?: return null + val file = File(context.cacheDir, "receipt_${UUID.randomUUID()}.jpg") + FileOutputStream(file).use { output -> + stream.copyTo(output) + } + stream.close() + file + } catch (e: Exception) { + e.printStackTrace() + null + } + } + fun dismissError() { _uiState.value = ReceiptUiState.Idle } + fun cancelReview() { _scannedItems.value = emptyList() _uiState.value = ReceiptUiState.Idle } -} +} \ No newline at end of file diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt index 57de221..32eca6a 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModelFactory.kt @@ -1,13 +1,13 @@ -import android.content.Context +import android.app.Application import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import com.example.budgeting.android.ui.viewmodels.ReceiptViewModel -class ReceiptViewModelFactory(private val context: Context) : ViewModelProvider.Factory { +class ReceiptViewModelFactory(private val application: Application) : ViewModelProvider.Factory { override fun create(modelClass: Class): T { if (modelClass.isAssignableFrom(ReceiptViewModel::class.java)) { @Suppress("UNCHECKED_CAST") - return ReceiptViewModel(context) as T + return ReceiptViewModel(application) as T } throw IllegalArgumentException("Unknown ViewModel class") } diff --git a/Mobile/gradle/libs.versions.toml b/Mobile/gradle/libs.versions.toml index 18ba0e9..cd1e6b8 100644 --- a/Mobile/gradle/libs.versions.toml +++ b/Mobile/gradle/libs.versions.toml @@ -10,6 +10,7 @@ lifecycleRuntimeCompose = "2.8.0" navigationCompose = "2.9.5" material3 = "1.4.0" foundation = "1.9.4" +foundationVersion = "1.10.0" [libraries] androidx-activity-compose-v193 = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" } @@ -31,6 +32,7 @@ compose-foundation = { module = "androidx.compose.foundation:foundation", versio compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "compose-material3" } androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "material3" } androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundation" } +androidx-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundationVersion" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } From eec69d7171199b15d03db13073d13121d06208ec Mon Sep 17 00:00:00 2001 From: Ionut253 <48173899+Ionut253@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:55:03 +0200 Subject: [PATCH 3/9] Update ExpenseViewModel.kt --- .../android/ui/viewmodels/ExpenseViewModel.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ExpenseViewModel.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ExpenseViewModel.kt index 5fc0ba0..f17a851 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ExpenseViewModel.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ExpenseViewModel.kt @@ -108,9 +108,12 @@ class ExpenseViewModel(context: Context) : ViewModel() { if (data.size < limit) endReached = true offset += data.size + // Deduplicate expenses by id to avoid showing the same expense multiple times + val deduped = data.filter { it.id != null }.distinctBy { it.id } + data.filter { it.id == null } + _expenses.value = - if (append) _expenses.value + data - else data + if (append) (_expenses.value + deduped).distinctBy { it.id } + else deduped updateCategories(_expenses.value) @@ -156,11 +159,12 @@ class ExpenseViewModel(context: Context) : ViewModel() { ) } - return all + // Remove duplicates that may come from multiple group queries + return all.distinctBy { it.id } } private suspend fun loadAllExpenses(): List { - return loadPersonalExpenses() + loadGroupExpenses() + return (loadPersonalExpenses() + loadGroupExpenses()).distinctBy { it.id } } private fun updateCategories(expenses: List) { From 6e964002694a72483e2e4dfa2f7ff34e66f033e2 Mon Sep 17 00:00:00 2001 From: Ionut253 <48173899+Ionut253@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:55:25 +0200 Subject: [PATCH 4/9] Show category titles in expense picker dialog --- .../components/group/BottomAddExpenseBar.kt | 22 +++++++++++++++++-- .../components/group/ExpensePickerDialog.kt | 6 ++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/BottomAddExpenseBar.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/BottomAddExpenseBar.kt index 2830db1..e8cf508 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/BottomAddExpenseBar.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/BottomAddExpenseBar.kt @@ -18,6 +18,9 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import com.example.budgeting.android.data.model.Expense import com.example.budgeting.android.ui.utils.GroupUtils +import com.example.budgeting.android.ui.viewmodels.CategoryViewModel +import com.example.budgeting.android.ui.viewmodels.CategoryViewModelFactory +import com.example.budgeting.android.ui.viewmodels.ExpenseMode import com.example.budgeting.android.ui.viewmodels.ExpenseViewModel import com.example.budgeting.android.ui.viewmodels.ExpenseViewModelFactory import com.example.budgeting.android.ui.viewmodels.GroupDetailsViewModel @@ -31,17 +34,31 @@ fun BottomAddExpenseBar( val expenseViewModel: ExpenseViewModel = viewModel( factory = ExpenseViewModelFactory(context) ) + val categoryViewModel: CategoryViewModel = viewModel( + factory = CategoryViewModelFactory(context) + ) LaunchedEffect(Unit) { - expenseViewModel.loadExpenses() + expenseViewModel.setMode(ExpenseMode.PERSONAL) + expenseViewModel.loadExpenses() } val personalExpenses by expenseViewModel.expenses.collectAsState() + val currentUserId by expenseViewModel.currentUserId.collectAsState() val groupExpenses by vm.expenses.collectAsState() - val personalExpensesOnly = remember(personalExpenses, groupExpenses) { + val categories by categoryViewModel.categories.collectAsState() + + val categoryMap = remember(categories) { + categories.associate { it.id to it.title } + } + val personalExpensesOnly = remember(personalExpenses, groupExpenses, currentUserId) { + if (currentUserId == null) return@remember emptyList() + val existingExpenseIds = groupExpenses.map { it.expense.id }.toSet() personalExpenses.filter { expense -> expense.group_id == null && + expense.user_id != null && + expense.user_id == currentUserId && !existingExpenseIds.contains(expense.id) && !GroupUtils.isExpenseAlreadyInGroup(expense, groupExpenses) } @@ -93,6 +110,7 @@ fun BottomAddExpenseBar( if (showPicker) { ExpensePickerDialog( expenses = personalExpensesOnly, + categoryMap = categoryMap, onDismiss = { showPicker = false }, onConfirm = { selected -> vm.addExpensesFromPersonal(selected, description, "You") diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/ExpensePickerDialog.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/ExpensePickerDialog.kt index 3d46077..5b52709 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/ExpensePickerDialog.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/ExpensePickerDialog.kt @@ -18,6 +18,7 @@ import com.example.budgeting.android.data.model.Expense @Composable fun ExpensePickerDialog( expenses: List, + categoryMap: Map = emptyMap(), onDismiss: () -> Unit, onConfirm: (List) -> Unit ) { @@ -96,7 +97,7 @@ fun ExpensePickerDialog( color = MaterialTheme.colorScheme.onSurface ) Text( - text = expense.categoryId.toString(), // TODO display category title not id + text = expense.categoryId?.let { categoryMap[it] } ?: "Uncategorized", color = MaterialTheme.colorScheme.onSurfaceVariant, style = MaterialTheme.typography.bodySmall ) @@ -143,5 +144,4 @@ fun ExpensePickerDialog( } } } -} - +} \ No newline at end of file From 319942a38cf52a4567c6bcbc5da4512ecd90b0c9 Mon Sep 17 00:00:00 2001 From: Ionut253 <48173899+Ionut253@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:55:41 +0200 Subject: [PATCH 5/9] Add group statistics and overview pie chart feature --- .../android/data/model/GroupStatistics.kt | 21 ++ .../android/data/network/GroupApiService.kt | 4 + .../data/repository/GroupRepository.kt | 9 + .../ui/components/group/GroupMetaRow.kt | 39 ++- .../ui/components/group/GroupPieChart.kt | 286 ++++++++++++++++++ .../android/ui/screens/GroupDetailsScreen.kt | 70 ++++- .../android/ui/screens/GroupsScreen.kt | 10 +- .../ui/viewmodels/GroupDetailsViewModel.kt | 27 +- .../android/ui/viewmodels/GroupsViewModel.kt | 4 + 9 files changed, 452 insertions(+), 18 deletions(-) create mode 100644 Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/GroupStatistics.kt create mode 100644 Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/GroupStatistics.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/GroupStatistics.kt new file mode 100644 index 0000000..034345d --- /dev/null +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/model/GroupStatistics.kt @@ -0,0 +1,21 @@ +package com.example.budgeting.android.data.model + +import com.squareup.moshi.Json + +data class GroupStatistics( + @Json(name = "total_group_spend") + val totalGroupSpend: Double, + + @Json(name = "my_total_paid") + val myTotalPaid: Double, + + @Json(name = "my_share_of_expenses") + val myShareOfExpenses: Double, + + @Json(name = "net_balance_paid_for_others") + val netBalancePaidForOthers: Double, + + @Json(name = "rest_of_group_expenses") + val restOfGroupExpenses: Double +) + diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt index 9048459..9921074 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt @@ -10,6 +10,7 @@ import com.example.budgeting.android.data.model.GroupIdResponse import com.example.budgeting.android.data.model.AddUserToGroupResponse import com.example.budgeting.android.data.model.JoinGroupResponse import com.example.budgeting.android.data.model.GroupLog +import com.example.budgeting.android.data.model.GroupStatistics import okhttp3.ResponseBody import retrofit2.Response import retrofit2.http.Body @@ -79,4 +80,7 @@ interface GroupApiService { @GET("/group_logs/{group_id}") suspend fun getGroupLogs(@Path("group_id") groupId: Int): Response>> + + @GET("/groups/{group_id}/statistics/user-summary") + suspend fun getGroupStatistics(@Path("group_id") groupId: Int): Response> } diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt index 8bbecfb..f473c51 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt @@ -222,4 +222,13 @@ class GroupRepository( Response.error(response.code(), response.errorBody() ?: ResponseBody.create(null, "")) } } + + suspend fun getGroupStatistics(groupId: Int): Response { + val response = apiService.getGroupStatistics(groupId) + return if (response.isSuccessful && response.body()?.data != null) { + Response.success(response.body()!!.data!!) + } else { + Response.error(response.code(), response.errorBody() ?: ResponseBody.create(null, "")) + } + } } diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupMetaRow.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupMetaRow.kt index a4d0c9d..360a4c0 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupMetaRow.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupMetaRow.kt @@ -5,6 +5,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Person import androidx.compose.material.icons.filled.Share import androidx.compose.material3.* +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -15,7 +16,8 @@ import androidx.compose.ui.unit.dp fun GroupMetaRow( memberCount: Int, onShareClick: () -> Unit, - invitationCodeAvailable: Boolean + invitationCodeAvailable: Boolean, + onOverviewClick: () -> Unit ) { Row( modifier = Modifier @@ -45,17 +47,30 @@ fun GroupMetaRow( ) } } - FilledTonalButton( - onClick = onShareClick, - enabled = invitationCodeAvailable, - shape = androidx.compose.foundation.shape.RoundedCornerShape(12.dp) - ) { - Icon( - imageVector = Icons.Filled.Share, - contentDescription = "Share group" - ) - Spacer(modifier = Modifier.width(6.dp)) - Text("Share") + Row(horizontalArrangement = Arrangement.spacedBy(8.dp), verticalAlignment = Alignment.CenterVertically) { + OutlinedButton( + onClick = onOverviewClick, + modifier = Modifier.height(40.dp), + shape = RoundedCornerShape(10.dp), + contentPadding = ButtonDefaults.ContentPadding + ) { + Text("Overview", style = MaterialTheme.typography.labelLarge) + } + + FilledTonalButton( + onClick = onShareClick, + enabled = invitationCodeAvailable, + modifier = Modifier.height(40.dp), + shape = RoundedCornerShape(10.dp), + contentPadding = ButtonDefaults.ContentPadding + ) { + Icon( + imageVector = Icons.Filled.Share, + contentDescription = "Share group", + tint = MaterialTheme.colorScheme.onPrimary + ) + Spacer(modifier = Modifier.width(6.dp)) + } } } } diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt new file mode 100644 index 0000000..9fa394f --- /dev/null +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt @@ -0,0 +1,286 @@ +package com.example.budgeting.android.ui.components.group + +import androidx.compose.foundation.Canvas +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.geometry.Size +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.drawscope.Stroke +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import com.example.budgeting.android.data.model.Expense + +data class CategoryAmount( + val categoryName: String, + val amount: Double, + val color: Color +) + +@Composable +fun GroupPieChart( + expenses: List, + categoryNameMap: Map, + modifier: Modifier = Modifier +) { + val categoryTotals = expenses + .groupBy { expense -> + categoryNameMap[expense.categoryId] ?: "Uncategorized" + } + .map { (category, expenseList) -> + CategoryAmount( + categoryName = category, + amount = expenseList.sumOf { kotlin.math.abs(it.amount) }, + color = getColorForCategory(category) + ) + } + .sortedByDescending { it.amount } + + if (categoryTotals.isEmpty()) { + Box( + modifier = modifier + .fillMaxWidth() + .then(Modifier.height(200.dp)), + contentAlignment = Alignment.Center + ) { + Text( + text = "No expenses to display", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + return + } + + val totalAmount = categoryTotals.sumOf { it.amount } + + Column( + modifier = modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally + ) { + // Pie Chart + Box( + modifier = Modifier + .width(200.dp) + .height(200.dp) + .padding(16.dp), + contentAlignment = Alignment.Center + ) { + PieChartCanvas( + data = categoryTotals, + modifier = Modifier.fillMaxSize() + ) + } + + // Legend + Column( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 16.dp, vertical = 8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + categoryTotals.forEach { categoryAmount -> + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Box( + modifier = Modifier + .width(12.dp) + .height(12.dp) + .clip(CircleShape) + .background(categoryAmount.color) + ) + Text( + text = categoryAmount.categoryName, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurface + ) + } + Text( + text = String.format("%.2f", categoryAmount.amount), + style = MaterialTheme.typography.bodySmall, + fontWeight = FontWeight.Medium, + color = MaterialTheme.colorScheme.onSurface + ) + } + } + } + + // Total + Text( + text = "Total: ${String.format("%.2f", totalAmount)}", + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colorScheme.primary, + modifier = Modifier.padding(top = 8.dp) + ) + } +} + +@Composable +fun GroupStatisticsPieChart( + statistics: GroupStatistics, + modifier: Modifier = Modifier +) { + // Map statistics to pie slices + val rawItems = listOf( + CategoryAmount("Your share", statistics.myShareOfExpenses, getColorForCategory("Your share")), + CategoryAmount("You paid", statistics.myTotalPaid, getColorForCategory("You paid")), + CategoryAmount("Net balance for others", kotlin.math.abs(statistics.netBalancePaidForOthers), getColorForCategory("Net balance for others")), + CategoryAmount("Rest of group", statistics.restOfGroupExpenses, getColorForCategory("Rest of group")) + ).filter { it.amount > 0 } + + if (rawItems.isEmpty()) { + Box( + modifier = modifier + .fillMaxWidth() + .then(Modifier.height(200.dp)), + contentAlignment = Alignment.Center + ) { + Text( + text = "No statistics to display", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + return + } + + val totalAmount = rawItems.sumOf { it.amount } + + Column( + modifier = modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Box( + modifier = Modifier + .width(220.dp) + .height(220.dp) + .padding(12.dp), + contentAlignment = Alignment.Center + ) { + PieChartCanvas( + data = rawItems, + modifier = Modifier.fillMaxSize() + ) + } + + // Legend + Column( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 16.dp, vertical = 8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + rawItems.forEach { categoryAmount -> + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Box( + modifier = Modifier + .width(12.dp) + .height(12.dp) + .clip(CircleShape) + .background(categoryAmount.color) + ) + Text( + text = categoryAmount.categoryName, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurface + ) + } + Text( + text = String.format("%.2f", categoryAmount.amount), + style = MaterialTheme.typography.bodySmall, + fontWeight = FontWeight.Medium, + color = MaterialTheme.colorScheme.onSurface + ) + } + } + } + + Text( + text = "Total: ${String.format("%.2f", totalAmount)}", + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colorScheme.primary, + modifier = Modifier.padding(top = 8.dp) + ) + } +} + +@Composable +private fun PieChartCanvas( + data: List, + modifier: Modifier = Modifier +) { + val total = data.sumOf { it.amount } + if (total == 0.0) return + + Canvas(modifier = modifier) { + val canvasSize = size.minDimension + val radius = canvasSize / 2f + val center = Offset(size.width / 2f, size.height / 2f) + val innerRadius = radius * 0.5f // Donut chart style + + var startAngle = -90f // Start from top + + data.forEach { item -> + val sweepAngle = (item.amount / total * 360f).toFloat() + + // Draw outer arc + drawArc( + color = item.color, + startAngle = startAngle, + sweepAngle = sweepAngle, + useCenter = false, + topLeft = Offset(center.x - radius, center.y - radius), + size = Size(radius * 2f, radius * 2f), + style = Stroke(width = radius - innerRadius) + ) + + startAngle += sweepAngle + } + } +} + +private fun getColorForCategory(categoryName: String): Color { + val colors = listOf( + Color(0xFF7C3AED), + Color(0xFF6B29D9), + Color(0xFF059669), + Color(0xFFDC2626), + Color(0xFFF59E0B), + Color(0xFF0EA5E9), + Color(0xFFEF4444), + Color(0xFF8B5CF6), + Color(0xFF10B981), + Color(0xFFF97316) + ) + + val index = categoryName.hashCode().absoluteValue % colors.size + return colors[index] +} + +private val Int.absoluteValue: Int + get() = if (this < 0) -this else this + diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt index 4476d97..95a34f5 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt @@ -4,6 +4,8 @@ import androidx.activity.compose.BackHandler import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.ui.draw.clip import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.filled.CheckCircle @@ -12,12 +14,15 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.lifecycle.viewmodel.compose.viewModel import com.example.budgeting.android.ui.components.group.* import com.example.budgeting.android.ui.utils.DateUtils import com.example.budgeting.android.ui.viewmodels.* +import java.text.NumberFormat +import java.util.Locale @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -48,8 +53,12 @@ fun GroupDetailsScreen( val qrImage by vm.qrImage.collectAsState() val qrIsLoading by vm.qrIsLoading.collectAsState() val qrError by vm.qrError.collectAsState() + val statistics by vm.statistics.collectAsState() + val categories by vm.categories.collectAsState() + val categoryNameMap = remember(categories) { categories.associate { it.id to (it.title ?: "") } } var showShareDialog by remember { mutableStateOf(false) } + var showOverviewDialog by remember { mutableStateOf(false) } var selectedExpense by remember { mutableStateOf(null) } var showPaymentDialog by remember { mutableStateOf(false) } @@ -67,12 +76,14 @@ fun GroupDetailsScreen( if (selectedExpense != null) { isFetchingPayments = true val payments = vm.getExpensePayments(selectedExpense!!.expense.id!!) - + paidUserIds = payments.mapNotNull { it.user_id }.toSet() isFetchingPayments = false + showPaymentDialog = true } else { paidUserIds = emptySet() isFetchingPayments = false + showPaymentDialog = false } } @@ -121,7 +132,8 @@ fun GroupDetailsScreen( GroupMetaRow( memberCount = members.size, onShareClick = { showShareDialog = true }, - invitationCodeAvailable = !currentGroup.invitationCode.isNullOrBlank() + invitationCodeAvailable = !currentGroup.invitationCode.isNullOrBlank(), + onOverviewClick = { showOverviewDialog = true } ) } @@ -230,7 +242,6 @@ fun GroupDetailsScreen( // Only allow expense owner to manage payments if (item.expense.expense.user_id == currentUserId) { selectedExpense = item.expense - showPaymentDialog = true } }, isClickable = item.expense.expense.user_id == currentUserId @@ -272,6 +283,54 @@ fun GroupDetailsScreen( ) } + if (showOverviewDialog && statistics != null) { + AlertDialog( + onDismissRequest = {}, + properties = DialogProperties( + dismissOnClickOutside = false, + dismissOnBackPress = false + ), + confirmButton = { + Button(onClick = { showOverviewDialog = false }) { + Text("Close") + } + }, + title = { + Text( + text = "Overview", + style = MaterialTheme.typography.headlineSmall, + color = MaterialTheme.colorScheme.onSurface + ) + }, + text = { + if (statistics != null) { + GroupStatisticsPieChart( + statistics = statistics!!, + modifier = Modifier.fillMaxWidth() + ) + } else if (expenses.isNotEmpty() && categoryNameMap.isNotEmpty()) { + // Fallback: category-based pie chart + GroupPieChart( + expenses = expenses.map { it.expense }, + categoryNameMap = categoryNameMap, + modifier = Modifier + .fillMaxWidth() + .height(360.dp) + ) + } else { + Column { + Text( + text = "No expense data available", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + } + }, + containerColor = MaterialTheme.colorScheme.surface + ) + } + if (showPaymentDialog && selectedExpense != null) { if (isFetchingPayments) { AlertDialog( @@ -362,3 +421,8 @@ fun GroupDetailsScreen( } } } + +private fun formatAmount(value: Double): String { + val nf = NumberFormat.getCurrencyInstance(Locale.getDefault()) + return nf.format(value) +} diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupsScreen.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupsScreen.kt index fc056c9..290e0cd 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupsScreen.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupsScreen.kt @@ -159,7 +159,10 @@ fun GroupsScreen(onOpenGroup: (Int) -> Unit) { if (showCreateDialog) { CreateGroupDialog( - onDismiss = { showCreateDialog = false }, + onDismiss = { + showCreateDialog = false + vm.clearError() + }, isLoading = isLoading, error = error, onCreate = { name, description -> @@ -178,7 +181,10 @@ fun GroupsScreen(onOpenGroup: (Int) -> Unit) { if (showJoinDialog) { JoinGroupDialog( - onDismiss = { showJoinDialog = false }, + onDismiss = { + showJoinDialog = false + vm.clearError() + }, isLoading = isLoading, error = error, onJoinByCode = { code -> diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt index f8f1a55..69f54f2 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt @@ -10,10 +10,12 @@ import com.example.budgeting.android.data.model.GroupLog import com.example.budgeting.android.data.model.UserData import com.example.budgeting.android.data.model.Expense import com.example.budgeting.android.data.model.ExpensePayment -import com.example.budgeting.android.data.network.RetrofitClient import com.example.budgeting.android.data.repository.ExpensePaymentRepository import com.example.budgeting.android.data.repository.ExpenseRepository import com.example.budgeting.android.data.repository.GroupRepository +import com.example.budgeting.android.data.repository.CategoryRepository +import com.example.budgeting.android.data.model.Category +import com.example.budgeting.android.data.network.RetrofitClient import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow @@ -37,6 +39,7 @@ class GroupDetailsViewModel(context: Context) : ViewModel() { RetrofitClient.expensePaymentInstance, tokenDataStore ) + private val categoryRepository = CategoryRepository(RetrofitClient.categoryInstance) private val _group = MutableStateFlow(null) val group: StateFlow = _group.asStateFlow() @@ -67,6 +70,12 @@ class GroupDetailsViewModel(context: Context) : ViewModel() { private val _currentUserId = MutableStateFlow(null) val currentUserId: StateFlow = _currentUserId.asStateFlow() + + private val _statistics = MutableStateFlow(null) + val statistics: StateFlow = _statistics.asStateFlow() + + private val _categories = MutableStateFlow>(emptyList()) + val categories: StateFlow> = _categories.asStateFlow() init { viewModelScope.launch { @@ -138,6 +147,22 @@ class GroupDetailsViewModel(context: Context) : ViewModel() { } catch (e: Exception) { _logs.value = emptyList() } + + // Load group statistics + try { + val statsResponse = groupRepository.getGroupStatistics(groupId) + if (statsResponse.isSuccessful && statsResponse.body() != null) { + _statistics.value = statsResponse.body()!! + } + } catch (e: Exception) { + } + + // Load categories for pie chart + try { + _categories.value = categoryRepository.getCategories(null, null) + } catch (e: Exception) { + _categories.value = emptyList() + } } catch (e: Exception) { _error.value = e.message ?: "Unknown error" diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupsViewModel.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupsViewModel.kt index 096eab0..8857625 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupsViewModel.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupsViewModel.kt @@ -371,5 +371,9 @@ class GroupsViewModel(context: Context) : ViewModel() { } } } + + fun clearError() { + _error.value = null + } } From 061d164cb8094385ef37a7e8d88d6f9e6d88bf2d Mon Sep 17 00:00:00 2001 From: Ionut253 <48173899+Ionut253@users.noreply.github.com> Date: Mon, 12 Jan 2026 17:27:25 +0200 Subject: [PATCH 6/9] Add leave group functionality and improve user handling --- .../android/data/network/GroupApiService.kt | 2 +- .../data/repository/GroupRepository.kt | 34 ++++++- .../ui/components/group/GroupPieChart.kt | 1 + .../android/ui/screens/GroupDetailsScreen.kt | 49 +++++++++- .../ui/viewmodels/GroupDetailsViewModel.kt | 92 ++++++++++++++++--- 5 files changed, 155 insertions(+), 23 deletions(-) diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt index 9921074..47a41f6 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/GroupApiService.kt @@ -50,7 +50,7 @@ interface GroupApiService { suspend fun removeUserFromGroup( @Path("group_id") groupId: Int, @Path("user_id") userId: Int - ): Response> + ): Response> @GET("/groups/user/{user_id}") suspend fun getGroupsByUser(@Path("user_id") userId: Int): Response>> diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt index f473c51..b57bd0d 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/repository/GroupRepository.kt @@ -11,6 +11,7 @@ import com.example.budgeting.android.data.model.UserData import com.example.budgeting.android.data.network.GroupApiService import com.example.budgeting.android.data.network.ExpenseApiService import retrofit2.Response +import kotlinx.coroutines.delay import okhttp3.ResponseBody import android.util.Base64 @@ -206,12 +207,26 @@ class GroupRepository( } suspend fun joinGroupByInvitationCode(invitationCode: String): Response { - val response = apiService.joinGroupByInvitationCode(invitationCode) - return if (response.isSuccessful) { - Response.success(Unit) - } else { - Response.error(response.code(), response.errorBody() ?: ResponseBody.create(null, "")) + var attempt = 0 + val maxAttempts = 2 + while (attempt < maxAttempts) { + val response = apiService.joinGroupByInvitationCode(invitationCode) + if (response.isSuccessful) { + return Response.success(Unit) + } + + // If server error, retry once after a short delay + val code = response.code() + if (code in 500..599 && attempt + 1 < maxAttempts) { + attempt++ + delay(300) + continue + } + + return Response.error(response.code(), response.errorBody() ?: ResponseBody.create(null, "")) } + + return Response.error(500, ResponseBody.create(null, "Server error")) } suspend fun getGroupLogs(groupId: Int): Response> { @@ -231,4 +246,13 @@ class GroupRepository( Response.error(response.code(), response.errorBody() ?: ResponseBody.create(null, "")) } } + + suspend fun removeUserFromGroup(groupId: Int, userId: Int): Response { + val response = apiService.removeUserFromGroup(groupId, userId) + return if (response.isSuccessful) { + Response.success(Unit) + } else { + Response.error(response.code(), response.errorBody() ?: ResponseBody.create(null, "")) + } + } } diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt index 9fa394f..2e1e96e 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/components/group/GroupPieChart.kt @@ -17,6 +17,7 @@ import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import com.example.budgeting.android.data.model.Expense +import com.example.budgeting.android.data.model.GroupStatistics data class CategoryAmount( val categoryName: String, diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt index 95a34f5..b0730b3 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/screens/GroupDetailsScreen.kt @@ -8,6 +8,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.ui.draw.clip import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack +import androidx.compose.material.icons.automirrored.filled.ExitToApp import androidx.compose.material.icons.filled.CheckCircle import androidx.compose.material3.* import androidx.compose.runtime.* @@ -48,6 +49,7 @@ fun GroupDetailsScreen( val isLoading by vm.isLoading.collectAsState() val error by vm.error.collectAsState() val members by vm.members.collectAsState() + val extraUsers by vm.extraUsers.collectAsState() val logs by vm.logs.collectAsState() val currentUserId by vm.currentUserId.collectAsState() val qrImage by vm.qrImage.collectAsState() @@ -65,6 +67,8 @@ fun GroupDetailsScreen( var paidUserIds by remember { mutableStateOf>(emptySet()) } var isFetchingPayments by remember { mutableStateOf(false) } + var showLeaveDialog by remember { mutableStateOf(false) } + LaunchedEffect(showShareDialog, group?.id) { val id = group?.id if (showShareDialog && id != null) { @@ -103,6 +107,15 @@ fun GroupDetailsScreen( contentDescription = "Back" ) } + }, + actions = { + IconButton(onClick = { showLeaveDialog = true }) { + Icon( + imageVector = Icons.AutoMirrored.Filled.ExitToApp, + contentDescription = "Leave Group", + tint = MaterialTheme.colorScheme.error + ) + } } ) }, @@ -173,14 +186,12 @@ fun GroupDetailsScreen( } else -> { // Filter logs: exclude creator and current user's own JOIN messages - val creatorId = members.minByOrNull { it.id }?.id - val filteredLogs = remember(logs, currentUserId, creatorId) { + val filteredLogs = remember(logs, currentUserId) { logs.filter { log -> - if (creatorId != null && log.user_id == creatorId) return@filter false if (currentUserId != null && log.user_id == currentUserId && log.action.uppercase() == "JOIN") { return@filter false } - true + true } } @@ -252,7 +263,10 @@ fun GroupDetailsScreen( item(key = "log_${item.log.id}") { GroupLogBubble( log = item.log, - members = members + members = remember(members, extraUsers) { + val extraList = extraUsers.values.toList() + (members + extraList).distinctBy { it.id } + } ) } } @@ -420,6 +434,31 @@ fun GroupDetailsScreen( } } } + if (showLeaveDialog) { + AlertDialog( + onDismissRequest = { showLeaveDialog = false }, + title = { Text("Leave Group") }, + text = { Text("Are you sure you want to leave this group?") }, + confirmButton = { + TextButton( + onClick = { + showLeaveDialog = false + vm.leaveGroup(onSuccess = onBack) + }, + colors = ButtonDefaults.textButtonColors( + contentColor = MaterialTheme.colorScheme.error + ) + ) { + Text("Leave") + } + }, + dismissButton = { + TextButton(onClick = { showLeaveDialog = false }) { + Text("Cancel") + } + } + ) + } } private fun formatAmount(value: Double): String { diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt index 69f54f2..d138e55 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/GroupDetailsViewModel.kt @@ -16,6 +16,7 @@ import com.example.budgeting.android.data.repository.GroupRepository import com.example.budgeting.android.data.repository.CategoryRepository import com.example.budgeting.android.data.model.Category import com.example.budgeting.android.data.network.RetrofitClient +import com.example.budgeting.android.data.repository.UserRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow @@ -39,6 +40,10 @@ class GroupDetailsViewModel(context: Context) : ViewModel() { RetrofitClient.expensePaymentInstance, tokenDataStore ) + private val userRepository = UserRepository( + RetrofitClient.userInstance, + tokenDataStore + ) private val categoryRepository = CategoryRepository(RetrofitClient.categoryInstance) private val _group = MutableStateFlow(null) @@ -68,6 +73,9 @@ class GroupDetailsViewModel(context: Context) : ViewModel() { private val _logs = MutableStateFlow>(emptyList()) val logs: StateFlow> = _logs.asStateFlow() + private val _extraUsers = MutableStateFlow>(emptyMap()) + val extraUsers: StateFlow> = _extraUsers.asStateFlow() + private val _currentUserId = MutableStateFlow(null) val currentUserId: StateFlow = _currentUserId.asStateFlow() @@ -122,32 +130,65 @@ class GroupDetailsViewModel(context: Context) : ViewModel() { sortBy = "created_at", order = "asc" ) - - if (expensesResponse.isSuccessful) { - val expenses = expensesResponse.body() ?: emptyList() - val groupExpenses = mapExpensesToGroupExpenses(expenses, membersList) - _expenses.value = groupExpenses + + val expensesList = if (expensesResponse.isSuccessful) { + expensesResponse.body() ?: emptyList() } else { _error.value = "Error: ${expensesResponse.code()} - ${expensesResponse.message()}" - _expenses.value = emptyList() + emptyList() } // Load group logs (join/leave events) - try { + val logsList = try { val logsResponse = groupRepository.getGroupLogs(groupId) if (logsResponse.isSuccessful && logsResponse.body() != null) { - _logs.value = logsResponse.body()!! + logsResponse.body()!! } else { val errorMsg = "Failed to load group logs: ${logsResponse.code()}" if (_error.value == null) { _error.value = errorMsg } - _logs.value = emptyList() + emptyList() } } catch (e: Exception) { - _logs.value = emptyList() + emptyList() } - + + val memberIds = membersList.map { it.id }.toSet() + val referencedUserIds = mutableSetOf() + expensesList.mapNotNullTo(referencedUserIds) { it.user_id } + logsList.mapTo(referencedUserIds) { it.user_id } + val missingUserIds = referencedUserIds.filter { !memberIds.contains(it) } + + val fetchedUsers = mutableMapOf() + if (missingUserIds.isNotEmpty()) { + for (uid in missingUserIds) { + try { + val userResp = userRepository.getUserById(uid) + val userData = UserData( + id = userResp.id, + firstName = userResp.first_name, + lastName = userResp.last_name, + email = userResp.email, + phoneNumber = userResp.phone_number, + budget = userResp.budget + ) + fetchedUsers[uid] = userData + } catch (e: Exception) { + } + } + } + + if (fetchedUsers.isNotEmpty()) { + _extraUsers.value = _extraUsers.value + fetchedUsers + } + + val mergedMembers = (membersList + _extraUsers.value.values).distinctBy { it.id } + + val groupExpenses = mapExpensesToGroupExpenses(expensesList, mergedMembers) + _expenses.value = groupExpenses + _logs.value = logsList + // Load group statistics try { val statsResponse = groupRepository.getGroupStatistics(groupId) @@ -394,4 +435,31 @@ class GroupDetailsViewModel(context: Context) : ViewModel() { false } } -} + + fun leaveGroup(onSuccess: () -> Unit) { + val groupId = _group.value?.id + val userId = _currentUserId.value + + if (groupId == null || userId == null) { + _error.value = "Cannot leave group: Data missing" + return + } + + viewModelScope.launch { + _isLoading.value = true + try { + ensureTokenLoaded() + val response = groupRepository.removeUserFromGroup(groupId, userId) + if (response.isSuccessful) { + onSuccess() + } else { + _error.value = "Failed to leave group: ${response.code()}" + } + } catch (e: Exception) { + _error.value = "Error: ${e.message}" + } finally { + _isLoading.value = false + } + } + } +} \ No newline at end of file From bc8709adb9a6a72976b1df1860dfc2bd1d6dd833 Mon Sep 17 00:00:00 2001 From: Bolosh Date: Tue, 13 Jan 2026 16:25:34 +0200 Subject: [PATCH 7/9] merged onto frontend-mobile --- Mobile/androidApp/build.gradle.kts | 2 +- .../budgeting/android/data/network/CategoryApiService.kt | 2 +- .../budgeting/android/data/network/RetrofitClient.kt | 7 +++---- .../budgeting/android/ui/viewmodels/ReceiptViewModel.kt | 2 -- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Mobile/androidApp/build.gradle.kts b/Mobile/androidApp/build.gradle.kts index 36b802e..25b0807 100644 --- a/Mobile/androidApp/build.gradle.kts +++ b/Mobile/androidApp/build.gradle.kts @@ -29,7 +29,7 @@ android { "BASE_URL", // fallback url if .env file is not found : https://10.0.0.2:8000 //"\"${envProps.getProperty("BASE_URL") ?: "https://10.0.0.2:8000"}\"" - "\"http://proiectcolectivlb-437779233.eu-west-1.elb.amazonaws.com\"" + "\"https://backend.gitpushforce-ubb.com\"" ) } buildFeatures { diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt index 6231736..2722ad7 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt @@ -7,7 +7,7 @@ import retrofit2.Response import retrofit2.http.* interface CategoryApiService { - @GET("/categories") + @GET("/categories/") suspend fun getCategories( @Query("sort_by") sortBy: String? = null, @Query("order") order: String? = null diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt index 08dd0fa..aa244dc 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/RetrofitClient.kt @@ -12,10 +12,9 @@ import java.util.concurrent.TimeUnit object RetrofitClient { private val BASE_URL: String = BuildConfig.BASE_URL -// init { -// Log.d("RetrofitClient", "Base URL: $BASE_URL") -// } - + init { + Log.d("RetrofitClient", "Backend url $BASE_URL") + } private val moshi = Moshi.Builder() .add(KotlinJsonAdapterFactory()) .build() diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt index c9b6733..d1d62fd 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/ui/viewmodels/ReceiptViewModel.kt @@ -72,8 +72,6 @@ class ReceiptViewModel(application: Application) : AndroidViewModel(application) val part = MultipartBody.Part.createFormData("image", file.name, reqBody) val response = receiptApi.processReceipt(part) - Log.d("ReceiptViewModel", "Response: $response") - Log.d("ReceiptViewModel", "Response: ${response.toString()}") if (response.isSuccessful && response.body() != null) { _scannedItems.value = response.body()!!.data!!.items From c576c199c87b2f896373ce0dea6e046aa328d05b Mon Sep 17 00:00:00 2001 From: Bolosh Date: Tue, 13 Jan 2026 16:33:07 +0200 Subject: [PATCH 8/9] fix route call --- .../budgeting/android/data/network/CategoryApiService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt index 2722ad7..c57ae16 100644 --- a/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt +++ b/Mobile/androidApp/src/main/java/com/example/budgeting/android/data/network/CategoryApiService.kt @@ -13,7 +13,7 @@ interface CategoryApiService { @Query("order") order: String? = null ): Response>> - @POST("/categories") + @POST("/categories/") suspend fun addCategory(@Body category: CategoryBody): Response @PUT("/categories/{id}") From 42ddec2185c6d19bafd7364eb63ae43805d0aebe Mon Sep 17 00:00:00 2001 From: Bolosh Date: Fri, 16 Jan 2026 23:57:41 +0200 Subject: [PATCH 9/9] Custom icon and label --- .../androidApp/src/main/AndroidManifest.xml | 2 + .../src/main/ic_launcher-playstore.png | Bin 0 -> 221618 bytes .../res/drawable/ic_launcher_monochrome.xml | 44 ++++++++++++++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 +++ .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 +++ .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 3632 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 8328 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 6142 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 2124 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 4536 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 3556 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 5522 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 13080 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 9246 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 10022 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 24424 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 16260 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 15416 bytes .../ic_launcher_foreground.webp | Bin 0 -> 38430 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 23996 bytes .../res/values/ic_launcher_background.xml | 4 ++ .../src/main/res/values/strings.xml | 2 +- 22 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 Mobile/androidApp/src/main/ic_launcher-playstore.png create mode 100644 Mobile/androidApp/src/main/res/drawable/ic_launcher_monochrome.xml create mode 100644 Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 Mobile/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 Mobile/androidApp/src/main/res/values/ic_launcher_background.xml diff --git a/Mobile/androidApp/src/main/AndroidManifest.xml b/Mobile/androidApp/src/main/AndroidManifest.xml index a1a3c43..7a0ec62 100644 --- a/Mobile/androidApp/src/main/AndroidManifest.xml +++ b/Mobile/androidApp/src/main/AndroidManifest.xml @@ -9,6 +9,8 @@ it35~N!|B?QEvH@c)H6ln#dQITe&K_nFE1`!lw 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

B81-FjcT`QE$wLl8Tc#gSYsI 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�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 KpUXO@geCwW84cwC literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/drawable/ic_launcher_monochrome.xml b/Mobile/androidApp/src/main/res/drawable/ic_launcher_monochrome.xml new file mode 100644 index 0000000..d50a3b0 --- /dev/null +++ b/Mobile/androidApp/src/main/res/drawable/ic_launcher_monochrome.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..081998b --- /dev/null +++ b/Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..081998b --- /dev/null +++ b/Mobile/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp b/Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..b02cb999b941e917975ea2b2d6492c4499f40d85 GIT binary patch literal 3632 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 C@)}eC literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..b02d05fd36c84b6bf580d8f12685be76645afa23 GIT binary patch literal 8328 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 SEw9cL>k!_745XU>t0e_W??br& literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/Mobile/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b4b94b483e2a8f4c4b5b35cf1933c67694ed0479 GIT binary patch literal 6142 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 Cya{~( literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/Mobile/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..df432d63fb68a38fb1281426de2c390ddda9000b GIT binary patch literal 4536 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 literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/Mobile/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..9d3bdc696d5dda97adf82474f292d07b35f047b0 GIT binary patch literal 3556 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 literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp b/Mobile/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..f9dd60fbd5e220813a38ef7efed9c28441a3536b GIT binary patch literal 5522 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 m7>T2=vnZHgfP literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/Mobile/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1a6f8dad071a02d9ecd081f57ef54c034eae9ef3 GIT binary patch literal 9246 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 literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/Mobile/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..5555ce76d1b5149b02c7db098a6732f4cdb39006 GIT binary patch literal 16260 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 literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/Mobile/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..91e823080a97322017ab84df621cbe77cc8f4239 GIT binary patch literal 38430 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 W?f=^Uwf}4X*Z!~lU;FY)S)eB<) literal 0 HcmV?d00001 diff --git a/Mobile/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/Mobile/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..f80aca2e00a5e7a3616b5f6a7a3ae63cb81e9562 GIT binary patch literal 23996 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 nM3jL_RpB0~l1eI-N-7IbNTE + + #173655 + \ No newline at end of file diff --git a/Mobile/androidApp/src/main/res/values/strings.xml b/Mobile/androidApp/src/main/res/values/strings.xml index 8dd30f5..27a5298 100644 --- a/Mobile/androidApp/src/main/res/values/strings.xml +++ b/Mobile/androidApp/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - BugetingApp + Expense Manager Username Login \ No newline at end of file