Skip to content

Commit 750b43e

Browse files
committed
create separate container for noUi
1 parent 0a67a85 commit 750b43e

File tree

5 files changed

+80
-1
lines changed

5 files changed

+80
-1
lines changed

app/src/main/java/com/flutterwave/rave_android/MainActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private void validateEntries() {
194194
}
195195

196196
if (valid) {
197-
new RavePayManager(this).setAmount(Double.parseDouble(amount))
197+
RavePayManager manager = new RavePayManager(this).setAmount(Double.parseDouble(amount))
198198
.setCountry(country)
199199
.setCurrency(currency)
200200
.setEmail(email)
@@ -222,6 +222,8 @@ private void validateEntries() {
222222
// .withTheme(R.style.TestNewTheme)
223223
.initialize();
224224

225+
manager.getAppComponent();
226+
225227
}
226228
}
227229

raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayActivity.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ public class RavePayActivity extends AppCompatActivity {
5656
public static int RESULT_CANCELLED = 333;
5757

5858
AppComponent appComponent;
59+
static AppComponent appComponent2;
60+
61+
public static void setGraph(AppComponent appComponent) {
62+
appComponent2 = appComponent;
63+
}
5964

6065
@Override
6166
protected void onCreate(Bundle savedInstanceState) {

raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayManager.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,21 @@
44
import android.content.Intent;
55
import android.util.Log;
66

7+
import com.flutterwave.raveandroid.di.components.AppComponent;
8+
import com.flutterwave.raveandroid.di.components.DaggerAppComponent;
9+
import com.flutterwave.raveandroid.di.modules.AndroidModule;
10+
import com.flutterwave.raveandroid.di.modules.NetworkModule;
711
import com.flutterwave.raveandroid.responses.SubAccount;
812

913
import org.parceler.Parcels;
1014

1115
import java.util.List;
1216

17+
import static com.flutterwave.raveandroid.RaveConstants.LIVE_URL;
1318
import static com.flutterwave.raveandroid.RaveConstants.RAVEPAY;
1419
import static com.flutterwave.raveandroid.RaveConstants.RAVE_PARAMS;
1520
import static com.flutterwave.raveandroid.RaveConstants.RAVE_REQUEST_CODE;
21+
import static com.flutterwave.raveandroid.RaveConstants.STAGING_URL;
1622

1723
public class RavePayManager {
1824
private String email;
@@ -188,6 +194,7 @@ public RavePayManager setPaymentPlan(String payment_plan) {
188194
}
189195

190196
public void initialize() {
197+
191198
if (activity != null) {
192199

193200
Intent intent = new Intent(activity, RavePayActivity.class);
@@ -197,6 +204,16 @@ public void initialize() {
197204
else {
198205
Log.d(RAVEPAY, "Context is required!");
199206
}
207+
208+
}
209+
210+
public Raver initializeNoUi() {
211+
212+
RavePayInitializer ravePayInitializer = createRavePayInitializer();
213+
AppComponent component = setUpGraph();
214+
215+
return new Raver(ravePayInitializer, component);
216+
200217
}
201218

202219
public RavePayManager shouldDisplayFee(boolean displayFee) {
@@ -205,6 +222,7 @@ public RavePayManager shouldDisplayFee(boolean displayFee) {
205222
}
206223

207224
public RavePayInitializer createRavePayInitializer() {
225+
208226
return new RavePayInitializer(
209227
email,
210228
amount,
@@ -234,4 +252,23 @@ public RavePayInitializer createRavePayInitializer() {
234252
showStagingLabel,
235253
displayFee);
236254
}
255+
256+
private AppComponent setUpGraph() {
257+
258+
259+
String baseUrl;
260+
261+
if (staging) {
262+
baseUrl = STAGING_URL;
263+
} else {
264+
baseUrl = LIVE_URL;
265+
}
266+
267+
return DaggerAppComponent.builder()
268+
.androidModule(new AndroidModule(activity))
269+
.networkModule(new NetworkModule(baseUrl))
270+
.build();
271+
272+
273+
}
237274
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.flutterwave.raveandroid;
2+
3+
import com.flutterwave.raveandroid.di.components.AppComponent;
4+
5+
public class Raver {
6+
7+
RavePayInitializer ravePayInitializer;
8+
AppComponent appComponent;
9+
10+
public Raver(RavePayInitializer ravePayInitializer, AppComponent appComponent) {
11+
this.ravePayInitializer = ravePayInitializer;
12+
this.appComponent = appComponent;
13+
}
14+
15+
public RavePayInitializer getRavePayInitializer() {
16+
return ravePayInitializer;
17+
}
18+
19+
public void setRavePayInitializer(RavePayInitializer ravePayInitializer) {
20+
this.ravePayInitializer = ravePayInitializer;
21+
}
22+
23+
public AppComponent getAppComponent() {
24+
return appComponent;
25+
}
26+
27+
public void setAppComponent(AppComponent appComponent) {
28+
this.appComponent = appComponent;
29+
}
30+
31+
32+
}

raveandroid/src/main/java/com/flutterwave/raveandroid/di/components/AppComponent.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.flutterwave.raveandroid.RaveApp;
44
import com.flutterwave.raveandroid.RavePayActivity;
5+
import com.flutterwave.raveandroid.data.NetworkRequestImpl;
56
import com.flutterwave.raveandroid.di.modules.AccountModule;
67
import com.flutterwave.raveandroid.di.modules.AchModule;
78
import com.flutterwave.raveandroid.di.modules.AndroidModule;
@@ -22,6 +23,8 @@
2223
@Component(modules = {AndroidModule.class, NetworkModule.class})
2324
public interface AppComponent {
2425

26+
NetworkRequestImpl networkImpl();
27+
2528
void inject(RaveApp raveApp);
2629

2730
void inject(RavePayActivity ravePayActivity);

0 commit comments

Comments
 (0)