From 5ac008f5948bf343e2e3d6a5f314963166b9da8c Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Tue, 4 Jun 2019 10:03:32 +0200 Subject: [PATCH] Open links from messages in separate tabs in browsers --- .../util/irc/format/spans/QuasselURLSpan.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/QuasselURLSpan.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/QuasselURLSpan.kt index 64d9ff9ff..cb16a9a88 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/QuasselURLSpan.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/QuasselURLSpan.kt @@ -19,8 +19,13 @@ package de.kuschku.quasseldroid.util.irc.format.spans +import android.content.ActivityNotFoundException +import android.content.Intent +import android.net.Uri import android.text.TextPaint import android.text.style.URLSpan +import android.util.Log +import android.view.View class QuasselURLSpan(text: String, private val highlight: Boolean) : URLSpan(text) { override fun updateDrawState(ds: TextPaint?) { @@ -29,4 +34,14 @@ class QuasselURLSpan(text: String, private val highlight: Boolean) : URLSpan(tex ds.isUnderlineText = true } } + + override fun onClick(widget: View) { + try { + widget.context?.startActivity(Intent(Intent.ACTION_VIEW).apply { + data = Uri.parse(url) + }) + } catch (e: ActivityNotFoundException) { + Log.w("QuasselURLSpan", "Actvity was not found for $url") + } + } } -- GitLab