diff --git a/app/build.gradle b/app/build.gradle
index a5d0b7aa22..9827f25411 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -68,4 +68,10 @@ dependencies {
implementation 'io.reactivex.rxjava2:rxjava:2.2.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
+
+ implementation 'com.google.dagger:dagger:2.16'
+ annotationProcessor 'com.google.dagger:dagger-compiler:2.16'
+// implementation 'com.google.dagger:dagger-android:2.16'
+// implementation 'com.google.dagger:dagger-android-support:2.16' // if you use the support libraries
+// annotationProcessor 'com.google.dagger:dagger-android-processor:2.16'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c154bdefa1..3fda44ad52 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -16,7 +16,7 @@
call;
switch (blockCount) {
@@ -136,12 +132,7 @@ public class ServerApiHelper {
}
public void infura(String method, int id, String wallet, String contract, String tx) {
- Retrofit retrofit = new Retrofit.Builder()
- .baseUrl(Server.ApiInfura.URL_INFURA)
- .addConverterFactory(GsonConverterFactory.create())
- .build();
-
- InfuraApi infuraApi = retrofit.create(InfuraApi.class);
+ InfuraApi infuraApi = App.getComponent().getRetrofitInfura().create(InfuraApi.class);
InfuraBody infuraBody;
switch (method) {
diff --git a/app/src/main/java/com/tangem/di/AppComponent.java b/app/src/main/java/com/tangem/di/AppComponent.java
new file mode 100644
index 0000000000..11c51d05e1
--- /dev/null
+++ b/app/src/main/java/com/tangem/di/AppComponent.java
@@ -0,0 +1,18 @@
+package com.tangem.di;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+import dagger.Component;
+import retrofit2.Retrofit;
+
+@Singleton
+@Component(modules = {NetworkModule.class})
+public interface AppComponent {
+
+ @Named(NetworkModule.PROVIDE_RETROFIT_INFURA)
+ Retrofit getRetrofitInfura();
+
+ @Named(NetworkModule.PROVIDE_RETROFIT_ESTIMATEFEE)
+ Retrofit getRetrofitEstimatefee();
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/di/NetworkModule.java b/app/src/main/java/com/tangem/di/NetworkModule.java
new file mode 100644
index 0000000000..92c7b9bcad
--- /dev/null
+++ b/app/src/main/java/com/tangem/di/NetworkModule.java
@@ -0,0 +1,39 @@
+package com.tangem.di;
+
+import com.tangem.data.network.Server;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+import dagger.Module;
+import dagger.Provides;
+import retrofit2.Retrofit;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+@Module
+class NetworkModule {
+
+ final static String PROVIDE_RETROFIT_INFURA = "provideRetrofitInfura";
+ final static String PROVIDE_RETROFIT_ESTIMATEFEE = "provideRetrofitEstimatefee";
+
+ @Singleton
+ @Provides
+ @Named(PROVIDE_RETROFIT_INFURA)
+ Retrofit provideRetrofitInfura() {
+ return new Retrofit.Builder()
+ .baseUrl(Server.ApiInfura.URL_INFURA)
+ .addConverterFactory(GsonConverterFactory.create())
+ .build();
+ }
+
+ @Singleton
+ @Provides
+ @Named(PROVIDE_RETROFIT_ESTIMATEFEE)
+ Retrofit provideRetrofitEstimatefee() {
+ return new Retrofit.Builder()
+ .baseUrl(Server.ApiEstimatefee.URL_ESTIMATEFEE)
+ .addConverterFactory(GsonConverterFactory.create())
+ .build();
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/presentation/activity/LoadedWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/LoadedWalletActivity.kt
index 84055cfa7d..be7cc14bd6 100644
--- a/app/src/main/java/com/tangem/presentation/activity/LoadedWalletActivity.kt
+++ b/app/src/main/java/com/tangem/presentation/activity/LoadedWalletActivity.kt
@@ -4,8 +4,10 @@ import android.nfc.NfcAdapter
import android.nfc.Tag
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
+import com.tangem.App
import com.tangem.presentation.fragment.LoadedWallet
import com.tangem.wallet.R
+import retrofit2.Retrofit
class LoadedWalletActivity : AppCompatActivity() {
@@ -28,12 +30,4 @@ class LoadedWalletActivity : AppCompatActivity() {
}
}
-// override fun onBackPressed() {
-// val loadedWallet = supportFragmentManager.findFragmentById(R.id.loaded_wallet_fragment) as LoadedWallet
-// val data = loadedWallet.prepareResultIntent()
-// data.putExtra(EXTRA_MODIFICATION, "update")
-// setResult(Activity.RESULT_OK, data)
-// finish()
-// }
-
}
\ No newline at end of file