From b9a669e5e5e79d8d64d202a616817b3aa8f0f64a Mon Sep 17 00:00:00 2001 From: prisar Date: Fri, 7 Jul 2023 10:53:38 +0530 Subject: [PATCH] crop --- app/build.gradle | 3 +- app/proguard-rules.pro | 7 +++- app/src/main/AndroidManifest.xml | 5 +++ .../registration/CaptureUserImageFragment.kt | 36 +++++++++++++++++-- settings.gradle | 1 + 5 files changed, 47 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a8665b6..fb516fc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,5 +96,6 @@ dependencies { // Barcode scanner implementation 'com.journeyapps:zxing-android-embedded:4.3.0' - + // cropping + implementation 'com.github.yalantis:ucrop:2.2.6' } \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 481bb43..d3618a3 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -18,4 +18,9 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile + +# ucrop +-dontwarn com.yalantis.ucrop** +-keep class com.yalantis.ucrop** { *; } +-keep interface com.yalantis.ucrop** { *; } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 589db7a..b087170 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -42,6 +42,11 @@ + + \ 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 5f4bea2..77fb5a2 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 @@ -2,9 +2,11 @@ package com.example.hposregistration.ui.fragments.registration import android.Manifest import android.app.Activity +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 @@ -22,6 +24,7 @@ import androidx.navigation.fragment.navArgs import com.bumptech.glide.Glide import com.example.hposregistration.data.user.UserData import com.example.hposregistration.ui.viewmodels.RegistrationViewModel +import com.yalantis.ucrop.UCrop import dagger.hilt.android.AndroidEntryPoint import `in`.sminnovations.hposregistration.databinding.FragmentCaptureUserImageBinding import java.io.File @@ -122,10 +125,37 @@ class CaptureUserImageFragment : Fragment() { } private fun submitImage(uri: Uri) { - userData.userImage = uri.toString() - viewModel.insert(userData) - navigate() +// userData.userImage = uri.toString() +// viewModel.insert(userData) +// navigate() + var sourceUri = uri + var destinationUri = uri + val maxWidth = 160 + val maxHeight = 90 + +// val context = getContext().getA + UCrop.of(sourceUri, destinationUri) + .withAspectRatio(9F, 16F) + .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() +// } +// } +// } +// } private fun navigate() { val action = CaptureUserImageFragmentDirections diff --git a/settings.gradle b/settings.gradle index 1055e41..b8d0639 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,6 +10,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + maven {url "https://jitpack.io"} } } rootProject.name = "HPOS Registration"