Skip to content

Commit c150eaa

Browse files
authored
Merge pull request #10 from Feedpresso/master
Using BaseActivityEventListener instead of ActivityEventListener
2 parents 7eaefde + 938c220 commit c150eaa

File tree

1 file changed

+31
-37
lines changed

1 file changed

+31
-37
lines changed

src/main/java/com/surialabs/rn/braintree/Braintree.java

Lines changed: 31 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,35 @@
11
package com.surialabs.rn.braintree;
22

3-
import android.content.Intent;
4-
import android.content.Context;
53
import android.app.Activity;
4+
import android.content.Context;
5+
import android.content.Intent;
66

7-
import com.braintreepayments.api.PaymentRequest;
8-
import com.braintreepayments.api.models.PaymentMethodNonce;
9-
import com.braintreepayments.api.BraintreePaymentActivity;
107
import com.braintreepayments.api.BraintreeFragment;
11-
import com.braintreepayments.api.exceptions.InvalidArgumentException;
12-
import com.braintreepayments.api.models.CardBuilder;
8+
import com.braintreepayments.api.BraintreePaymentActivity;
139
import com.braintreepayments.api.Card;
10+
import com.braintreepayments.api.PaymentRequest;
11+
import com.braintreepayments.api.exceptions.InvalidArgumentException;
1412
import com.braintreepayments.api.interfaces.PaymentMethodNonceCreatedListener;
15-
13+
import com.braintreepayments.api.models.CardBuilder;
14+
import com.braintreepayments.api.models.PaymentMethodNonce;
15+
import com.facebook.react.bridge.BaseActivityEventListener;
1616
import com.facebook.react.bridge.Callback;
1717
import com.facebook.react.bridge.ReactApplicationContext;
1818
import com.facebook.react.bridge.ReactContextBaseJavaModule;
1919
import com.facebook.react.bridge.ReactMethod;
20-
import com.facebook.react.bridge.ActivityEventListener;
2120

22-
public class Braintree extends ReactContextBaseJavaModule implements ActivityEventListener {
21+
public class Braintree extends ReactContextBaseJavaModule {
2322
private static final int PAYMENT_REQUEST = 1;
2423
private String token;
2524

2625
private Callback successCallback;
2726
private Callback errorCallback;
2827

29-
private Context mActivityContext;
30-
3128
private BraintreeFragment mBraintreeFragment;
3229

3330
public Braintree(ReactApplicationContext reactContext) {
3431
super(reactContext);
35-
reactContext.addActivityEventListener(this);
32+
reactContext.addActivityEventListener(new BraintreeActivityListener());
3633
}
3734

3835
@Override
@@ -96,31 +93,28 @@ public void paymentRequest(final Callback successCallback, final Callback errorC
9693
);
9794
}
9895

99-
@Override
100-
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
101-
if (requestCode == PAYMENT_REQUEST) {
102-
switch (resultCode) {
103-
case Activity.RESULT_OK:
104-
PaymentMethodNonce paymentMethodNonce = data.getParcelableExtra(
105-
BraintreePaymentActivity.EXTRA_PAYMENT_METHOD_NONCE
106-
);
107-
this.successCallback.invoke(paymentMethodNonce.getNonce());
108-
break;
109-
case BraintreePaymentActivity.BRAINTREE_RESULT_DEVELOPER_ERROR:
110-
case BraintreePaymentActivity.BRAINTREE_RESULT_SERVER_ERROR:
111-
case BraintreePaymentActivity.BRAINTREE_RESULT_SERVER_UNAVAILABLE:
112-
this.errorCallback.invoke(
113-
data.getSerializableExtra(BraintreePaymentActivity.EXTRA_ERROR_MESSAGE)
114-
);
115-
break;
116-
default:
117-
break;
96+
private class BraintreeActivityListener extends BaseActivityEventListener {
97+
@Override
98+
public void onActivityResult(Activity activity, final int requestCode, final int resultCode, final Intent data) {
99+
if (requestCode == PAYMENT_REQUEST) {
100+
switch (resultCode) {
101+
case Activity.RESULT_OK:
102+
PaymentMethodNonce paymentMethodNonce = data.getParcelableExtra(
103+
BraintreePaymentActivity.EXTRA_PAYMENT_METHOD_NONCE
104+
);
105+
successCallback.invoke(paymentMethodNonce.getNonce());
106+
break;
107+
case BraintreePaymentActivity.BRAINTREE_RESULT_DEVELOPER_ERROR:
108+
case BraintreePaymentActivity.BRAINTREE_RESULT_SERVER_ERROR:
109+
case BraintreePaymentActivity.BRAINTREE_RESULT_SERVER_UNAVAILABLE:
110+
errorCallback.invoke(
111+
data.getSerializableExtra(BraintreePaymentActivity.EXTRA_ERROR_MESSAGE)
112+
);
113+
break;
114+
default:
115+
break;
116+
}
118117
}
119118
}
120119
}
121-
122-
@Override
123-
public void onNewIntent(Intent intent){
124-
125-
}
126120
}

0 commit comments

Comments
 (0)