Skip to content

Commit d2622a1

Browse files
authored
Merge pull request #198 from jeremiahVaris/momoFlowUpdate
Momo flow update for UG, ZM, RW
2 parents 130b6b8 + 721c4fb commit d2622a1

25 files changed

+200
-21
lines changed

rave_android/src/main/java/com/flutterwave/raveandroid/rwfmobilemoney/NullRwfMobileMoneyView.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,9 @@ public void onValidationSuccessful(HashMap<String, ViewObject> dataHashMap) {
6161
public void onPaymentSuccessful(String status, String flwRef, String responseAsString) {
6262

6363
}
64+
65+
@Override
66+
public void showWebPage(String link) {
67+
68+
}
6469
}

rave_android/src/main/java/com/flutterwave/raveandroid/rwfmobilemoney/RwfMobileMoneyFragment.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.flutterwave.raveandroid.rave_java_commons.RaveConstants;
2828
import com.flutterwave.raveandroid.rave_logger.events.StartTypingEvent;
2929
import com.flutterwave.raveandroid.rave_presentation.data.events.ErrorEvent;
30+
import com.flutterwave.raveutils.verification.RaveVerificationUtils;
3031
import com.google.android.material.textfield.TextInputEditText;
3132
import com.google.android.material.textfield.TextInputLayout;
3233

@@ -35,6 +36,7 @@
3536
import javax.inject.Inject;
3637

3738
import static android.view.View.GONE;
39+
import static com.flutterwave.raveandroid.rave_java_commons.RaveConstants.WEB_VERIFICATION_REQUEST_CODE;
3840

3941

