From c670ecdb1518126d87f8776270d81d2e0b88d325 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 7 Feb 2019 14:39:57 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .idea/kotlinc.xml | 6 - .idea/misc.xml | 43 +------ app/build.gradle | 16 ++- app/src/main/java/com/tangem/App.java | 106 ------------------ app/src/main/java/com/tangem/App.kt | 81 +++++++++++++ .../tangem/data/network/ServerApiCommon.java | 6 +- .../data/network/ServerApiElectrum.java | 24 ++-- .../tangem/data/network/ServerApiInfura.java | 2 +- .../data/network/ServerApiRootstock.java | 2 +- .../com/tangem/di/NavigatorComponent.java | 39 ------- .../java/com/tangem/di/NavigatorComponent.kt | 39 +++++++ .../java/com/tangem/di/NavigatorModule.java | 25 ----- .../java/com/tangem/di/NavigatorModule.kt | 25 +++++ .../java/com/tangem/di/NetworkComponent.java | 35 ------ .../java/com/tangem/di/NetworkComponent.kt | 35 ++++++ .../java/com/tangem/di/NetworkModule.java | 106 ------------------ .../main/java/com/tangem/di/NetworkModule.kt | 105 +++++++++++++++++ .../activity/EmptyWalletActivity.kt | 2 +- .../activity/LoadedWalletActivity.kt | 2 +- .../presentation/activity/LogoActivity.kt | 2 +- .../presentation/activity/MainActivity.kt | 2 +- ...pareCryptonitOtherApiWithdrawalActivity.kt | 2 +- .../PrepareKrakenWithdrawalActivity.kt | 2 +- .../activity/PrepareTransactionActivity.kt | 2 +- .../presentation/activity/PurgeActivity.kt | 2 +- .../activity/VerifyCardActivity.kt | 2 +- 26 files changed, 322 insertions(+), 391 deletions(-) delete mode 100644 .idea/kotlinc.xml delete mode 100644 app/src/main/java/com/tangem/App.java create mode 100644 app/src/main/java/com/tangem/App.kt delete mode 100644 app/src/main/java/com/tangem/di/NavigatorComponent.java create mode 100644 app/src/main/java/com/tangem/di/NavigatorComponent.kt delete mode 100644 app/src/main/java/com/tangem/di/NavigatorModule.java create mode 100644 app/src/main/java/com/tangem/di/NavigatorModule.kt delete mode 100644 app/src/main/java/com/tangem/di/NetworkComponent.java create mode 100644 app/src/main/java/com/tangem/di/NetworkComponent.kt delete mode 100644 app/src/main/java/com/tangem/di/NetworkModule.java create mode 100644 app/src/main/java/com/tangem/di/NetworkModule.kt diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml deleted file mode 100644 index 8b7f4afdab..0000000000 --- a/.idea/kotlinc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 514c99b327..703e5d4b89 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,44 +1,9 @@ - - - - - - - - + + + + diff --git a/app/build.gradle b/app/build.gradle index f91af6af43..ffaf1ec3b4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' - +apply plugin: 'kotlin-kapt' static def generateVersionName() { def gitCommitsCount = "git rev-list HEAD --count".execute().text.trim() @@ -44,29 +44,27 @@ android { } dependencies { - def lifecycle_version = "2.0.0" - def spongycastle_version = "1.56.0.0" - implementation project(':tangemcard-common') implementation project(':tangemcard-android') implementation project(':tangemserver-android') implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version" + implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' implementation 'androidx.biometric:biometric:1.0.0-alpha03' implementation 'com.google.android.material:material:1.1.0-alpha02' - implementation 'com.google.dagger:dagger:2.16' + implementation 'com.google.dagger:dagger:2.21' + kapt 'com.google.dagger:dagger-compiler:2.21' + annotationProcessor 'com.google.dagger:dagger-compiler:2.21' implementation 'com.google.zxing:core:3.3.3' implementation 'com.google.code.gson:gson:2.8.5' - implementation "com.madgag.spongycastle:core:$spongycastle_version" - implementation "com.madgag.spongycastle:prov:$spongycastle_version" + implementation 'com.madgag.spongycastle:core:1.56.0.0' + implementation 'com.madgag.spongycastle:prov:1.56.0.0' implementation 'com.scottyab:rootbeer-lib:0.0.7' implementation 'com.squareup.retrofit2:converter-gson:2.5.0' implementation 'com.squareup.retrofit2:retrofit:2.5.0' implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0' implementation 'com.skyfishjy.ripplebackground:library:1.0.1' implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0' - annotationProcessor 'com.google.dagger:dagger-compiler:2.16' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'org.bitcoinj:bitcoinj-parent:0.14.7' implementation 'org.bitcoinj:bitcoinj-core:0.14.7' diff --git a/app/src/main/java/com/tangem/App.java b/app/src/main/java/com/tangem/App.java deleted file mode 100644 index 14b3775f08..0000000000 --- a/app/src/main/java/com/tangem/App.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.tangem; - -import android.app.Application; -import androidx.appcompat.app.AppCompatDelegate; - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import com.tangem.tangemserver.android.data.LocalStorage; -import com.tangem.di.DaggerNavigatorComponent; -import com.tangem.di.DaggerNetworkComponent; -import com.tangem.di.NavigatorComponent; -import com.tangem.di.NetworkComponent; -import com.tangem.tangemcard.data.Issuer; -import com.tangem.tangemcard.android.data.Firmwares; -import com.tangem.tangemcard.android.data.PINStorage; -import com.tangem.tangemcard.data.external.FirmwaresDigestsProvider; -import com.tangem.tangemcard.data.external.PINsProvider; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.lang.reflect.Type; -import java.nio.charset.StandardCharsets; -import java.util.List; - -public class App extends Application { - - /** - * A singleton instance of the application class for easy access in other places - */ - private static App sInstance; - - public App() { - super(); - } - - static { - AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); - } - - private static NetworkComponent networkComponent; - private static NavigatorComponent navigatorComponent; - - public static NavigatorComponent getNavigatorComponent() { - return navigatorComponent; - } - - public static LocalStorage localStorage; - public static PINsProvider pinStorage; - public static FirmwaresDigestsProvider firmwaresStorage; - - @Override - public void onCreate() { - super.onCreate(); - // initialize the singleton - sInstance = this; - - networkComponent = DaggerNetworkComponent.create(); - navigatorComponent = buildNavigatorComponent(); - - // common init - if (PINStorage.needInit()) - PINStorage.init(getApplicationContext()); - - initIssuers(); - - firmwaresStorage = new Firmwares(getApplicationContext()); - - localStorage = new LocalStorage(getApplicationContext()); - - pinStorage = new PINStorage(); - } - - /** - * @return singleton instance - */ - public static synchronized App getInstance() { - return sInstance; - } - - public static NetworkComponent getNetworkComponent() { - return networkComponent; - } - - protected NavigatorComponent buildNavigatorComponent() { - return DaggerNavigatorComponent.builder() - .build(); - } - - - public void initIssuers() { - try { - try (InputStream is = getApplicationContext().getAssets().open("issuers.json")) { - try (InputStreamReader reader = new InputStreamReader(is, StandardCharsets.UTF_8)) { - Type listType = new TypeToken>() { - }.getType(); - - - Issuer.fillIssuers(new Gson().fromJson(reader, listType)); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/App.kt b/app/src/main/java/com/tangem/App.kt new file mode 100644 index 0000000000..d226c4afb7 --- /dev/null +++ b/app/src/main/java/com/tangem/App.kt @@ -0,0 +1,81 @@ +package com.tangem + +import android.app.Application +import androidx.appcompat.app.AppCompatDelegate +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.tangem.di.DaggerNavigatorComponent +import com.tangem.di.DaggerNetworkComponent +import com.tangem.di.NavigatorComponent +import com.tangem.di.NetworkComponent +import com.tangem.tangemcard.android.data.Firmwares +import com.tangem.tangemcard.android.data.PINStorage +import com.tangem.tangemcard.data.Issuer +import com.tangem.tangemcard.data.external.FirmwaresDigestsProvider +import com.tangem.tangemcard.data.external.PINsProvider +import com.tangem.tangemserver.android.data.LocalStorage +import java.io.InputStreamReader +import java.nio.charset.StandardCharsets + +class App : Application() { + companion object { + @get:Synchronized + var instance: App? = null + private set + + init { + AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) + } + + var networkComponent: NetworkComponent? = null + private set + var navigatorComponent: NavigatorComponent? = null + private set + + lateinit var firmwaresStorage: FirmwaresDigestsProvider + lateinit var localStorage: LocalStorage + lateinit var pinStorage: PINsProvider + } + + override fun onCreate() { + super.onCreate() + // initialize the singleton + instance = this + + networkComponent = DaggerNetworkComponent.create() + navigatorComponent = buildNavigatorComponent() + + // common init + if (PINStorage.needInit()) + PINStorage.init(applicationContext) + + initIssuers() + + firmwaresStorage = Firmwares(applicationContext) + localStorage = LocalStorage(applicationContext) + pinStorage = PINStorage() + } + + private fun buildNavigatorComponent(): NavigatorComponent { + return DaggerNavigatorComponent.builder() + .build() + } + + private fun initIssuers() { + try { + applicationContext.assets.open("issuers.json").use { `is` -> + InputStreamReader(`is`, StandardCharsets.UTF_8).use { reader -> + val listType = object : TypeToken>() { + + }.type + + Issuer.fillIssuers(Gson().fromJson(reader, listType)) + } + } + } catch (e: Exception) { + e.printStackTrace() + } + + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/data/network/ServerApiCommon.java b/app/src/main/java/com/tangem/data/network/ServerApiCommon.java index df196fc762..0a7affb756 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiCommon.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiCommon.java @@ -36,7 +36,7 @@ public class ServerApiCommon { } public void requestBtcEstimatedFee(int blockCount) { - EstimatefeeApi estimatefeeApi = App.getNetworkComponent().getRetrofitEstimatefee().create(EstimatefeeApi.class); + EstimatefeeApi estimatefeeApi = App.Companion.getNetworkComponent().getRetrofitEstimatefee().create(EstimatefeeApi.class); Call call; switch (blockCount) { @@ -91,7 +91,7 @@ public class ServerApiCommon { @SuppressLint("CheckResult") public void requestRateInfo(String cryptoId) { - CoinmarketApi coinmarketApi = App.getNetworkComponent().getRetrofitCoinmarketcap().create(CoinmarketApi.class); + CoinmarketApi coinmarketApi = App.Companion.getNetworkComponent().getRetrofitCoinmarketcap().create(CoinmarketApi.class); coinmarketApi.getRateInfoList() .subscribeOn(Schedulers.io()) @@ -126,7 +126,7 @@ public class ServerApiCommon { } public void requestLastVersion() { - UpdateVersionApi updateVersionApi = App.getNetworkComponent().getRetrofitGithubusercontent().create(UpdateVersionApi.class); + UpdateVersionApi updateVersionApi = App.Companion.getNetworkComponent().getRetrofitGitHubUserContent().create(UpdateVersionApi.class); Call call = updateVersionApi.getLastVersion(); call.enqueue(new Callback() { diff --git a/app/src/main/java/com/tangem/data/network/ServerApiElectrum.java b/app/src/main/java/com/tangem/data/network/ServerApiElectrum.java index a3995a4c5c..a087030180 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiElectrum.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiElectrum.java @@ -230,7 +230,7 @@ public class ServerApiElectrum { private void doElectrumRequestTcp(ElectrumRequest electrumRequest, String host, int port) { try { - Socket socket = App.getNetworkComponent().getSocket(); + Socket socket = App.Companion.getNetworkComponent().getSocket(); socket.setSoTimeout(3000); Log.i(TAG, "Start process "+electrumRequest.getMethod()+" @ "+host + ":" + port); socket.connect(new InetSocketAddress(InetAddress.getByName(host), port)); @@ -252,18 +252,18 @@ public class ServerApiElectrum { if( (electrumRequest.getError()!=null && electrumRequest.getError().startsWith(ERROR_STARTS_WITH_CODE_32601)) ) { // method unknown error??? - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain)); electrumRequest.answerData=null; } } else { - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_answer)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_answer)); Log.i(TAG, ">> "); } } catch (ConnectException e) { //e.printStackTrace(); //responseListener.onFail(e.getMessage()); - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_connection)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_connection)); Log.e(TAG, "doElectrumRequestTcp " + electrumRequest.getMethod() + " ConnectException " + e.getMessage()); } finally { Log.i(TAG, "doElectrumRequestTcp " + electrumRequest.getMethod() + " socket.close"); @@ -274,13 +274,13 @@ public class ServerApiElectrum { { e.printStackTrace(); Log.e(TAG,"Can't close socket"); - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); } } } catch (IOException e) { //e.printStackTrace(); //responseListener.onFail(e.getMessage()); - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); Log.e(TAG, "doElectrumRequestTcp " + electrumRequest.getMethod() + " IOException " + e.getMessage()); } } @@ -341,17 +341,17 @@ public class ServerApiElectrum { if( (electrumRequest.getError()!=null && electrumRequest.getError().startsWith(ERROR_STARTS_WITH_CODE_32601)) ) { // method unknown error??? - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain)); electrumRequest.answerData=null; } } else { - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_answer)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_answer)); Log.i(TAG, ">> "); } } catch (ConnectException e) { e.printStackTrace(); - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_connection)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_no_connection)); Log.e(TAG, "doElectrumRequestSsl " + electrumRequest.getMethod() + " ConnectException " + e.getMessage()); } finally { Log.i(TAG, "doElectrumRequestSsl " + electrumRequest.getMethod() + " socket.close"); @@ -360,7 +360,7 @@ public class ServerApiElectrum { } catch (Exception e) { - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); e.printStackTrace(); Log.e(TAG, "Can't close ssl socket"); } @@ -368,11 +368,11 @@ public class ServerApiElectrum { } catch (IOException e) { e.printStackTrace(); - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain_communication_error)); Log.e(TAG, "doElectrumRequestSsl " + electrumRequest.getMethod() + " IOException " + e.getMessage()); } } catch (NoSuchAlgorithmException | KeyManagementException e) { - electrumRequest.setError(App.getInstance().getString(R.string.cannot_obtain_data_from_blockchain)); + electrumRequest.setError(App.Companion.getInstance().getString(R.string.cannot_obtain_data_from_blockchain)); Log.e(TAG, e.getMessage()); } } diff --git a/app/src/main/java/com/tangem/data/network/ServerApiInfura.java b/app/src/main/java/com/tangem/data/network/ServerApiInfura.java index 82b4b3d8e8..a477364f12 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiInfura.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiInfura.java @@ -52,7 +52,7 @@ public class ServerApiInfura { public void requestData(String method, int id, String wallet, String contract, String tx) { requestsCount++; - InfuraApi infuraApi = App.getNetworkComponent().getRetrofitInfura().create(InfuraApi.class); + InfuraApi infuraApi = App.Companion.getNetworkComponent().getRetrofitInfura().create(InfuraApi.class); InfuraBody infuraBody; switch (method) { diff --git a/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java b/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java index 2629c31cc1..0bcf5b7b4f 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java @@ -52,7 +52,7 @@ public class ServerApiRootstock { public void requestData(String method, int id, String wallet, String contract, String tx) { requestsCount++; - RootstockApi rootstockApi = App.getNetworkComponent().getRetrofitRootstock().create(RootstockApi.class); + RootstockApi rootstockApi = App.Companion.getNetworkComponent().getRetrofitRootstock().create(RootstockApi.class); InfuraBody infuraBody; switch (method) { diff --git a/app/src/main/java/com/tangem/di/NavigatorComponent.java b/app/src/main/java/com/tangem/di/NavigatorComponent.java deleted file mode 100644 index ceac2a440a..0000000000 --- a/app/src/main/java/com/tangem/di/NavigatorComponent.java +++ /dev/null @@ -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); - -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/di/NavigatorComponent.kt b/app/src/main/java/com/tangem/di/NavigatorComponent.kt new file mode 100644 index 0000000000..d4eff92dfe --- /dev/null +++ b/app/src/main/java/com/tangem/di/NavigatorComponent.kt @@ -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) + +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/di/NavigatorModule.java b/app/src/main/java/com/tangem/di/NavigatorModule.java deleted file mode 100644 index 718fc07003..0000000000 --- a/app/src/main/java/com/tangem/di/NavigatorModule.java +++ /dev/null @@ -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(); - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/di/NavigatorModule.kt b/app/src/main/java/com/tangem/di/NavigatorModule.kt new file mode 100644 index 0000000000..1eb397c3c6 --- /dev/null +++ b/app/src/main/java/com/tangem/di/NavigatorModule.kt @@ -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() + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/di/NetworkComponent.java b/app/src/main/java/com/tangem/di/NetworkComponent.java deleted file mode 100644 index a58b5e7e1a..0000000000 --- a/app/src/main/java/com/tangem/di/NetworkComponent.java +++ /dev/null @@ -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(); - -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/di/NetworkComponent.kt b/app/src/main/java/com/tangem/di/NetworkComponent.kt new file mode 100644 index 0000000000..7621faf5a2 --- /dev/null +++ b/app/src/main/java/com/tangem/di/NetworkComponent.kt @@ -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 + +} \ 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 deleted file mode 100644 index d540f79d73..0000000000 --- a/app/src/main/java/com/tangem/di/NetworkModule.java +++ /dev/null @@ -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; - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/di/NetworkModule.kt b/app/src/main/java/com/tangem/di/NetworkModule.kt new file mode 100644 index 0000000000..fb29acccbd --- /dev/null +++ b/app/src/main/java/com/tangem/di/NetworkModule.kt @@ -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 + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt index 0cd4d062ba..2a87fbdf71 100644 --- a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt @@ -62,7 +62,7 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card super.onCreate(savedInstanceState) setContentView(R.layout.activity_empty_wallet) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) nfcManager = NfcManager(this, this) lifecycle.addObserver(NfcLifecycleObserver(nfcManager)) 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 9231929c75..44fffccc9a 100644 --- a/app/src/main/java/com/tangem/presentation/activity/LoadedWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/LoadedWalletActivity.kt @@ -32,7 +32,7 @@ class LoadedWalletActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_loaded_wallet) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) if (intent.extras!!.containsKey(NfcAdapter.EXTRA_TAG)) { val tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG) diff --git a/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt b/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt index c7b2d40220..acb03e8626 100644 --- a/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/LogoActivity.kt @@ -31,7 +31,7 @@ class LogoActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_logo) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) ivLogo.setOnClickListener { hide() } } diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt index 9be5713ee9..11ab269e93 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -82,7 +82,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt index 018fa6fa20..820a1715cf 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt @@ -42,7 +42,7 @@ class PrepareCryptonitOtherApiWithdrawalActivity : AppCompatActivity(), NfcAdapt super.onCreate(savedInstanceState) setContentView(R.layout.activity_prepare_cryptonit_other_api_withdrawal) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) nfcManager = NfcManager(this, this) lifecycle.addObserver(NfcLifecycleObserver(nfcManager)) diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt index 5eef701c62..73f365c799 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt @@ -52,7 +52,7 @@ class PrepareKrakenWithdrawalActivity : AppCompatActivity(), NfcAdapter.ReaderCa super.onCreate(savedInstanceState) setContentView(R.layout.activity_prepare_kraken_withdrawal) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) ctx = TangemContext.loadFromBundle(this, intent.extras) diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt index 2a5cd99068..758ea7ae85 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt @@ -47,7 +47,7 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac super.onCreate(savedInstanceState) setContentView(R.layout.activity_prepare_transaction) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) nfcManager = NfcManager(this, this) lifecycle.addObserver(NfcLifecycleObserver(nfcManager)) diff --git a/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt index e9961fe73e..dc8bbb7665 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt @@ -61,7 +61,7 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc super.onCreate(savedInstanceState) setContentView(R.layout.activity_purge) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT diff --git a/app/src/main/java/com/tangem/presentation/activity/VerifyCardActivity.kt b/app/src/main/java/com/tangem/presentation/activity/VerifyCardActivity.kt index 1089d8ea68..976b1bb083 100644 --- a/app/src/main/java/com/tangem/presentation/activity/VerifyCardActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/VerifyCardActivity.kt @@ -29,7 +29,7 @@ class VerifyCardActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_verify_card) - App.getNavigatorComponent().inject(this) + App.navigatorComponent?.inject(this) } override fun onBackPressed() {