summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt18
2 files changed, 18 insertions, 2 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt
index a5f14cfa92..62a9765cce 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt
@@ -59,7 +59,7 @@ class ConnectFragment : Fragment() {
}
headerBar = HeaderBar(view, context!!)
- notificationBanner = NotificationBanner(view)
+ notificationBanner = NotificationBanner(view, context!!)
status = ConnectionStatus(view, context!!)
locationInfo = LocationInfo(view, locationInfoCache)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
index 5ab496122a..6eaaf452de 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
@@ -1,5 +1,7 @@
package net.mullvad.mullvadvpn
+import android.content.Context
+import android.content.Intent
import android.net.Uri
import android.widget.TextView
import android.view.View
@@ -9,7 +11,7 @@ import net.mullvad.mullvadvpn.model.BlockReason
import net.mullvad.mullvadvpn.model.KeygenEvent
import net.mullvad.mullvadvpn.model.TunnelState
-class NotificationBanner(val parentView: View) {
+class NotificationBanner(val parentView: View, val context: Context) {
private val banner: View = parentView.findViewById(R.id.notification_banner)
private val title: TextView = parentView.findViewById(R.id.notification_title)
private val message: TextView = parentView.findViewById(R.id.notification_message)
@@ -30,6 +32,10 @@ class NotificationBanner(val parentView: View) {
update()
}
+ init {
+ banner.setOnClickListener { onClick() }
+ }
+
private fun update() {
externalLink = null
updateBasedOnKeyState() || updateBasedOnTunnelState()
@@ -102,8 +108,10 @@ class NotificationBanner(val parentView: View) {
}
if (externalLink == null) {
+ banner.setClickable(false)
icon.visibility = View.GONE
} else {
+ banner.setClickable(true)
icon.visibility = View.VISIBLE
}
}
@@ -116,4 +124,12 @@ class NotificationBanner(val parentView: View) {
}
}
}
+
+ private fun onClick() {
+ val externalLink = this.externalLink
+
+ if (externalLink != null) {
+ context.startActivity(Intent(Intent.ACTION_VIEW, externalLink))
+ }
+ }
}