summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-07-24 14:13:21 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-07-28 13:52:59 +0000
commit4428e1fe3226924e5b879ddcff90ef95e22714ca (patch)
treecc85f4a6f229e35d29848364ae33248d18caad4a /android/src
parentd8bb6f1f881c6fffe1133ff7f1bf65229bff424a (diff)
downloadmullvadvpn-4428e1fe3226924e5b879ddcff90ef95e22714ca.tar.xz
mullvadvpn-4428e1fe3226924e5b879ddcff90ef95e22714ca.zip
Use `AppVersionCell` widget
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt34
-rw-r--r--android/src/main/res/layout/settings.xml53
2 files changed, 12 insertions, 75 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt
index 970b3b7639..f0f4483e16 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt
@@ -1,25 +1,21 @@
package net.mullvad.mullvadvpn.ui
-import android.content.Intent
-import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.ImageButton
-import android.widget.TextView
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.dataproxy.AppVersionInfoCache
import net.mullvad.mullvadvpn.service.AccountCache
import net.mullvad.mullvadvpn.ui.widget.AccountCell
+import net.mullvad.mullvadvpn.ui.widget.AppVersionCell
import net.mullvad.mullvadvpn.ui.widget.NavigateCell
class SettingsFragment : ServiceAwareFragment() {
private lateinit var accountMenu: AccountCell
- private lateinit var appVersionWarning: View
- private lateinit var appVersionLabel: TextView
- private lateinit var appVersionFooter: View
+ private lateinit var appVersionMenu: AppVersionCell
private lateinit var preferencesMenu: View
private lateinit var advancedMenu: View
private lateinit var titleController: CollapsibleTitleController
@@ -70,17 +66,12 @@ class SettingsFragment : ServiceAwareFragment() {
targetFragment = AdvancedFragment::class
}
- view.findViewById<View>(R.id.app_version).setOnClickListener {
- openLink(R.string.download_url)
- }
-
view.findViewById<NavigateCell>(R.id.report_a_problem).apply {
targetFragment = ProblemReportFragment::class
}
- 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)
+ appVersionMenu = view.findViewById<AppVersionCell>(R.id.app_version)
+
titleController = CollapsibleTitleController(view)
return view
@@ -134,12 +125,6 @@ class SettingsFragment : ServiceAwareFragment() {
}
}
- private fun openLink(urlResourceId: Int) {
- val intent = Intent(Intent.ACTION_VIEW, Uri.parse(parentActivity.getString(urlResourceId)))
-
- startActivity(intent)
- }
-
private fun updateLoggedInStatus(loggedIn: Boolean) {
val visibility = if (loggedIn) {
View.VISIBLE
@@ -156,14 +141,7 @@ class SettingsFragment : ServiceAwareFragment() {
val isOutdated = versionInfoCache?.isOutdated ?: false
val isSupported = versionInfoCache?.isSupported ?: true
- appVersionLabel.setText(versionInfoCache?.version ?: "")
-
- if (!isOutdated && isSupported) {
- appVersionWarning.visibility = View.GONE
- appVersionFooter.visibility = View.GONE
- } else {
- appVersionWarning.visibility = View.VISIBLE
- appVersionFooter.visibility = View.VISIBLE
- }
+ appVersionMenu.updateAvailable = isOutdated || !isSupported
+ appVersionMenu.version = versionInfoCache?.version ?: ""
}
}
diff --git a/android/src/main/res/layout/settings.xml b/android/src/main/res/layout/settings.xml
index 2acefa2157..b356c7c7be 100644
--- a/android/src/main/res/layout/settings.xml
+++ b/android/src/main/res/layout/settings.xml
@@ -58,53 +58,12 @@
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
mullvad:text="@string/settings_advanced" />
- <LinearLayout android:id="@+id/app_version"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="24dp"
- android:paddingHorizontal="16dp"
- android:background="@drawable/cell_button_background"
- 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"
- android:layout_weight="1"
- android:paddingHorizontal="8dp"
- android:paddingVertical="17dp"
- android:textColor="@color/white"
- android:textSize="20sp"
- android:textStyle="bold"
- android:text="@string/app_version" />
- <TextView android:id="@+id/app_version_label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:paddingHorizontal="8dp"
- android:gravity="right"
- android:textColor="@color/white60"
- android:textSize="13sp"
- android:textStyle="bold"
- android:text="" />
- <ImageView android:layout_width="16dp"
- android:layout_height="16dp"
- android:layout_weight="0"
- android:alpha="0.6"
- 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_footer" />
+ <net.mullvad.mullvadvpn.ui.widget.AppVersionCell android:id="@+id/app_version"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="1dp"
+ mullvad:text="@string/app_version"
+ mullvad:footer="@string/update_available_footer" />
<net.mullvad.mullvadvpn.ui.widget.NavigateCell android:id="@+id/report_a_problem"
android:layout_width="match_parent"
android:layout_height="wrap_content"