diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..c3ea37c
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hposregistration/ui/fragments/registration/CaptureUserImageFragment.kt b/app/src/main/java/com/example/hposregistration/ui/fragments/registration/CaptureUserImageFragment.kt
index 77fb5a2..c87bab6 100644
--- a/app/src/main/java/com/example/hposregistration/ui/fragments/registration/CaptureUserImageFragment.kt
+++ b/app/src/main/java/com/example/hposregistration/ui/fragments/registration/CaptureUserImageFragment.kt
@@ -6,11 +6,9 @@ import android.app.Activity.RESULT_OK
import android.content.Intent
import android.content.pm.PackageManager
import android.graphics.Bitmap
-import android.graphics.BitmapFactory
import android.net.Uri
import android.os.Bundle
import android.provider.MediaStore
-import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -18,6 +16,7 @@ import android.widget.ImageView
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.content.ContextCompat
+import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
@@ -85,7 +84,7 @@ class CaptureUserImageFragment : Fragment() {
private fun setupCameraLauncher() {
cameraLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
- if (result.resultCode == Activity.RESULT_OK && result.data != null) {
+ if (result.resultCode == RESULT_OK && result.data != null) {
val thumbnail: Bitmap = result.data!!.extras!!.get("data") as Bitmap
val uri: Uri = saveImageToInternalStorage(thumbnail)
uri.let {
@@ -125,6 +124,20 @@ class CaptureUserImageFragment : Fragment() {
}
private fun submitImage(uri: Uri) {
+
+ val cropLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+ if (result.resultCode == RESULT_OK && result.data != null) {
+ val resultUri: Uri? = UCrop.getOutput(result.data!!)
+ binding.userImage.loadImageFromUri(Uri.parse(resultUri.toString()))
+ } else if (result.resultCode == UCrop.RESULT_ERROR) {
+ val cropError: Throwable? = UCrop.getError(result.data!!)
+ }
+ }
+
+// val cropIntent: Intent = // Create your crop intent here
+// cropLauncher.launch(cropIntent)
+
+
// userData.userImage = uri.toString()
// viewModel.insert(userData)
// navigate()
@@ -139,23 +152,15 @@ class CaptureUserImageFragment : Fragment() {
.withMaxResultSize(maxWidth, maxHeight)
.start(requireActivity())
}
-//
-// override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-// super.onActivityResult(requestCode, resultCode, data)
-// if (resultCode == RESULT_OK) when (requestCode) {
-// UCrop.REQUEST_CROP -> {
-// val fi = headPic.inputStream()
-// navhbg.setImageBitmap(BitmapFactory.decodeStream(fi))
-// fi.close()
-// }
-// 1 -> {
-// data?.data?.let {
-// saveFile(it)
-// cropImageUri()
-// }
-// }
-// }
-// }
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ if (resultCode == RESULT_OK && requestCode == UCrop.REQUEST_CROP) {
+ val resultUri: Uri? = data?.let { UCrop.getOutput(it) }
+ binding.userImage.loadImageFromUri(Uri.parse(resultUri.toString()))
+ } else if (resultCode == UCrop.RESULT_ERROR) {
+ val cropError: Throwable? = data?.let { UCrop.getError(it) }
+ }
+ }
private fun navigate() {
val action = CaptureUserImageFragmentDirections
@@ -207,14 +212,14 @@ class CaptureUserImageFragment : Fragment() {
requestPermissionLauncher.launch(permissions)
}
+ private fun ImageView.loadImageFromUri(uri: Uri) {
+ Glide.with(this)
+ .load(uri)
+ .into(this)
+ }
+
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
-}
-
-private fun ImageView.loadImageFromUri(uri: Uri) {
- Glide.with(this)
- .load(uri)
- .into(this)
-}
+}
\ No newline at end of file