From 67ff580f3f110a7c706f8c42bcfc2f51a495c533 Mon Sep 17 00:00:00 2001 From: yansans <66671259+yansans@users.noreply.github.com> Date: Thu, 4 Apr 2024 14:08:35 +0700 Subject: [PATCH] style: progress bar when upload scan --- .../example/bondoyap/ui/scanner/ScannerFragment.kt | 6 ++++++ app/src/main/res/layout/fragment_scanner.xml | 13 +++++++++++++ 2 files changed, 19 insertions(+) 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 94353b0..9d0ede0 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 4caebe4..9c7aedd 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 -- GitLab