summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-03-30 23:49:49 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-04-27 16:21:51 +0000
commit777c02df0194a175f346f5918615bc139bd77e3c (patch)
treed52555b2c77f662a5668434766a54c57fe6c4f86 /android/src/main
parent8b08d99a76853ea3e992e7566c6c29ac4c687e53 (diff)
downloadmullvadvpn-777c02df0194a175f346f5918615bc139bd77e3c.tar.xz
mullvadvpn-777c02df0194a175f346f5918615bc139bd77e3c.zip
Add spinners to WireGuard key information
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/TimeSinceLabel.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt20
-rw-r--r--android/src/main/res/layout/wireguard_key.xml46
3 files changed, 59 insertions, 13 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/TimeSinceLabel.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/TimeSinceLabel.kt
index 2fa2c4f2be..8d2e0aa2f3 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/TimeSinceLabel.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/TimeSinceLabel.kt
@@ -22,6 +22,12 @@ class TimeSinceLabel(val context: Context, val view: View) {
updateLabel()
}
+ var visibility
+ get() = label.visibility
+ set(value) {
+ label.visibility = value
+ }
+
private fun updateLabel() {
val instant = timeInstant
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 2e678e2d33..0a8f341929 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt
@@ -50,7 +50,10 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre
private lateinit var publicKey: TextView
private lateinit var publicKeyAge: TimeSinceLabel
+ private lateinit var publicKeyContainer: View
private lateinit var statusMessage: TextView
+ private lateinit var publicKeySpinner: View
+ private lateinit var timeSinceSpinner: View
private lateinit var verifyingKeySpinner: View
private lateinit var manageKeysButton: Button
private lateinit var generateKeyButton: android.widget.Button
@@ -84,7 +87,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre
publicKeyAge = TimeSinceLabel(parentActivity, view)
- view.findViewById<View>(R.id.public_key_container).apply {
+ publicKeyContainer = view.findViewById<View>(R.id.public_key_container).apply {
setOnClickListener {
copyPublicKeyToClipboard()
}
@@ -102,6 +105,8 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre
}
}
+ publicKeySpinner = view.findViewById(R.id.public_key_spinner)
+ timeSinceSpinner = view.findViewById(R.id.time_since_spinner)
verifyingKeySpinner = view.findViewById(R.id.verifying_key_spinner)
val keyUrl = parentActivity.getString(R.string.wg_key_url)
@@ -252,7 +257,20 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre
updateViews()
currentJob = GlobalScope.launch(Dispatchers.Main) {
+ publicKeyContainer.setEnabled(false)
+ publicKey.visibility = View.INVISIBLE
+ publicKeyAge.visibility = View.INVISIBLE
+ timeSinceSpinner.visibility = View.VISIBLE
+ publicKeySpinner.visibility = View.VISIBLE
+
keyStatusListener.generateKey().join()
+
+ publicKeySpinner.visibility = View.INVISIBLE
+ timeSinceSpinner.visibility = View.INVISIBLE
+ publicKeyAge.visibility = View.VISIBLE
+ publicKey.visibility = View.VISIBLE
+ publicKeyContainer.setEnabled(true)
+
generatingKey = false
updateViews()
}
diff --git a/android/src/main/res/layout/wireguard_key.xml b/android/src/main/res/layout/wireguard_key.xml
index 604c4f2f2a..2afacd8ada 100644
--- a/android/src/main/res/layout/wireguard_key.xml
+++ b/android/src/main/res/layout/wireguard_key.xml
@@ -52,12 +52,23 @@
android:textColor="@color/white60"
android:textSize="13sp"
android:textStyle="bold" />
- <TextView android:id="@+id/wireguard_public_key"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@color/white"
- android:textSize="16sp"
- android:textStyle="bold" />
+ <FrameLayout android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <TextView android:id="@+id/wireguard_public_key"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/white"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+ <ProgressBar android:id="@+id/public_key_spinner"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:indeterminate="true"
+ android:indeterminateOnly="true"
+ android:indeterminateDuration="600"
+ android:indeterminateDrawable="@drawable/icon_spinner"
+ android:visibility="gone" />
+ </FrameLayout>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -71,12 +82,23 @@
android:textSize="13sp"
android:textStyle="bold"
android:text="@string/wireguard_key_generated" />
- <TextView android:id="@+id/time_since"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@color/white"
- android:textSize="16sp"
- android:textStyle="bold" />
+ <FrameLayout android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <TextView android:id="@+id/time_since"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/white"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+ <ProgressBar android:id="@+id/time_since_spinner"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:indeterminate="true"
+ android:indeterminateOnly="true"
+ android:indeterminateDuration="600"
+ android:indeterminateDrawable="@drawable/icon_spinner"
+ android:visibility="gone" />
+ </FrameLayout>
</LinearLayout>
<FrameLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"