diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-30 23:49:49 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-04-27 16:21:51 +0000 |
| commit | 777c02df0194a175f346f5918615bc139bd77e3c (patch) | |
| tree | d52555b2c77f662a5668434766a54c57fe6c4f86 /android | |
| parent | 8b08d99a76853ea3e992e7566c6c29ac4c687e53 (diff) | |
| download | mullvadvpn-777c02df0194a175f346f5918615bc139bd77e3c.tar.xz mullvadvpn-777c02df0194a175f346f5918615bc139bd77e3c.zip | |
Add spinners to WireGuard key information
Diffstat (limited to 'android')
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" |
