mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
messages: open web links in full web browser
In [1], all hyperlinks within `MessagesNode` switched to using
activity.openUrlInChromeCustomTab()
instead of with `openUrlInExternalApp()`.
This causes web links in chat messages to open in an "in-app"
Chrome Custom Tab [2] instead of the user's configured "full"
web browser. This is a UX nuisance. Open web links in a full
browser instead.
Closes #3885 [3].
[1]: 5baefd479f (Identity change: handle click on "learn more")
[2]: https://developer.chrome.com/docs/android/custom-tabs/guide-get-started#opening_a_custom_tab
[3]: https://github.com/element-hq/element-x-android/issues/3885
This commit is contained in:
+4
-1
@@ -40,6 +40,7 @@ import io.element.android.features.messages.impl.timeline.di.LocalTimelineItemPr
|
|||||||
import io.element.android.features.messages.impl.timeline.di.TimelineItemPresenterFactories
|
import io.element.android.features.messages.impl.timeline.di.TimelineItemPresenterFactories
|
||||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||||
import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab
|
import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab
|
||||||
|
import io.element.android.libraries.androidutils.system.openUrlInExternalApp
|
||||||
import io.element.android.libraries.androidutils.system.toast
|
import io.element.android.libraries.androidutils.system.toast
|
||||||
import io.element.android.libraries.architecture.NodeInputs
|
import io.element.android.libraries.architecture.NodeInputs
|
||||||
import io.element.android.libraries.architecture.inputs
|
import io.element.android.libraries.architecture.inputs
|
||||||
@@ -148,7 +149,9 @@ class MessagesNode @AssistedInject constructor(
|
|||||||
is PermalinkData.RoomLink -> {
|
is PermalinkData.RoomLink -> {
|
||||||
handleRoomLinkClick(activity, permalink, eventSink)
|
handleRoomLinkClick(activity, permalink, eventSink)
|
||||||
}
|
}
|
||||||
is PermalinkData.FallbackLink,
|
is PermalinkData.FallbackLink -> {
|
||||||
|
activity.openUrlInExternalApp(url)
|
||||||
|
}
|
||||||
is PermalinkData.RoomEmailInviteLink -> {
|
is PermalinkData.RoomEmailInviteLink -> {
|
||||||
activity.openUrlInChromeCustomTab(null, darkTheme, url)
|
activity.openUrlInChromeCustomTab(null, darkTheme, url)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user