mirror of
https://github.com/element-hq/element-android
synced 2024-11-28 13:38:49 +03:00
continuing to the originally supplied url when a rtl override character is detected
This commit is contained in:
parent
e6198d7bf6
commit
67f1929784
1 changed files with 11 additions and 7 deletions
|
@ -1927,10 +1927,14 @@ class TimelineFragment @Inject constructor(
|
|||
if (!isManaged) {
|
||||
when {
|
||||
url.containsRtLOverride() -> {
|
||||
displayUrlConfirmationDialog(title.ensureEndsLeftToRight(), url.filterDirectionOverrides())
|
||||
displayUrlConfirmationDialog(
|
||||
seenUrl = title.ensureEndsLeftToRight(),
|
||||
actualUrl = url.filterDirectionOverrides(),
|
||||
continueTo = url
|
||||
)
|
||||
}
|
||||
title.isValidUrl() && url.isValidUrl() && URL(title).host != URL(url).host -> {
|
||||
displayUrlConfirmationDialog(title.ensureEndsLeftToRight(), url)
|
||||
displayUrlConfirmationDialog(title, url)
|
||||
}
|
||||
else -> {
|
||||
openUrlInExternalBrowser(requireContext(), url)
|
||||
|
@ -1942,17 +1946,17 @@ class TimelineFragment @Inject constructor(
|
|||
return true
|
||||
}
|
||||
|
||||
private fun displayUrlConfirmationDialog(title: String, url: String) {
|
||||
private fun displayUrlConfirmationDialog(seenUrl: String, actualUrl: String, continueTo: String = actualUrl) {
|
||||
MaterialAlertDialogBuilder(requireActivity(), R.style.ThemeOverlay_Vector_MaterialAlertDialog_NegativeDestructive)
|
||||
.setTitle(R.string.external_link_confirmation_title)
|
||||
.setMessage(
|
||||
getString(R.string.external_link_confirmation_message, title, url)
|
||||
getString(R.string.external_link_confirmation_message, seenUrl, actualUrl)
|
||||
.toSpannable()
|
||||
.colorizeMatchingText(url, colorProvider.getColorFromAttribute(R.attr.vctr_content_tertiary))
|
||||
.colorizeMatchingText(title, colorProvider.getColorFromAttribute(R.attr.vctr_content_tertiary))
|
||||
.colorizeMatchingText(actualUrl, colorProvider.getColorFromAttribute(R.attr.vctr_content_tertiary))
|
||||
.colorizeMatchingText(seenUrl, colorProvider.getColorFromAttribute(R.attr.vctr_content_tertiary))
|
||||
)
|
||||
.setPositiveButton(R.string._continue) { _, _ ->
|
||||
openUrlInExternalBrowser(requireContext(), url)
|
||||
openUrlInExternalBrowser(requireContext(), continueTo)
|
||||
}
|
||||
.setNegativeButton(R.string.action_cancel, null)
|
||||
.show()
|
||||
|
|
Loading…
Reference in a new issue