void launchGiniCapturestartGiniCaptureSDK() {
// Make sure camera permission has been already granted at this point.
// Instantiate the networking implementations.
GiniCaptureNetworkService networkService = ...
// Configure GiniCapture and create a new singleton instance.
GiniCapture.newInstance()
.setGiniCaptureNetworkService(networkService)
...
.build();
// Launch the CameraActivity and wait for the result.
Intent intent = new Intent(this, CameraActivity.class);
startActivityForResult(intent, GINI_CAPTURE_REQUEST);
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode,
final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GINI_CAPTURE_REQUEST) {
switch (resultCode) {
case Activity.RESULT_CANCELED:
GiniCapture.sendTransferSummary("", "", "", "", "", Amount.EMPTY);
GiniCapture.cleanup(this);
break;
case Activity.RESULT_OK:
// Retrieve the extractions
Bundle extractionsBundle = data.getBundleExtra(
CameraActivity.EXTRA_OUT_EXTRACTIONS);
// Retrieve the extractions from the extractionsBundle
Map<String, GiniCaptureSpecificExtraction> extractions = new HashMap<>();
for (String extractionLabel : extractionsBundle.keySet()) {
GiniCaptureSpecificExtraction extraction = extractionsBundle.getParcelable(extractionLabel);
extractions.put(extractionLabel, extraction);
}
handleExtractionsshowExtractions(extractions);
break;
case CameraActivity.RESULT_ERROR:
// Something went wrong, retrieve and handle the error
final GiniCaptureError error = data.getParcelableExtra(
CameraActivity.EXTRA_OUT_ERROR);
if (error != null) {
handleError(error);
}
GiniCapture.sendTransferSummary("", "", "", "", "", Amount.EMPTYcleanup(this);
break;
case CameraActivity.RESULT_ENTER_MANUALLY:
handleEnterManually();
GiniCapture.cleanup(this);
break;
}
}
}
void stopGiniCaptureSDKWithTransferSummary(String paymentRecipient,
case CameraActivity.RESULT_ENTER_MANUALLY: handleEnterManually(); GiniCapture.sendTransferSummary("", "", "", "", "", Amount.EMPTY);
String paymentReference,
String paymentPurpose,
String iban,
String bic,
GiniCapture.cleanup(this); break; } }Amount }amount
void stopGiniCaptureSDK() {
// After the user has seen and potentially corrected the extractions, send the final
// transfer summary values to Gini which will be used to improve the future extraction accuracy:
GiniCapture.sendTransferSummary(
paymentRecipient,
paymentReference,
paymentPurpose,
iban,
bic,
amount
)
// cleanup the capture SDK after sending the transfer summary
GiniCapture.cleanup(this)
} |