diff --git a/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt b/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt index 94353b0bae865f894553b87498625e90e009a073..9d0ede0700d3679aa34b33f69bcffb9d5aa516fb 100644 --- a/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt +++ b/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt @@ -103,6 +103,7 @@ class ScannerFragment : Fragment() { } uploadPhoto(tempFile) + } catch (e: Exception) { Log.e("ImageInput", "Image Input Failed:", e) } @@ -219,6 +220,9 @@ class ScannerFragment : Fragment() { private fun uploadPhoto(photo: File) { try { + val progressBar = binding.loading + progressBar.visibility = View.VISIBLE + val requestFile = photo.asRequestBody("image/*".toMediaTypeOrNull()) val requestBody = MultipartBody.Part.createFormData("file", photo.name, requestFile) val apiCall = apiClient.getApiService(requireContext()).getBill(requestBody) @@ -227,6 +231,8 @@ class ScannerFragment : Fragment() { call: Call<BillResponse>, response: Response<BillResponse> ) { if (response.isSuccessful) { + progressBar.visibility = View.GONE + val billResponse = response.body() ?: throw Exception("Bill Response is Empty") Log.d("BillUpload", "Server Response: $billResponse") diff --git a/app/src/main/res/layout/fragment_scanner.xml b/app/src/main/res/layout/fragment_scanner.xml index 4caebe4c9e62ac89b85ed9966c7389d519e607b6..9c7aedd02503c2b8be8fe3c80b6d315da59d9e26 100644 --- a/app/src/main/res/layout/fragment_scanner.xml +++ b/app/src/main/res/layout/fragment_scanner.xml @@ -47,4 +47,17 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@id/capture_button" /> + + <ProgressBar + android:id="@+id/loading" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="@+id/upload_button" + app:layout_constraintHorizontal_bias="0.498" + app:layout_constraintStart_toStartOf="@+id/upload_button" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.775" /> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file