diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-10-10 21:48:04 +0100 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-10-24 19:38:54 +0100 |
| commit | 7443bca440851d1daeed19ed91730a0ed86eff34 (patch) | |
| tree | 66f88a28327fc1dbcbeec6d9528a1dc1e84c87e3 /android/src | |
| parent | f6b3df04efa0aa958c2b95c884c4a121b34b8fc9 (diff) | |
| download | mullvadvpn-7443bca440851d1daeed19ed91730a0ed86eff34.tar.xz mullvadvpn-7443bca440851d1daeed19ed91730a0ed86eff34.zip | |
Add WwwAuthTokenRetriever
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/WwwAuthTokenRetriever.kt | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/WwwAuthTokenRetriever.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/WwwAuthTokenRetriever.kt new file mode 100644 index 0000000000..a2e1d6d79b --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/WwwAuthTokenRetriever.kt @@ -0,0 +1,22 @@ +package net.mullvad.mullvadvpn.dataproxy + +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import net.mullvad.mullvadvpn.MullvadDaemon + +class WwwAuthTokenRetriever(val asyncDaemon: Deferred<MullvadDaemon>) { + private var daemon: MullvadDaemon? = null + private val setUpJob = setUp() + + private fun setUp() = GlobalScope.launch(Dispatchers.Default) { + daemon = asyncDaemon.await() + } + + suspend fun getAuthToken(): String { + setUpJob.join() + // returning an empty string is valid in case of any failures + return daemon?.getWwwAuthToken() ?: "" + } +} |
