Skip to content

Commit df9760d

Browse files
committed
- setup localhost facade indicating emulator or not
1 parent 594e551 commit df9760d

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

androidNode/src/androidMain/kotlin/network/bisq/mobile/android/node/MainApplication.kt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ import android.os.Process
66
import bisq.common.facades.FacadeProvider
77
import bisq.common.facades.android.AndroidGuavaFacade
88
import bisq.common.facades.android.AndroidJdkFacade
9-
import bisq.common.network.AndroidEmulatorLocalhostFacade
109
import network.bisq.mobile.android.node.di.androidNodeModule
1110
import network.bisq.mobile.domain.di.domainModule
1211
import network.bisq.mobile.domain.di.serviceModule
12+
import network.bisq.mobile.domain.utils.Logging
1313
import network.bisq.mobile.presentation.di.presentationModule
1414
import org.bouncycastle.jce.provider.BouncyCastleProvider
1515
import org.koin.android.ext.koin.androidContext
1616
import org.koin.core.context.startKoin
1717
import org.koin.core.context.stopKoin
1818
import java.security.Security
1919

20-
class MainApplication : Application() {
20+
class MainApplication : Application(), Logging {
2121
companion object {
2222
private val nodeModules = listOf(domainModule, serviceModule, presentationModule, androidNodeModule)
2323

@@ -38,13 +38,28 @@ class MainApplication : Application() {
3838
}
3939

4040
private fun setupBisqCoreStatics() {
41-
FacadeProvider.setLocalhostFacade(AndroidEmulatorLocalhostFacade())
41+
// FacadeProvider.setLocalhostFacade(AndroidEmulatorLocalhostFacade())
42+
val isEmulator = isEmulator()
43+
FacadeProvider.setIsAndroidDevice(true)
44+
FacadeProvider.setIsAndroidEmulator(isEmulator)
4245
FacadeProvider.setJdkFacade(AndroidJdkFacade(Process.myPid()))
4346
FacadeProvider.setGuavaFacade(AndroidGuavaFacade())
4447

4548
// Androids default BC version does not support all algorithms we need, thus we remove
4649
// it and add our BC provider
4750
Security.removeProvider("BC")
4851
Security.addProvider(BouncyCastleProvider())
52+
log.d { "Configured bisq2 for Android${if (isEmulator) " emulator" else ""}" }
53+
}
54+
55+
private fun isEmulator(): Boolean {
56+
return android.os.Build.FINGERPRINT.startsWith("generic")
57+
|| android.os.Build.FINGERPRINT.startsWith("unknown")
58+
|| android.os.Build.MODEL.contains("google_sdk")
59+
|| android.os.Build.MODEL.contains("Emulator")
60+
|| android.os.Build.MODEL.contains("Android SDK built for x86")
61+
|| android.os.Build.MANUFACTURER.contains("Genymotion")
62+
|| (android.os.Build.BRAND.startsWith("generic") && android.os.Build.DEVICE.startsWith("generic"))
63+
|| "google_sdk".equals(android.os.Build.PRODUCT);
4964
}
5065
}

0 commit comments

Comments
 (0)