summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-09-07 15:26:48 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-09-07 15:26:48 +0100
commit2a478d7674c8754477d02dc8d221d7466e95702b (patch)
tree3a9016551bc6789c44e89374627e3c178964e55e /android/src/main
parent70de9106fb2be220e47458d7843acf64747bc1b0 (diff)
parent88d67bd50bca6e25a3c18c0c855b1991fde865ac (diff)
downloadmullvadvpn-2a478d7674c8754477d02dc8d221d7466e95702b.tar.xz
mullvadvpn-2a478d7674c8754477d02dc8d221d7466e95702b.zip
Merge branch 'android-show-key-age'
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/WireguardKeyFragment.kt17
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt2
-rw-r--r--android/src/main/res/layout/wireguard_key.xml9
-rw-r--r--android/src/main/res/values/strings.xml1
4 files changed, 24 insertions, 5 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/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
index 30408c4a9b..1931f40ec7 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
@@ -1,3 +1,3 @@
package net.mullvad.mullvadvpn.model
-data class PublicKey(val key: ByteArray)
+data class PublicKey(val key: ByteArray, val dateCreated: String)
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>