Updated on 2026-08-14
This commit is contained in:
parent
42b6efa391
commit
c670ecdb15
26 changed files with 322 additions and 391 deletions
|
|
@ -1,39 +0,0 @@
|
|||
package com.tangem.di;
|
||||
|
||||
import com.tangem.presentation.activity.EmptyWalletActivity;
|
||||
import com.tangem.presentation.activity.LoadedWalletActivity;
|
||||
import com.tangem.presentation.activity.LogoActivity;
|
||||
import com.tangem.presentation.activity.MainActivity;
|
||||
import com.tangem.presentation.activity.PrepareCryptonitOtherApiWithdrawalActivity;
|
||||
import com.tangem.presentation.activity.PrepareKrakenWithdrawalActivity;
|
||||
import com.tangem.presentation.activity.PrepareTransactionActivity;
|
||||
import com.tangem.presentation.activity.PurgeActivity;
|
||||
import com.tangem.presentation.activity.VerifyCardActivity;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Component;
|
||||
|
||||
@Singleton
|
||||
@Component(modules = {NavigatorModule.class})
|
||||
public interface NavigatorComponent {
|
||||
|
||||
void inject(LogoActivity activity);
|
||||
|
||||
void inject(MainActivity activity);
|
||||
|
||||
void inject(PurgeActivity activity);
|
||||
|
||||
void inject(PrepareTransactionActivity activity);
|
||||
|
||||
void inject(PrepareCryptonitOtherApiWithdrawalActivity activity);
|
||||
|
||||
void inject(PrepareKrakenWithdrawalActivity activity);
|
||||
|
||||
void inject(LoadedWalletActivity activity);
|
||||
|
||||
void inject(VerifyCardActivity activity);
|
||||
|
||||
void inject(EmptyWalletActivity activity);
|
||||
|
||||
}
|
||||
39
app/src/main/java/com/tangem/di/NavigatorComponent.kt
Normal file
39
app/src/main/java/com/tangem/di/NavigatorComponent.kt
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
package com.tangem.di
|
||||
|
||||
import com.tangem.presentation.activity.EmptyWalletActivity
|
||||
import com.tangem.presentation.activity.LoadedWalletActivity
|
||||
import com.tangem.presentation.activity.LogoActivity
|
||||
import com.tangem.presentation.activity.MainActivity
|
||||
import com.tangem.presentation.activity.PrepareCryptonitOtherApiWithdrawalActivity
|
||||
import com.tangem.presentation.activity.PrepareKrakenWithdrawalActivity
|
||||
import com.tangem.presentation.activity.PrepareTransactionActivity
|
||||
import com.tangem.presentation.activity.PurgeActivity
|
||||
import com.tangem.presentation.activity.VerifyCardActivity
|
||||
|
||||
import javax.inject.Singleton
|
||||
|
||||
import dagger.Component
|
||||
|
||||
@Singleton
|
||||
@Component(modules = [NavigatorModule::class])
|
||||
interface NavigatorComponent {
|
||||
|
||||
fun inject(activity: LogoActivity)
|
||||
|
||||
fun inject(activity: MainActivity)
|
||||
|
||||
fun inject(activity: PurgeActivity)
|
||||
|
||||
fun inject(activity: PrepareTransactionActivity)
|
||||
|
||||
fun inject(activity: PrepareCryptonitOtherApiWithdrawalActivity)
|
||||
|
||||
fun inject(activity: PrepareKrakenWithdrawalActivity)
|
||||
|
||||
fun inject(activity: LoadedWalletActivity)
|
||||
|
||||
fun inject(activity: VerifyCardActivity)
|
||||
|
||||
fun inject(activity: EmptyWalletActivity)
|
||||
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
package com.tangem.di;
|
||||
|
||||
import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module
|
||||
class NavigatorModule {
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
Navigator provideNavigator() {
|
||||
return new Navigator();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
WaitSecurityDelayDialogNew provideWaitSecurityDelayDialogNew() {
|
||||
return new WaitSecurityDelayDialogNew();
|
||||
}
|
||||
|
||||
}
|
||||
25
app/src/main/java/com/tangem/di/NavigatorModule.kt
Normal file
25
app/src/main/java/com/tangem/di/NavigatorModule.kt
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
package com.tangem.di
|
||||
|
||||
import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew
|
||||
|
||||
import javax.inject.Singleton
|
||||
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
|
||||
@Module
|
||||
internal class NavigatorModule {
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
fun provideNavigator(): Navigator {
|
||||
return Navigator()
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
fun provideWaitSecurityDelayDialogNew(): WaitSecurityDelayDialogNew {
|
||||
return WaitSecurityDelayDialogNew()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
package com.tangem.di;
|
||||
|
||||
import com.tangem.data.network.Server;
|
||||
|
||||
import java.net.Socket;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Component;
|
||||
import retrofit2.Retrofit;
|
||||
|
||||
@Singleton
|
||||
@Component(modules = {NetworkModule.class})
|
||||
public interface NetworkComponent {
|
||||
|
||||
@Named(Server.ApiInfura.URL_INFURA)
|
||||
Retrofit getRetrofitInfura();
|
||||
|
||||
@Named(Server.ApiEstimatefee.URL_ESTIMATEFEE)
|
||||
Retrofit getRetrofitEstimatefee();
|
||||
|
||||
@Named(Server.ApiCoinmarket.URL_COINMARKET)
|
||||
Retrofit getRetrofitCoinmarketcap();
|
||||
|
||||
@Named(Server.ApiUpdateVersion.URL_UPDATE_VERSION)
|
||||
Retrofit getRetrofitGithubusercontent();
|
||||
|
||||
@Named(Server.ApiRootstock.URL_ROOTSTOCK)
|
||||
Retrofit getRetrofitRootstock();
|
||||
|
||||
@Named("socket")
|
||||
Socket getSocket();
|
||||
|
||||
}
|
||||
35
app/src/main/java/com/tangem/di/NetworkComponent.kt
Normal file
35
app/src/main/java/com/tangem/di/NetworkComponent.kt
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
package com.tangem.di
|
||||
|
||||
import com.tangem.data.network.Server
|
||||
|
||||
import java.net.Socket
|
||||
|
||||
import javax.inject.Named
|
||||
import javax.inject.Singleton
|
||||
|
||||
import dagger.Component
|
||||
import retrofit2.Retrofit
|
||||
|
||||
@Singleton
|
||||
@Component(modules = [NetworkModule::class])
|
||||
interface NetworkComponent {
|
||||
|
||||
@get:Named(Server.ApiInfura.URL_INFURA)
|
||||
val retrofitInfura: Retrofit
|
||||
|
||||
@get:Named(Server.ApiEstimatefee.URL_ESTIMATEFEE)
|
||||
val retrofitEstimatefee: Retrofit
|
||||
|
||||
@get:Named(Server.ApiCoinmarket.URL_COINMARKET)
|
||||
val retrofitCoinmarketcap: Retrofit
|
||||
|
||||
@get:Named(Server.ApiUpdateVersion.URL_UPDATE_VERSION)
|
||||
val retrofitGitHubUserContent: Retrofit
|
||||
|
||||
@get:Named(Server.ApiRootstock.URL_ROOTSTOCK)
|
||||
val retrofitRootstock: Retrofit
|
||||
|
||||
@get:Named("socket")
|
||||
val socket: Socket
|
||||
|
||||
}
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
package com.tangem.di;
|
||||
|
||||
import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
|
||||
import com.tangem.data.network.Server;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.Socket;
|
||||
import java.net.SocketException;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.logging.HttpLoggingInterceptor;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
|
||||
@Module
|
||||
class NetworkModule {
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiInfura.URL_INFURA)
|
||||
Retrofit provideRetrofitInfura() {
|
||||
return new Retrofit.Builder()
|
||||
.baseUrl(Server.ApiInfura.URL_INFURA)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiRootstock.URL_ROOTSTOCK)
|
||||
Retrofit provideRetrofitRootstock() {
|
||||
return new Retrofit.Builder()
|
||||
.baseUrl(Server.ApiRootstock.URL_ROOTSTOCK)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiEstimatefee.URL_ESTIMATEFEE)
|
||||
Retrofit provideRetrofitEstimatefee() {
|
||||
return new Retrofit.Builder()
|
||||
.baseUrl(Server.ApiEstimatefee.URL_ESTIMATEFEE)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiUpdateVersion.URL_UPDATE_VERSION)
|
||||
Retrofit provideGithubusercontent() {
|
||||
return new Retrofit.Builder()
|
||||
.baseUrl(Server.ApiUpdateVersion.URL_UPDATE_VERSION)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.client(createOkHttpClient())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiCoinmarket.URL_COINMARKET)
|
||||
Retrofit provideRetrofitCoinmarketcap() {
|
||||
return new Retrofit.Builder()
|
||||
.baseUrl(Server.ApiCoinmarket.URL_COINMARKET)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
||||
.build();
|
||||
}
|
||||
|
||||
private OkHttpClient createOkHttpClient() {
|
||||
return new OkHttpClient.Builder().
|
||||
addInterceptor(createHttpLoggingInterceptor()).
|
||||
build();
|
||||
}
|
||||
|
||||
private HttpLoggingInterceptor createHttpLoggingInterceptor() {
|
||||
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
|
||||
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
|
||||
return logging;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Named("socket")
|
||||
Socket provideSocket() {
|
||||
Socket socket = new Socket();
|
||||
try {
|
||||
socket.setSoTimeout(2000);
|
||||
try {
|
||||
socket.bind(new InetSocketAddress(0));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (SocketException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return socket;
|
||||
}
|
||||
|
||||
}
|
||||
105
app/src/main/java/com/tangem/di/NetworkModule.kt
Normal file
105
app/src/main/java/com/tangem/di/NetworkModule.kt
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
package com.tangem.di
|
||||
|
||||
import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
|
||||
import com.tangem.data.network.Server
|
||||
|
||||
import java.io.IOException
|
||||
import java.net.InetSocketAddress
|
||||
import java.net.Socket
|
||||
import java.net.SocketException
|
||||
|
||||
import javax.inject.Named
|
||||
import javax.inject.Singleton
|
||||
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.logging.HttpLoggingInterceptor
|
||||
import retrofit2.Retrofit
|
||||
import retrofit2.converter.gson.GsonConverterFactory
|
||||
|
||||
@Module
|
||||
internal class NetworkModule {
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiInfura.URL_INFURA)
|
||||
fun provideRetrofitInfura(): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(Server.ApiInfura.URL_INFURA)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build()
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiRootstock.URL_ROOTSTOCK)
|
||||
fun provideRetrofitRootstock(): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(Server.ApiRootstock.URL_ROOTSTOCK)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build()
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiEstimatefee.URL_ESTIMATEFEE)
|
||||
fun provideRetrofitEstimatefee(): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(Server.ApiEstimatefee.URL_ESTIMATEFEE)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build()
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiUpdateVersion.URL_UPDATE_VERSION)
|
||||
fun provideGithubusercontent(): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(Server.ApiUpdateVersion.URL_UPDATE_VERSION)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.client(createOkHttpClient())
|
||||
.build()
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@Named(Server.ApiCoinmarket.URL_COINMARKET)
|
||||
fun provideRetrofitCoinmarketcap(): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(Server.ApiCoinmarket.URL_COINMARKET)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
||||
.build()
|
||||
}
|
||||
|
||||
private fun createOkHttpClient(): OkHttpClient {
|
||||
return OkHttpClient.Builder().addInterceptor(createHttpLoggingInterceptor()).build()
|
||||
}
|
||||
|
||||
private fun createHttpLoggingInterceptor(): HttpLoggingInterceptor {
|
||||
val logging = HttpLoggingInterceptor()
|
||||
logging.level = HttpLoggingInterceptor.Level.BODY
|
||||
return logging
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Named("socket")
|
||||
fun provideSocket(): Socket {
|
||||
val socket = Socket()
|
||||
try {
|
||||
socket.soTimeout = 2000
|
||||
try {
|
||||
socket.bind(InetSocketAddress(0))
|
||||
} catch (e: IOException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
} catch (e: SocketException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
return socket
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue