summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-10-10 21:48:04 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-10-24 19:38:54 +0100
commit7443bca440851d1daeed19ed91730a0ed86eff34 (patch)
tree66f88a28327fc1dbcbeec6d9528a1dc1e84c87e3 /android
parentf6b3df04efa0aa958c2b95c884c4a121b34b8fc9 (diff)
downloadmullvadvpn-7443bca440851d1daeed19ed91730a0ed86eff34.tar.xz
mullvadvpn-7443bca440851d1daeed19ed91730a0ed86eff34.zip
Add WwwAuthTokenRetriever
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/WwwAuthTokenRetriever.kt22
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() ?: ""
+ }
+}