Skip to content

Commit 3771af6

Browse files
committed
- corrected some tests
- fix merge conflicts
2 parents c881788 + 0dd97b8 commit 3771af6

File tree

9 files changed

+677
-18
lines changed

9 files changed

+677
-18
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.flutterwave.raveandroid;
2+
3+
import javax.inject.Inject;
4+
import javax.inject.Singleton;
5+
6+
import static com.scottyab.aescrypt.AESCrypt.encrypt;
7+
8+
@Singleton
9+
public class GetEncryptedData {
10+
11+
@Inject
12+
public GetEncryptedData() {
13+
}
14+
15+
public String getEncryptedData(String unEncryptedString, String encryptionKey) {
16+
17+
if (unEncryptedString != null && encryptionKey != null) {
18+
try {
19+
return encrypt(unEncryptedString, encryptionKey);
20+
} catch (Exception e) {
21+
e.printStackTrace();
22+
}
23+
}
24+
return "";
25+
}
26+
27+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.flutterwave.raveandroid;
2+
3+
import com.google.gson.Gson;
4+
import com.google.gson.reflect.TypeToken;
5+
6+
import java.lang.reflect.Type;
7+
8+
import javax.inject.Inject;
9+
import javax.inject.Singleton;
10+
11+
@Singleton
12+
public class PayloadToJson {
13+
14+
public Gson gson;
15+
16+
@Inject
17+
public PayloadToJson(Gson gson) {
18+
this.gson = gson;
19+
}
20+
21+
public String convertChargeRequestPayloadToJson(Payload body) {
22+
23+
Type type = new TypeToken<Payload>() {
24+
}.getType();
25+
return gson.toJson(body, type);
26+
}
27+
28+
}

raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferContract.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ interface View {
3232

3333
interface UserActionsListener {
3434
void fetchFee(Payload payload);
35-
void requeryTx();
35+
36+
void requeryTx(String flwRef, String txRef, String publicKey, boolean pollingCancelled, long requeryCountdownTime);
3637
void payWithBankTransfer(Payload body, String encryptionKey);
3738
void init(RavePayInitializer ravePayInitializer);
3839
void processTransaction(HashMap<String, ViewObject> dataHashMap, RavePayInitializer ravePayInitializer);

raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferPresenter.java

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
import android.os.Bundle;
55
import android.util.Log;
66

7+
import com.flutterwave.raveandroid.DeviceIdGetter;
78
import com.flutterwave.raveandroid.FeeCheckRequestBody;
9+
import com.flutterwave.raveandroid.GetEncryptedData;
810
import com.flutterwave.raveandroid.Payload;
911
import com.flutterwave.raveandroid.PayloadBuilder;
12+
import com.flutterwave.raveandroid.PayloadToJson;
1013
import com.flutterwave.raveandroid.RaveConstants;
1114
import com.flutterwave.raveandroid.RavePayInitializer;
12-
import com.flutterwave.raveandroid.Utils;
1315
import com.flutterwave.raveandroid.ViewObject;
1416
import com.flutterwave.raveandroid.card.ChargeRequestBody;
1517
import com.flutterwave.raveandroid.data.Callbacks;
@@ -28,6 +30,7 @@
2830
* Created by hfetuga on 27/06/2018.
2931
*/
3032

33+
3134
public class BankTransferPresenter implements BankTransferContract.UserActionsListener {
3235
private static final String ACCOUNT_NUMBER = "account_number";
3336
private static final String BANK_NAME = "bank_name";
@@ -41,18 +44,21 @@ public class BankTransferPresenter implements BankTransferContract.UserActionsLi
4144
AmountValidator amountValidator;
4245
@Inject
4346
NetworkRequestImpl networkRequest;
44-
45-
private Context context;
46-
private BankTransferContract.View mView;
47+
public boolean pollingCancelled = false;
48+
public boolean hasTransferDetails = false;
49+
@Inject
50+
DeviceIdGetter deviceIdGetter;
51+
BankTransferContract.View mView;
4752
private String txRef = null, flwRef = null, publicKey = null;
4853
private long requeryCountdownTime = 0;
49-
private boolean pollingCancelled = false;
54+
@Inject
55+
PayloadToJson payloadToJson;
5056
private String beneficiaryName, accountNumber, amount, bankName;
51-
private boolean hasTransferDetails = false;
57+
@Inject
58+
GetEncryptedData getEncryptedData;
5259

5360
@Inject
5461
BankTransferPresenter(Context context, BankTransferContract.View mView) {
55-
this.context = context;
5662
this.mView = mView;
5763
}
5864

@@ -74,7 +80,6 @@ public void onSuccess(FeeCheckResponse response) {
7480
try {
7581
mView.displayFee(response.getData().getCharge_amount(), payload);
7682
} catch (Exception e) {
77-
e.printStackTrace();
7883
mView.showFetchFeeFailed("An error occurred while retrieving transaction fee");
7984
}
8085
}
@@ -90,8 +95,8 @@ public void onError(String message) {
9095

9196
@Override
9297
public void payWithBankTransfer(final Payload payload, final String encryptionKey) {
93-
String cardRequestBodyAsString = Utils.convertChargeRequestPayloadToJson(payload);
94-
String encryptedCardRequestBody = Utils.getEncryptedData(cardRequestBodyAsString, encryptionKey);
98+
String cardRequestBodyAsString = payloadToJson.convertChargeRequestPayloadToJson(payload);
99+
String encryptedCardRequestBody = getEncryptedData.getEncryptedData(cardRequestBodyAsString, encryptionKey);
95100
encryptedCardRequestBody = encryptedCardRequestBody.trim().replaceAll("\\n", "");
96101

97102
ChargeRequestBody body = new ChargeRequestBody();
@@ -143,7 +148,7 @@ public void onError(String message, String responseAsJSONString) {
143148
public void startPaymentVerification() {
144149
requeryCountdownTime = System.currentTimeMillis();
145150
mView.showPollingIndicator(true);
146-
requeryTx();
151+
requeryTx(flwRef, txRef, publicKey, pollingCancelled, requeryCountdownTime);
147152
}
148153

149154
@Override
@@ -184,15 +189,17 @@ public void restoreState(Bundle savedInstanceState) {
184189
}
185190

186191
@Override
187-
public void requeryTx() {
192+
public void requeryTx(final String flwRef, final String txRef, final String publicKey, final boolean pollingCancelled, final long requeryCountdownTime) {
188193

189194
RequeryRequestBody body = new RequeryRequestBody();
190195
body.setFlw_ref(flwRef);
191196
body.setPBFPubKey(publicKey);
192197

193198
networkRequest.requeryPayWithBankTx(body, new Callbacks.OnRequeryRequestComplete() {
199+
194200
@Override
195201
public void onSuccess(RequeryResponse response, String responseAsJSONString) {
202+
196203
if (response.getData() == null) {
197204
mView.onPaymentFailed(response.getStatus(), responseAsJSONString);
198205
} else if (response.getData().getChargeResponseCode().equals("01")) {
@@ -201,7 +208,7 @@ public void onSuccess(RequeryResponse response, String responseAsJSONString) {
201208
mView.onPollingCanceled(flwRef, txRef, responseAsJSONString);
202209
} else {
203210
if ((System.currentTimeMillis() - requeryCountdownTime) < 300000) {
204-
requeryTx();
211+
requeryTx(flwRef, txRef, publicKey, pollingCancelled, requeryCountdownTime);
205212
} else {
206213
mView.showPollingIndicator(false);
207214
mView.onPollingTimeout(flwRef, txRef, responseAsJSONString);
@@ -273,13 +280,13 @@ public void processTransaction(HashMap<String, ViewObject> dataHashMap, RavePayI
273280
.setEmail(ravePayInitializer.getEmail())
274281
.setFirstname(ravePayInitializer.getfName())
275282
.setLastname(ravePayInitializer.getlName())
276-
.setIP(Utils.getDeviceImei(context))
283+
.setIP(deviceIdGetter.getDeviceId())
277284
.setTxRef(ravePayInitializer.getTxRef())
278285
.setMeta(ravePayInitializer.getMeta())
279286
.setSubAccount(ravePayInitializer.getSubAccount())
280287
.setPBFPubKey(ravePayInitializer.getPublicKey())
281288
.setIsPreAuth(ravePayInitializer.getIsPreAuth())
282-
.setDevice_fingerprint(Utils.getDeviceImei(context))
289+
.setDevice_fingerprint(deviceIdGetter.getDeviceId())
283290
.setNarration(ravePayInitializer.getNarration());
284291

285292
Payload body = builder.createBankTransferPayload();

raveandroid/src/main/java/com/flutterwave/raveandroid/responses/ChargeResponse.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,5 +194,17 @@ public void setAuthurl(String authurl) {
194194
public void setFlwRef(String flwRef) {
195195
this.flwRef = flwRef;
196196
}
197+
198+
public void setNote(String note) {
199+
this.note = note;
200+
}
201+
202+
public void setBankName(String bankName) {
203+
this.bankname = bankName;
204+
}
205+
206+
public void setAccountnumber(String accountnumber) {
207+
this.accountnumber = accountnumber;
208+
}
197209
}
198210
}

raveandroid/src/test/java/com/flutterwave/raveandroid/account/AccountPresenterTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,6 @@ private String generateRandomString() {
521521

522522
private Double generateRandomDouble() {
523523
return new Random().nextDouble();
524-
525524
}
526525

527526
private Boolean generateRandomBoolean() {
@@ -576,7 +575,11 @@ private ChargeResponse generateInValidChargeResponse() {
576575
}
577576

578577
private RequeryResponse generateRequerySuccessful() {
579-
return new RequeryResponse();
578+
RequeryResponse requeryResponse = new RequeryResponse();
579+
RequeryResponse.Data data = new RequeryResponse.Data();
580+
data.setChargeResponseCode("00");
581+
requeryResponse.setData(data);
582+
return requeryResponse;
580583
}
581584

582585
private Bank generateBank(boolean internetBanking, String bankCode) {

0 commit comments

Comments
 (0)