summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-30 16:48:54 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-31 15:32:33 +0000
commit9f1d9d710011eff2ea6c5478c6845821574d944c (patch)
treef5631d0f31820301637facc225ca8a975854c48e /android/src
parentf644efca9206e64effe4b3d08223acea176e25f3 (diff)
downloadmullvadvpn-9f1d9d710011eff2ea6c5478c6845821574d944c.tar.xz
mullvadvpn-9f1d9d710011eff2ea6c5478c6845821574d944c.zip
Update settings to show when there's a new version
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt13
-rw-r--r--android/src/main/res/drawable/icon_alert.xml12
-rw-r--r--android/src/main/res/layout/settings.xml16
-rw-r--r--android/src/main/res/values/strings.xml1
4 files changed, 42 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
index 967e91b6f9..f55426d811 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
@@ -20,7 +20,9 @@ import android.widget.TextView
class SettingsFragment : Fragment() {
private lateinit var parentActivity: MainActivity
private lateinit var remainingTimeLabel: RemainingTimeLabel
+ private lateinit var appVersionWarning: View
private lateinit var appVersionLabel: TextView
+ private lateinit var appVersionFooter: View
private var showCurrentVersionJob: Job? = null
@@ -56,7 +58,9 @@ class SettingsFragment : Fragment() {
}
remainingTimeLabel = RemainingTimeLabel(parentActivity, view)
+ appVersionWarning = view.findViewById(R.id.app_version_warning)
appVersionLabel = view.findViewById<TextView>(R.id.app_version_label)
+ appVersionFooter = view.findViewById(R.id.app_version_footer)
showCurrentVersionJob = showCurrentVersion()
@@ -100,7 +104,16 @@ class SettingsFragment : Fragment() {
private fun showCurrentVersion() = GlobalScope.launch(Dispatchers.Main) {
val version = parentActivity.currentVersion.await()
+ val versionInfoCache = parentActivity.appVersionInfoCache
appVersionLabel.setText(version)
+
+ if (versionInfoCache.isLatest && versionInfoCache.isSupported) {
+ appVersionWarning.visibility = View.GONE
+ appVersionFooter.visibility = View.GONE
+ } else {
+ appVersionWarning.visibility = View.VISIBLE
+ appVersionFooter.visibility = View.VISIBLE
+ }
}
}
diff --git a/android/src/main/res/drawable/icon_alert.xml b/android/src/main/res/drawable/icon_alert.xml
new file mode 100644
index 0000000000..d07f49427b
--- /dev/null
+++ b/android/src/main/res/drawable/icon_alert.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ >
+ <path android:fillColor="#D0021B"
+ android:pathData="m12 24c-6.627417 0-12-5.372583-12-12s5.372583-12 12-12 12 5.372583 12 12-5.372583 12-12 12zm0-19.5c-.8284271 0-1.5.67157288-1.5 1.5v7.5c0 .8284271.6715729 1.5 1.5 1.5s1.5-.6715729 1.5-1.5v-7.5c0-.82842712-.6715729-1.5-1.5-1.5zm0 12c-.8284271 0-1.5.6715729-1.5 1.5s.6715729 1.5 1.5 1.5 1.5-.6715729 1.5-1.5-.6715729-1.5-1.5-1.5z"
+ />
+</vector>
diff --git a/android/src/main/res/layout/settings.xml b/android/src/main/res/layout/settings.xml
index fd86678a75..b78853979a 100644
--- a/android/src/main/res/layout/settings.xml
+++ b/android/src/main/res/layout/settings.xml
@@ -73,6 +73,13 @@
android:clickable="true"
android:gravity="center"
>
+ <ImageView android:id="@+id/app_version_warning"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:paddingLeft="8dp"
+ android:src="@drawable/icon_alert"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -104,6 +111,15 @@
android:src="@drawable/icon_extlink"
/>
</LinearLayout>
+ <TextView android:id="@+id/app_version_footer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="8dp"
+ android:paddingHorizontal="24dp"
+ android:textColor="@color/white60"
+ android:textSize="13sp"
+ android:text="@string/update_available"
+ />
<LinearLayout android:id="@+id/report_a_problem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml
index fbacb36a81..5dbdf52934 100644
--- a/android/src/main/res/values/strings.xml
+++ b/android/src/main/res/values/strings.xml
@@ -17,6 +17,7 @@
<string name="less_than_a_day_left">less than a day left</string>
<string name="out_of_time">Out of time</string>
<string name="app_version">App version</string>
+ <string name="update_available">Update available, download to remain safe.</string>
<string name="report_a_problem">Report a problem</string>
<string name="quit">Quit</string>