diff --git a/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt b/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt index 2378b8d5ec9b29d7af133755772842f40c3b3596..d631805e2eb1f041b87bbc968ac204938c4c1c9d 100644 --- a/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt +++ b/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt @@ -112,14 +112,11 @@ class ScannerFragment : Fragment(), UploadResultCallback { val imageUri = result.data?.data if (imageUri != null) { val imageFile = uriToFile(imageUri) + isProcessingPhoto = true attemptUpload(imageFile) - - val msg = "Uploading photo, please wait" - Toast.makeText(requireContext(), msg, Toast.LENGTH_SHORT).show() } else { val msg = "Failed to fetch image from gallery" Toast.makeText(requireContext(), msg, Toast.LENGTH_SHORT).show() - isProcessingPhoto = false } } } @@ -199,12 +196,22 @@ class ScannerFragment : Fragment(), UploadResultCallback { } private fun attemptUpload(imageFile: File) { + val activity = activity as MainActivity + if (!isConnected(activity.getNetworkState())) { + binding.scanLayout.visibility = View.GONE + binding.noNetworkLayout.visibility = View.VISIBLE + isProcessingPhoto = false + return + } + lifecycleScope.launch { val retrofit = Retrofit() val token = (activity as MainActivity).preferenceDataStoreHelper.getFirstPreference( PreferenceDataStoreConstants.TOKEN, "" ) + val msg = "Uploading photo, please wait" + Toast.makeText(requireContext(), msg, Toast.LENGTH_LONG).show() retrofit.upload(token, imageFile, this@ScannerFragment) } } @@ -226,26 +233,14 @@ class ScannerFragment : Fragment(), UploadResultCallback { val cancelButton = dialog.findViewById<Button>(R.id.cancel_button) confirmButton.setOnClickListener { - val activity = activity as MainActivity - if (!isConnected(activity.getNetworkState())) { + val filePath = imageUri.path + if (filePath != null) { + val imageFile = File(filePath) + attemptUpload(imageFile) dialog.dismiss() - binding.scanLayout.visibility = View.GONE - binding.noNetworkLayout.visibility = View.VISIBLE - isProcessingPhoto = false } else { - val filePath = imageUri.path - if (filePath != null) { - val imageFile = File(filePath) - attemptUpload(imageFile) - - val msg = "Uploading photo, please wait" - Toast.makeText(requireContext(), msg, Toast.LENGTH_LONG).show() - - dialog.dismiss() - } else { - isProcessingPhoto = false - dialog.dismiss() - } + isProcessingPhoto = false + dialog.dismiss() } } @@ -411,7 +406,6 @@ class ScannerFragment : Fragment(), UploadResultCallback { val intent = Intent(Intent.ACTION_PICK) intent.type = "image/*" - isProcessingPhoto = true openGalleryLauncher.launch(intent) }