@@ -133,7 +133,7 @@ public void onSuccess(TransactionInitResponse data) {
133133 deviceId ,
134134 null
135135 );
136- paystackRepository . processCardCharge (params , cardProcessCallback );
136+ processCharge (params );
137137 }
138138
139139 @ Override
@@ -143,6 +143,7 @@ public void onError(@NotNull Throwable exception) {
143143 }
144144 };
145145
146+ transactionCallback .showLoading (true );
146147 if (charge .getAccessCode () == null || charge .getAccessCode ().isEmpty ()) {
147148 paystackRepository .initializeTransaction (publicKey , charge , deviceId , callback );
148149 } else {
@@ -220,6 +221,7 @@ private void authenticateTransaction(ChargeParams chargeParams, ChargeResponse c
220221
221222 private void validateOtp (String token , ChargeParams chargeParams ) {
222223 try {
224+ transactionCallback .showLoading (true );
223225 paystackRepository .validateTransaction (chargeParams , token , cardProcessCallback );
224226 } catch (Exception ce ) {
225227 Log .e (LOG_TAG , ce .getMessage (), ce );
@@ -229,6 +231,7 @@ private void validateOtp(String token, ChargeParams chargeParams) {
229231
230232 private void chargeWithAvs (Address address , ChargeParams chargeParams ) {
231233 try {
234+ transactionCallback .showLoading (true );
232235 paystackRepository .validateAddress (chargeParams , address , cardProcessCallback );
233236 } catch (Exception e ) {
234237 Log .e (LOG_TAG , e .getMessage (), e );
@@ -240,7 +243,7 @@ private void reQueryChargeOnServer(ChargeParams chargeParams) {
240243 try {
241244 new CountDownTimer (5000 , 5000 ) {
242245 public void onFinish () {
243- paystackRepository . requeryTransaction (chargeParams , cardProcessCallback );
246+ requeryTransaction (chargeParams );
244247 }
245248
246249 public void onTick (long millisUntilFinished ) {
@@ -252,10 +255,19 @@ public void onTick(long millisUntilFinished) {
252255 }
253256 }
254257
258+ private void requeryTransaction (ChargeParams chargeParams ) {
259+ transactionCallback .showLoading (true );
260+ paystackRepository .requeryTransaction (chargeParams , cardProcessCallback );
261+ }
262+
263+ private void processCharge (ChargeParams params ) {
264+ transactionCallback .showLoading (true );
265+ paystackRepository .processCardCharge (params , cardProcessCallback );
266+ }
267+
255268 private void notifyProcessingError (Throwable t ) {
256269 setProcessingOff ();
257270 transactionCallback .showLoading (false );
258-
259271 transactionCallback .onError (t , EMPTY_TRANSACTION );
260272 }
261273
@@ -338,7 +350,8 @@ protected String doInBackground(Void... params) {
338350 protected void onPostExecute (String pin ) {
339351 super .onPostExecute (pin );
340352 if (pin != null && (4 == pin .length ())) {
341- paystackRepository .processCardCharge (chargeParams .addPin (Crypto .encrypt (pin )), cardProcessCallback );
353+ ChargeParams params = chargeParams .addPin (Crypto .encrypt (pin ));
354+ processCharge (params );
342355 } else {
343356 notifyProcessingError (new Exception ("PIN must be exactly 4 digits" ));
344357 }
0 commit comments