diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/WireguardKeyFragment.kt | 17 | ||||
| -rw-r--r-- | android/src/main/res/layout/wireguard_key.xml | 9 | ||||
| -rw-r--r-- | android/src/main/res/values/strings.xml | 1 |
3 files changed, 23 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/WireguardKeyFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/WireguardKeyFragment.kt index b8ce500d3c..0c3eed1a4f 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/WireguardKeyFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/WireguardKeyFragment.kt @@ -11,7 +11,6 @@ import android.net.Uri import android.os.Bundle import android.support.v4.app.Fragment import android.util.Base64 -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -20,6 +19,9 @@ import android.widget.ProgressBar import android.widget.TextView import android.widget.Toast +import org.joda.time.DateTime +import org.joda.time.format.DateTimeFormat + import net.mullvad.mullvadvpn.dataproxy.ConnectionProxy import net.mullvad.mullvadvpn.dataproxy.KeyStatusListener import net.mullvad.mullvadvpn.model.KeygenFailure @@ -27,6 +29,9 @@ import net.mullvad.mullvadvpn.model.KeygenEvent import net.mullvad.mullvadvpn.model.TunnelState import net.mullvad.mullvadvpn.util.SmartDeferred +val RFC3339_FORMAT = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss.SSSSSSSSSS z") +val KEY_AGE_FORMAT = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm") + class WireguardKeyFragment : Fragment() { private var currentJob: Job? = null private var updateViewsJob: Job? = null @@ -40,6 +45,7 @@ class WireguardKeyFragment : Fragment() { private var validatingKey = false private lateinit var publicKey: TextView + private lateinit var publicKeyAge: TextView private lateinit var statusMessage: TextView private lateinit var visitWebsiteView: View private lateinit var generateButton: Button @@ -72,6 +78,7 @@ class WireguardKeyFragment : Fragment() { generateSpinner = view.findViewById<ProgressBar>(R.id.wg_generate_key_spinner) verifyButton = view.findViewById<Button>(R.id.wg_verify_key_button) verifySpinner = view.findViewById<ProgressBar>(R.id.wg_verify_key_spinner) + publicKeyAge = view.findViewById<TextView>(R.id.wireguard_key_age) visitWebsiteView.visibility = View.VISIBLE visitWebsiteView.setOnClickListener { @@ -100,9 +107,11 @@ class WireguardKeyFragment : Fragment() { } is KeygenEvent.NewKey -> { - val publicKeyString = Base64.encodeToString(keyState.publicKey.key, Base64.DEFAULT) + val key = keyState.publicKey + val publicKeyString = Base64.encodeToString(key.key, Base64.NO_WRAP) publicKey.visibility = View.VISIBLE publicKey.setText(publicKeyString) + publicKeyAge.setText(formatKeyDateCreated(key.dateCreated)) if (keyState.verified != null) { if (keyState.verified) { @@ -283,4 +292,8 @@ class WireguardKeyFragment : Fragment() { updateViewsJob = updateViewJob() } } + + private fun formatKeyDateCreated(rfc3339: String): String { + return parentActivity.getString(R.string.wireguard_key_age) + " " + KEY_AGE_FORMAT.print(DateTime.parse(rfc3339, RFC3339_FORMAT)) + } } diff --git a/android/src/main/res/layout/wireguard_key.xml b/android/src/main/res/layout/wireguard_key.xml index da2bb39207..e86d59aefb 100644 --- a/android/src/main/res/layout/wireguard_key.xml +++ b/android/src/main/res/layout/wireguard_key.xml @@ -69,12 +69,17 @@ android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" - android:paddingTop="3dp" android:textAllCaps="false" android:textColor="@color/white60" android:textSize="14sp" android:textStyle="bold" /> - + <TextView + android:id="@+id/wireguard_key_age" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingVertical="2dp" + android:textSize="14sp" + android:gravity="center"/> <TextView android:id="@+id/wireguard_key_status" android:layout_width="wrap_content" diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index 0ddba635d5..a2e017b962 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -118,6 +118,7 @@ <string name="wireguard_generate_key">Generate key</string> <string name="wireguard_replace_key">Replace key</string> <string name="wireguard_manage_keys">Manage keys</string> + <string name="wireguard_key_age">Key generated on</string> <string name="wireguard_key_connectivity"> Connectivity required to manage your key. </string> |