4042
/**
@@ -178,7 +180,7 @@ public void showProgressIndicator(boolean active) {
178180
@Override
179181
public void onTransactionFeeRetrieved(String chargeAmount, final Payload payload, String fee) {
180182
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
181-
builder.setMessage(getResources().getString(R.string.charge) + chargeAmount + ravePayInitializer.getCurrency() + getResources().getString(R.string.askToContinue));
183+
builder.setMessage(getResources().getString(R.string.charge) + " " + chargeAmount + " " + ravePayInitializer.getCurrency() + getResources().getString(R.string.askToContinue));
182184
builder.setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() {
183185
@Override
184186
public void onClick(DialogInterface dialog, int which) {
@@ -215,6 +217,24 @@ public void showToast(String message) {
215217
Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();
216218
}
217219

220+
@Override
221+
public void showWebPage(String authenticationUrl) {
222+
new RaveVerificationUtils(this, ravePayInitializer.isStaging(), ravePayInitializer.getPublicKey(), ravePayInitializer.getTheme())
223+
.showWebpageVerificationScreen(authenticationUrl);
224+
}
225+
226+
@Override
227+
public void onActivityResult(int requestCode, int resultCode, Intent data) {
228+
if (resultCode == RavePayActivity.RESULT_SUCCESS) {
229+
//just to be sure this v sent the receiving intent
230+
if (requestCode == WEB_VERIFICATION_REQUEST_CODE) {
231+
presenter.requeryTx(ravePayInitializer.getPublicKey());
232+
}
233+
} else {
234+
super.onActivityResult(requestCode, resultCode, data);
235+
}
236+
}
237+
218238
@Override
219239
public void onPaymentSuccessful(String status, String flwRef, String responseAsString) {
220240
Intent intent = new Intent();

rave_android/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/NullUgMobileMoneyView.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,9 @@ public void onValidationSuccessful(HashMap<String, ViewObject> dataHashMap) {
6262
public void onPaymentSuccessful(String status, String flwRef, String responseAsString) {
6363

6464
}
65+
66+
@Override
67+
public void showWebPage(String link) {
68+
69+
}
6570
}

rave_android/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyFragment.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.flutterwave.raveandroid.rave_java_commons.RaveConstants;
2929
import com.flutterwave.raveandroid.rave_logger.events.StartTypingEvent;
3030
import com.flutterwave.raveandroid.rave_presentation.data.events.ErrorEvent;
31+
import com.flutterwave.raveutils.verification.RaveVerificationUtils;
3132
import com.google.android.material.textfield.TextInputEditText;
3233
import com.google.android.material.textfield.TextInputLayout;
3334

@@ -36,6 +37,7 @@
3637
import javax.inject.Inject;
3738

3839
import static android.view.View.GONE;
40+
import static com.flutterwave.raveandroid.rave_java_commons.RaveConstants.WEB_VERIFICATION_REQUEST_CODE;
3941

4042

4143
/**
@@ -230,6 +232,26 @@ public void showToast(String message) {
230232
Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();
231233
}
232234

235+
@Override
236+
public void showWebPage(String authenticationUrl) {
237+
new RaveVerificationUtils(this, ravePayInitializer.isStaging(), ravePayInitializer.getPublicKey(), ravePayInitializer.getTheme())
238+
.showWebpageVerificationScreen(authenticationUrl);
239+
}
240+
241+
@Override
242+
public void onActivityResult(int requestCode, int resultCode, Intent data) {
243+
if (resultCode == RavePayActivity.RESULT_SUCCESS) {
244+
//just to be sure this v sent the receiving intent
245+
if (requestCode == WEB_VERIFICATION_REQUEST_CODE) {
246+
presenter.requeryTx(ravePayInitializer.getPublicKey());
247+
}
248+
} else {
249+
super.onActivityResult(requestCode, resultCode, data);
250+
}
251+
}
252+
253+
254+
233255
@Override
234256
public void onPaymentSuccessful(String status, String flwRef, String responseAsString) {
235257
Intent intent = new Intent();

rave_android/src/main/java/com/flutterwave/raveandroid/ussd/UssdFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ public void showProgressIndicator(boolean active) {
302302
@Override
303303
public void onTransactionFeeFetched(String charge_amount, final Payload payload, String fee) {
304304
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
305-
builder.setMessage("You will be charged a total of " + charge_amount + ravePayInitializer.getCurrency() + ". Do you want to continue?");
305+
builder.setMessage("You will be charged a total of " + charge_amount + " " + ravePayInitializer.getCurrency() + ". Do you want to continue?");
306306
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
307307
@Override
308308
public void onClick(DialogInterface dialog, int which) {

rave_android/src/main/java/com/flutterwave/raveandroid/zmmobilemoney/NullZmMobileMoneyView.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,9 @@ public void onValidationSuccessful(HashMap<String, ViewObject> dataHashMap) {
6666
public void onPaymentSuccessful(String status, String flwRef, String responseAsString) {
6767

6868
}
69+
70+
@Override
71+
public void showWebPage(String link) {
72+
73+
}
6974
}

rave_android/src/main/java/com/flutterwave/raveandroid/zmmobilemoney/ZmMobileMoneyFragment.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.flutterwave.raveandroid.rave_java_commons.RaveConstants;
3333
import com.flutterwave.raveandroid.rave_logger.events.StartTypingEvent;
3434
import com.flutterwave.raveandroid.rave_presentation.data.events.ErrorEvent;
35+
import com.flutterwave.raveutils.verification.RaveVerificationUtils;
3536
import com.google.android.material.textfield.TextInputEditText;
3637
import com.google.android.material.textfield.TextInputLayout;
3738

@@ -40,6 +41,7 @@
4041
import javax.inject.Inject;
4142

4243
import static android.view.View.GONE;
44+
import static com.flutterwave.raveandroid.rave_java_commons.RaveConstants.WEB_VERIFICATION_REQUEST_CODE;
4345

4446
/**
4547
* A simple {@link Fragment} subclass.
@@ -230,7 +232,7 @@ public void onValidationSuccessful(HashMap<String, ViewObject> dataHashMap) {
230232
public void onTransactionFeeFetched(String charge_amount, final Payload payload, String fee) {
231233

232234
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
233-
builder.setMessage(getResources().getString(R.string.charge) + charge_amount + ravePayInitializer.getCurrency() + getResources().getString(R.string.askToContinue));
235+
builder.setMessage(getResources().getString(R.string.charge) + " " + charge_amount + " " + ravePayInitializer.getCurrency() + getResources().getString(R.string.askToContinue));
234236
builder.setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() {
235237
@Override
236238
public void onClick(DialogInterface dialog, int which) {
@@ -263,6 +265,23 @@ public void showToast(String message) {
263265
Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();
264266
}
265267

268+
@Override
269+
public void showWebPage(String authenticationUrl) {
270+
new RaveVerificationUtils(this, ravePayInitializer.isStaging(), ravePayInitializer.getPublicKey(), ravePayInitializer.getTheme())
271+
.showWebpageVerificationScreen(authenticationUrl);
272+
}
273+
274+
@Override
275+
public void onActivityResult(int requestCode, int resultCode, Intent data) {
276+
if (resultCode == RavePayActivity.RESULT_SUCCESS) {
277+
//just to be sure this v sent the receiving intent
278+
if (requestCode == WEB_VERIFICATION_REQUEST_CODE) {
279+
presenter.requeryTx(ravePayInitializer.getPublicKey());
280+
}
281+
} else {
282+
super.onActivityResult(requestCode, resultCode, data);
283+
}
284+
}
266285
@Override
267286
public void onPaymentSuccessful(String status, String flwRef, String responseAsString) {
268287
Intent intent = new Intent();

rave_presentation/src/main/java/com/flutterwave/raveandroid/rave_presentation/rwfmobilemoney/NullRwfMobileMoneyPaymentCallback.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,9 @@ public void onSuccessful(String flwRef) {
1919

2020
}
2121

22+
@Override
23+
public void showAuthenticationWebPage(String url) {
24+
25+
}
26+
2227
}

rave_presentation/src/main/java/com/flutterwave/raveandroid/rave_presentation/rwfmobilemoney/RwfInteractorImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ public void showFetchFeeFailed(String errorMessage) {
5555
feeCheckListener.onFetchFeeError(errorMessage);
5656
}
5757

58+
@Override
59+
public void showWebPage(String captchaLink) {
60+
callback.showAuthenticationWebPage(captchaLink);
61+
}
62+
63+
5864
@Override
5965
public void onPaymentError(String errorMessage) {
6066
callback.onError(errorMessage, null);

rave_presentation/src/main/java/com/flutterwave/raveandroid/rave_presentation/rwfmobilemoney/RwfMobileMoneyContract.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,15 @@ interface Interactor {
1919
void onPaymentFailed(String message, String responseAsJSONString);
2020

2121
void onPaymentSuccessful(String status, String flwRef, String responseAsString);
22+
23+
void showWebPage(String link);
2224
}
2325

2426
interface Handler {
2527
void fetchFee(Payload payload);
2628

29+
void requeryTx(String publicKey);
30+
2731
void requeryTx(String flwRef, String txRef, String publicKey);
2832

2933
void chargeRwfMobileMoney(Payload payload, String encryptionKey);

0 commit comments

Comments
 (0)