Browse Source

Validation fixes

master
Preyea Regmi 5 years ago
parent
commit
ed5629fa01
  1. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/gateway/FileDownloadGateway.java
  2. 55
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java

1
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/gateway/FileDownloadGateway.java

@ -35,6 +35,7 @@ public class FileDownloadGateway extends PrivilegedGateway {
} }
public File writeToFile(Response<ResponseBody> responseBody, File file) throws Exception { public File writeToFile(Response<ResponseBody> responseBody, File file) throws Exception {
BufferedSink sink = Okio.buffer(Okio.sink(file)); BufferedSink sink = Okio.buffer(Okio.sink(file));
sink.writeAll(responseBody.body().source()); sink.writeAll(responseBody.body().source());
sink.flush(); sink.flush();

55
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java

@ -7,6 +7,7 @@ import android.util.Log;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.gmeremit.online.gmeremittance_native.GmeApplication;
import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.addautodebitV2.view.AddPrimaryAccounAsAutoDebitActivity; import com.gmeremit.online.gmeremittance_native.addautodebitV2.view.AddPrimaryAccounAsAutoDebitActivity;
import com.gmeremit.online.gmeremittance_native.base.BaseViewModel; import com.gmeremit.online.gmeremittance_native.base.BaseViewModel;
@ -248,24 +249,59 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
if (data.getPictures().getPassportPicture() != null && data.getPictures().getPassportPicture().length() > 0) if (data.getPictures().getPassportPicture() != null && data.getPictures().getPassportPicture().length() > 0)
compositeDisposable.add(fileDownloadGateway.downloadFile(data.getPictures().getPassportPicture()) compositeDisposable.add(fileDownloadGateway.downloadFile(data.getPictures().getPassportPicture())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.map(responseBody -> {
File file = fileDownloadGateway.writeToFile(responseBody, fileDownloadGateway.getTempFile(view.getContext(), "AlternateIdDoc"));
passportImageLiveData.postValue(ImageUtils.generateThumbnailFromImageFile(file.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH));
return file;
})
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.map(responseBody -> fileDownloadGateway.writeToFile(responseBody, fileDownloadGateway.getTempFile(view.getContext(), "AlternateIdDoc")))
.subscribe(downloadedFile -> {
.subscribeWith(new DisposableObserver<File>() {
@Override
public void onNext(File downloadedFile) {
data.getPictures().setPassportImageAsFile(downloadedFile); data.getPictures().setPassportImageAsFile(downloadedFile);
passportImageLiveData.setValue(ImageUtils.generateThumbnailFromImageFile(downloadedFile.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH));
}));
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
})
);
if (data.getPictures().getAnotherIDPicture() != null && data.getPictures().getAnotherIDPicture().length() > 0) if (data.getPictures().getAnotherIDPicture() != null && data.getPictures().getAnotherIDPicture().length() > 0)
compositeDisposable.add(fileDownloadGateway.downloadFile(data.getPictures().getAnotherIDPicture()) compositeDisposable.add(fileDownloadGateway.downloadFile(data.getPictures().getAnotherIDPicture())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.map(responseBody -> fileDownloadGateway.writeToFile(responseBody, fileDownloadGateway.getTempFile(view.getContext(), "PassportIdDoc")))
.map(responseBody -> {
File file = fileDownloadGateway.writeToFile(responseBody, fileDownloadGateway.getTempFile(view.getContext(), "PassportIdDoc"));
alternateIDImageLiveData.postValue(ImageUtils.generateThumbnailFromImageFile(file.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH));
return file;
})
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(downloadedFile -> {
.subscribeWith(new DisposableObserver<File>() {
@Override
public void onNext(File downloadedFile) {
data.getPictures().setAlternateIDImageAsFile(downloadedFile); data.getPictures().setAlternateIDImageAsFile(downloadedFile);
alternateIDImageLiveData.setValue(ImageUtils.generateThumbnailFromImageFile(downloadedFile.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH));
}));
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
})
);
} }
} }
@ -348,7 +384,8 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
alternateIdImageValidationSubject, alternateIdImageValidationSubject,
(isPassportIDDocValid, isAlternateIdDocValid) -> { (isPassportIDDocValid, isAlternateIdDocValid) -> {
log("Pictures validated " + String.valueOf(isPassportIDDocValid && isAlternateIdDocValid)); log("Pictures validated " + String.valueOf(isPassportIDDocValid && isAlternateIdDocValid));
return isPassportIDDocValid && isAlternateIdDocValid;}
return isPassportIDDocValid && isAlternateIdDocValid;
}
); );
} }

Loading…
Cancel
Save