diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-08 03:12:49 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-13 11:36:40 +0000 |
| commit | 935b41bdc99b0e7bd94762242d651db794ae2bae (patch) | |
| tree | 4f1f2bf9420a976ca94603feebf71a023f002874 /android/src | |
| parent | b8ddc651a78ac3b8507d663760253e50f227f26e (diff) | |
| download | mullvadvpn-935b41bdc99b0e7bd94762242d651db794ae2bae.tar.xz mullvadvpn-935b41bdc99b0e7bd94762242d651db794ae2bae.zip | |
Create UI-side `ServiceConnection` class
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt new file mode 100644 index 0000000000..7a6f93d2c3 --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt @@ -0,0 +1,38 @@ +package net.mullvad.mullvadvpn.ui + +import kotlinx.coroutines.CompletableDeferred +import net.mullvad.mullvadvpn.dataproxy.AccountCache +import net.mullvad.mullvadvpn.dataproxy.AppVersionInfoCache +import net.mullvad.mullvadvpn.dataproxy.KeyStatusListener +import net.mullvad.mullvadvpn.dataproxy.LocationInfoCache +import net.mullvad.mullvadvpn.dataproxy.RelayListListener +import net.mullvad.mullvadvpn.dataproxy.SettingsListener +import net.mullvad.mullvadvpn.dataproxy.WwwAuthTokenRetriever +import net.mullvad.mullvadvpn.service.MullvadDaemon +import net.mullvad.mullvadvpn.service.ServiceInstance +import net.mullvad.talpid.ConnectivityListener + +class ServiceConnection(private val service: ServiceInstance, val mainActivity: MainActivity) { + private val asyncDaemon = CompletableDeferred<MullvadDaemon>() + private val asyncConnectivityListener = CompletableDeferred<ConnectivityListener>() + + val daemon = service.daemon + val connectionProxy = service.connectionProxy + val connectivityListener = service.connectivityListener + + val appVersionInfoCache = AppVersionInfoCache(mainActivity, asyncDaemon) + val keyStatusListener = KeyStatusListener(asyncDaemon) + val settingsListener = SettingsListener(asyncDaemon) + val accountCache = AccountCache(settingsListener, asyncDaemon) + var relayListListener = RelayListListener(asyncDaemon, settingsListener) + val locationInfoCache = + LocationInfoCache(asyncDaemon, asyncConnectivityListener, relayListListener) + val wwwAuthTokenRetriever = WwwAuthTokenRetriever(asyncDaemon) + + init { + asyncDaemon.complete(daemon) + asyncConnectivityListener.complete(connectivityListener) + + connectionProxy.mainActivity = mainActivity + } +} |
