diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 13:40:26 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 13:55:16 +0000 |
| commit | 767c30d5ada93f8ad59c2f4d4dff925e110a8c40 (patch) | |
| tree | 9c00b165c883d997244268870c8664474252815f /android/src/main | |
| parent | 03190e2e20f5e9bb6765d5b4c002dfa671d210a7 (diff) | |
| download | mullvadvpn-767c30d5ada93f8ad59c2f4d4dff925e110a8c40.tar.xz mullvadvpn-767c30d5ada93f8ad59c2f4d4dff925e110a8c40.zip | |
Open external link when notification is clicked
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt | 2 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt | 18 |
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)) + } + } } |
