summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-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() ?: ""
+ }
+}