diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt index 4ba3c05cc9be759e19904984b4e9e3f867da6912..ec2727636503936b5a52c7c9eced97df7d722447 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt @@ -27,8 +27,10 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory import org.briarproject.bramble.plugin.tcp.LanTcpPluginFactory import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory -import org.briarproject.bramble.util.OsUtils -import java.util.Collections +import org.briarproject.bramble.plugin.tor.WindowsTorPluginFactory +import org.briarproject.bramble.util.OsUtils.isLinux +import org.briarproject.bramble.util.OsUtils.isMac +import org.briarproject.bramble.util.OsUtils.isWindows import javax.inject.Singleton @Module( @@ -58,12 +60,19 @@ internal class DesktopModule { } @Provides - internal fun providePluginConfig(tor: UnixTorPluginFactory, lan: LanTcpPluginFactory): PluginConfig { - val duplex: List<DuplexPluginFactory> = - if (OsUtils.isLinux() || OsUtils.isMac()) listOf(tor, lan) else listOf(lan) + internal fun providePluginConfig( + unixTor: UnixTorPluginFactory, + winTor: WindowsTorPluginFactory, + lan: LanTcpPluginFactory + ): PluginConfig { + val duplex: List<DuplexPluginFactory> = when { + isLinux() || isMac() -> listOf(unixTor, lan) + isWindows() -> listOf(winTor, lan) + else -> listOf(lan) + } return object : PluginConfig { override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex - override fun getSimplexFactories(): Collection<SimplexPluginFactory> = Collections.emptyList() + override fun getSimplexFactories(): Collection<SimplexPluginFactory> = emptyList() override fun shouldPoll(): Boolean = true override fun getTransportPreferences(): Map<TransportId, List<TransportId>> = emptyMap() } diff --git a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt index 25f45d2f84dc4e58018eadc58bd9e68a0e670347..0d181915e4e94bbb34b495077e754449c904653c 100644 --- a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt +++ b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt @@ -27,12 +27,14 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory import org.briarproject.bramble.plugin.tcp.TestLanTcpPluginFactory import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory -import org.briarproject.bramble.util.OsUtils +import org.briarproject.bramble.plugin.tor.WindowsTorPluginFactory +import org.briarproject.bramble.util.OsUtils.isLinux +import org.briarproject.bramble.util.OsUtils.isMac +import org.briarproject.bramble.util.OsUtils.isWindows import org.briarproject.briar.api.test.TestAvatarCreator import org.briarproject.briar.desktop.testdata.DeterministicTestDataCreator import org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl import org.briarproject.briar.desktop.testdata.TestAvatarCreatorImpl -import java.util.Collections import javax.inject.Singleton @Module( @@ -72,12 +74,19 @@ internal class DesktopTestModule { testDataCreator @Provides - internal fun providePluginConfig(tor: UnixTorPluginFactory, lan: TestLanTcpPluginFactory): PluginConfig { - val duplex: List<DuplexPluginFactory> = - if (OsUtils.isLinux() || OsUtils.isMac()) listOf(tor, lan) else listOf(lan) + internal fun providePluginConfig( + unixTor: UnixTorPluginFactory, + winTor: WindowsTorPluginFactory, + lan: TestLanTcpPluginFactory + ): PluginConfig { + val duplex: List<DuplexPluginFactory> = when { + isLinux() || isMac() -> listOf(unixTor, lan) + isWindows() -> listOf(winTor, lan) + else -> listOf(lan) + } return object : PluginConfig { override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex - override fun getSimplexFactories(): Collection<SimplexPluginFactory> = Collections.emptyList() + override fun getSimplexFactories(): Collection<SimplexPluginFactory> = emptyList() override fun shouldPoll(): Boolean = true override fun getTransportPreferences(): Map<TransportId, List<TransportId>> = emptyMap() }