Browse Source

Image blur added

master
preyearegmi 6 years ago
parent
commit
7bcc7b1a9f
  1. 68
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/kyc/KYCV2Presenter.java
  2. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/kyc/KYCV2PresenterInterface.java
  3. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/KYCFormV2Activity.java
  4. 54
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/ImageUtils.java

68
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/kyc/KYCV2Presenter.java

@ -16,6 +16,7 @@ import com.gmeremit.online.gmeremittance_native.kycV2.view.view2.KYCView2VModel;
import com.gmeremit.online.gmeremittance_native.kycV2.view.view3.KYCView3Fragment;
import com.gmeremit.online.gmeremittance_native.kycV2.view.view3.KYCView3VModel;
import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.ImageUtils;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
@ -423,20 +424,24 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter
case KYCView3Fragment.FRONT_REGID_CAMERA:
if (resultCode == RESULT_OK) {
frontdocFile = data;
view.getView3Contract().setFrontImage(generateThumbnailFromImageFile(frontdocFile.getAbsolutePath()));
// view.getView3Contract().setFrontImage(generateThumbnailFromImageFile(frontdocFile.getAbsolutePath()));
view.getView3Contract().setFrontImage( ImageUtils.blur(view.getContext(),frontdocFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.FRONT_REGID_GALLERY:
if (resultCode == RESULT_OK) {
frontdocFile = data;
view.getView3Contract().setFrontImage(generateThumbnailFromImageFile(frontdocFile.getAbsolutePath()));
// view.getView3Contract().setFrontImage(generateThumbnailFromImageFile(frontdocFile.getAbsolutePath()));
view.getView3Contract().setFrontImage(ImageUtils.blur(view.getContext(),frontdocFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.BACK_REGID_CAMERA:
if (resultCode == RESULT_OK) {
backdocFile = data;
view.getView3Contract().setBackImage(generateThumbnailFromImageFile(backdocFile.getAbsolutePath()));
// view.getView3Contract().setBackImage(generateThumbnailFromImageFile(backdocFile.getAbsolutePath()));
view.getView3Contract().setBackImage(ImageUtils.blur(view.getContext(),backdocFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
@ -444,71 +449,80 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter
case KYCView3Fragment.BACK_REGID_GALLERY:
if (resultCode == RESULT_OK) {
backdocFile = data;
view.getView3Contract().setBackImage(generateThumbnailFromImageFile(backdocFile.getAbsolutePath()));
// view.getView3Contract().setBackImage(generateThumbnailFromImageFile(backdocFile.getAbsolutePath()));
view.getView3Contract().setBackImage(ImageUtils.blur(view.getContext(),backdocFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.PASSBOOKREQ_CAMERA:
if (resultCode == RESULT_OK) {
passbookFile = data;
view.getView3Contract().setPassbookImage(generateThumbnailFromImageFile(passbookFile.getAbsolutePath()));
// view.getView3Contract().setPassbookImage(generateThumbnailFromImageFile(passbookFile.getAbsolutePath()));
view.getView3Contract().setPassbookImage(ImageUtils.blur(view.getContext(),passbookFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.PASSBOOKREQ_GALLERY:
if (resultCode == RESULT_OK) {
passbookFile = data;
view.getView3Contract().setPassbookImage(generateThumbnailFromImageFile(passbookFile.getAbsolutePath()));
// view.getView3Contract().setPassbookImage(generateThumbnailFromImageFile(passbookFile.getAbsolutePath()));
view.getView3Contract().setPassbookImage(ImageUtils.blur(view.getContext(),passbookFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.PASSPORTREQ_CAMERA:
if (resultCode == RESULT_OK) {
passportFile = data;
view.getView3Contract().setPassportImage(generateThumbnailFromImageFile(passportFile.getAbsolutePath()));
// view.getView3Contract().setPassportImage(generateThumbnailFromImageFile(passportFile.getAbsolutePath()));
view.getView3Contract().setPassportImage(ImageUtils.blur(view.getContext(),passportFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.PASSPORTREQ_GALLERY:
if (resultCode == RESULT_OK) {
passportFile = data;
view.getView3Contract().setPassportImage(generateThumbnailFromImageFile(passportFile.getAbsolutePath()));
// view.getView3Contract().setPassportImage(generateThumbnailFromImageFile(passportFile.getAbsolutePath()));
view.getView3Contract().setPassportImage(ImageUtils.blur(view.getContext(),passportFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.SELFIE_REGID_CAMERA:
if (resultCode == RESULT_OK) {
selfieFile = data;
view.getView3Contract().setSelfieImage(generateThumbnailFromImageFile(selfieFile.getAbsolutePath()));
// view.getView3Contract().setSelfieImage(generateThumbnailFromImageFile(selfieFile.getAbsolutePath()));
view.getView3Contract().setSelfieImage(ImageUtils.blur(view.getContext(),selfieFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
case KYCView3Fragment.SELFIE_REGID_GALLERY:
if (resultCode == RESULT_OK) {
selfieFile = data;
view.getView3Contract().setSelfieImage(generateThumbnailFromImageFile(selfieFile.getAbsolutePath()));
// view.getView3Contract().setSelfieImage(generateThumbnailFromImageFile(selfieFile.getAbsolutePath()));
view.getView3Contract().setSelfieImage(ImageUtils.blur(view.getContext(),selfieFile.getAbsolutePath(),thumbnailHeight,thumbnailWidth));
break;
}
}
}
public Bitmap generateThumbnailFromImageFile(String photoPath) {
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inJustDecodeBounds = true;
BitmapFactory.decodeFile(photoPath, bmOptions);
int photoW = bmOptions.outWidth;
int photoH = bmOptions.outHeight;
int scaleFactor = 1;
if ((thumbnailWidth > 0) || (thumbnailHeight > 0)) {
scaleFactor = Math.min(photoW/thumbnailWidth, photoH/thumbnailHeight);
}
bmOptions.inJustDecodeBounds = false;
bmOptions.inSampleSize = scaleFactor;
bmOptions.inPurgeable = true; //Deprecated API 21
return BitmapFactory.decodeFile(photoPath, bmOptions);
}
//
// public Bitmap generateThumbnailFromImageFile(String photoPath) {
// BitmapFactory.Options bmOptions = new BitmapFactory.Options();
// bmOptions.inJustDecodeBounds = true;
// BitmapFactory.decodeFile(photoPath, bmOptions);
// int photoW = bmOptions.outWidth;
// int photoH = bmOptions.outHeight;
//
// int scaleFactor = 1;
// if ((thumbnailWidth > 0) || (thumbnailHeight > 0)) {
// scaleFactor = Math.min(photoW/thumbnailWidth, photoH/thumbnailHeight);
// }
//
// bmOptions.inJustDecodeBounds = false;
// bmOptions.inSampleSize = scaleFactor;
// bmOptions.inPurgeable = true; //Deprecated API 21
//
// return BitmapFactory.decodeFile(photoPath, bmOptions);
// }
@Override
public void prepareToSendData() {

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/kyc/KYCV2PresenterInterface.java

@ -55,6 +55,8 @@ public interface KYCV2PresenterInterface extends BasePresenterInterface {
KYCView2ContractInterface getView2Contract();
KYCView3ContractInterface getView3Contract();
Context getViewContext();
void showView1();
void showView2();
void showView3();

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/KYCFormV2Activity.java

@ -252,6 +252,11 @@ public class KYCFormV2Activity extends BaseActivity implements KYCV2ActionListen
return kycView3;
}
@Override
public Context getViewContext() {
return this;
}
@Override
public void lazyInstatiateViewForKyc() {
setupViewPager();

54
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/ImageUtils.java

@ -0,0 +1,54 @@
package com.gmeremit.online.gmeremittance_native.utils;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.renderscript.Allocation;
import android.renderscript.Element;
import android.renderscript.RenderScript;
import android.renderscript.ScriptIntrinsicBlur;
/**
* Image Helper class for basic image operation
*/
public class ImageUtils {
public static Bitmap blur(Context ctx, String imagePath,int thumbnailHeight,int thumbnailWidth) {
final float BLUR_RADIUS = 13f;
Bitmap outputBitmap = generateThumbnailFromImageFile(imagePath,thumbnailHeight,thumbnailWidth);
RenderScript rs = RenderScript.create(ctx);
ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
Allocation tmpIn = Allocation.createFromBitmap(rs, outputBitmap);
Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
theIntrinsic.setRadius(BLUR_RADIUS);
theIntrinsic.setInput(tmpIn);
theIntrinsic.forEach(tmpOut);
tmpOut.copyTo(outputBitmap);
return outputBitmap;
}
private static Bitmap generateThumbnailFromImageFile(String photoPath,int thumbnailHeight, int thumbnailWidth) {
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inJustDecodeBounds = true;
BitmapFactory.decodeFile(photoPath, bmOptions);
int photoW = bmOptions.outWidth;
int photoH = bmOptions.outHeight;
int scaleFactor = 1;
if ((thumbnailWidth > 0) || (thumbnailHeight > 0)) {
scaleFactor = Math.min(photoW/thumbnailWidth, photoH/thumbnailHeight);
}
bmOptions.inJustDecodeBounds = false;
bmOptions.inSampleSize = scaleFactor;
bmOptions.inPurgeable = true; //Deprecated API 21
return BitmapFactory.decodeFile(photoPath, bmOptions);
}
}
Loading…
Cancel
Save