diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-04-03 18:36:59 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-04-27 16:21:52 +0000 |
| commit | e70831b7fa9e020977f9c882c1391c1e508b57fe (patch) | |
| tree | 725dc38d29849c449092994e13b2972c73a1ac74 /android/src/main | |
| parent | 6944f2362db6b6c85d2d1bb8f41d95f26f109044 (diff) | |
| download | mullvadvpn-e70831b7fa9e020977f9c882c1391c1e508b57fe.tar.xz mullvadvpn-e70831b7fa9e020977f9c882c1391c1e508b57fe.zip | |
Use `UrlButton` in WireGuard Key screen
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt | 34 | ||||
| -rw-r--r-- | android/src/main/res/layout/wireguard_key.xml | 20 |
2 files changed, 15 insertions, 39 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt index c99101df0b..e910d75d4f 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt @@ -1,19 +1,13 @@ package net.mullvad.mullvadvpn.ui import android.content.Context -import android.content.Intent -import android.net.Uri import android.os.Bundle import android.util.Base64 import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.Job import kotlinx.coroutines.delay -import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.model.KeygenEvent import net.mullvad.mullvadvpn.model.KeygenFailure @@ -21,6 +15,7 @@ import net.mullvad.mullvadvpn.model.TunnelState import net.mullvad.mullvadvpn.ui.widget.Button import net.mullvad.mullvadvpn.ui.widget.CopyableInformationView import net.mullvad.mullvadvpn.ui.widget.InformationView +import net.mullvad.mullvadvpn.ui.widget.UrlButton import net.mullvad.mullvadvpn.util.JobTracker import net.mullvad.mullvadvpn.util.TimeAgoFormatter import org.joda.time.DateTime @@ -42,7 +37,6 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre private var tunnelStateListener: Int? = null private var tunnelState: TunnelState = TunnelState.Disconnected() - private lateinit var urlController: BlockingController private var actionState: ActionState = ActionState.Idle(false) set(value) { @@ -87,7 +81,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre private lateinit var keyAge: InformationView private lateinit var statusMessage: TextView private lateinit var verifyingKeySpinner: View - private lateinit var manageKeysButton: Button + private lateinit var manageKeysButton: UrlButton private lateinit var generateKeyButton: android.widget.Button private lateinit var verifyKeyButton: Button @@ -109,7 +103,6 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre } statusMessage = view.findViewById<TextView>(R.id.wireguard_key_status) - manageKeysButton = view.findViewById(R.id.manage_keys) publicKey = view.findViewById(R.id.public_key) keyAge = view.findViewById(R.id.key_age) @@ -127,26 +120,8 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre verifyingKeySpinner = view.findViewById(R.id.verifying_key_spinner) - val keyUrl = parentActivity.getString(R.string.wg_key_url) - - urlController = BlockingController( - object : BlockableView { - override fun setEnabled(enabled: Boolean) { - manageKeysButton.setEnabled(enabled && !(tunnelState is TunnelState.Error)) - } - - override fun onClick(): Job { - return GlobalScope.launch(Dispatchers.Default) { - val token = daemon.getWwwAuthToken() - val intent = Intent(Intent.ACTION_VIEW, - Uri.parse(keyUrl + "?token=" + token)) - startActivity(intent) - } - } - } - ) - manageKeysButton.setOnClickListener { - urlController.action() + manageKeysButton = view.findViewById<UrlButton>(R.id.manage_keys).apply { + prepare(daemon, jobTracker) } return view @@ -184,7 +159,6 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre } keyStatusListener.onKeyStatusChange = null - urlController.onPause() jobTracker.cancelAllJobs() } diff --git a/android/src/main/res/layout/wireguard_key.xml b/android/src/main/res/layout/wireguard_key.xml index 20e6250f49..c29300393e 100644 --- a/android/src/main/res/layout/wireguard_key.xml +++ b/android/src/main/res/layout/wireguard_key.xml @@ -92,13 +92,15 @@ android:paddingHorizontal="8dp" android:text="@string/wireguard_verify_key" style="@style/BlueButton" /> - <net.mullvad.mullvadvpn.ui.widget.Button android:id="@+id/manage_keys" - android:layout_weight="0" - android:layout_marginTop="24dp" - android:layout_marginBottom="24dp" - android:layout_marginHorizontal="24dp" - android:paddingHorizontal="8dp" - android:text="@string/wireguard_manage_keys" - android:drawableRight="@drawable/icon_extlink" - style="@style/BlueButton" /> + <net.mullvad.mullvadvpn.ui.widget.UrlButton android:id="@+id/manage_keys" + android:layout_weight="0" + android:layout_marginTop="24dp" + android:layout_marginBottom="24dp" + android:layout_marginHorizontal="24dp" + android:paddingHorizontal="8dp" + android:text="@string/wireguard_manage_keys" + android:drawableRight="@drawable/icon_extlink" + mullvad:url="@string/wg_key_url" + mullvad:withToken="true" + style="@style/BlueButton" /> </LinearLayout> |
