diff --git a/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt b/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt
index 6b1276a..a4ef8f3 100644
--- a/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt
+++ b/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt
@@ -193,41 +193,39 @@ class ArticleFragment :
fab.mainFabClosedIconColor = colorOnSurface
fab.mainFabOpenedIconColor = colorOnSurface
- maybeIfContext { context -> handleFloatingToolbarActionItems(context) }
+ maybeIfContext { handleFloatingToolbarActionItems(it) }
fab.setOnActionSelectedListener { actionItem ->
when (actionItem.id) {
R.id.share_action -> requireActivity().shareLink(url, contentTitle)
R.id.open_action -> requireActivity().openItemUrlInBrowserAsNewTask(this@ArticleFragment.item)
R.id.unread_action ->
- try {
- if (this@ArticleFragment.item.unread) {
- CoroutineScope(Dispatchers.IO).launch {
- repository.markAsRead(this@ArticleFragment.item)
- }
- this@ArticleFragment.item.unread = false
- maybeIfContext {
- Toast
- .makeText(
- it,
- R.string.marked_as_read,
- Toast.LENGTH_LONG,
- ).show()
- }
- } else {
- CoroutineScope(Dispatchers.IO).launch {
- repository.unmarkAsRead(this@ArticleFragment.item)
- }
- this@ArticleFragment.item.unread = true
+ if (this@ArticleFragment.item.unread) {
+ CoroutineScope(Dispatchers.IO).launch {
+ repository.markAsRead(this@ArticleFragment.item)
+ }
+ this@ArticleFragment.item.unread = false
+ maybeIfContext {
Toast
.makeText(
- context,
+ it,
+ R.string.marked_as_read,
+ Toast.LENGTH_LONG,
+ ).show()
+ }
+ } else {
+ CoroutineScope(Dispatchers.IO).launch {
+ repository.unmarkAsRead(this@ArticleFragment.item)
+ }
+ this@ArticleFragment.item.unread = true
+ maybeIfContext {
+ Toast
+ .makeText(
+ it,
R.string.marked_as_unread,
Toast.LENGTH_LONG,
).show()
}
- } catch (e: IllegalStateException) {
- e.sendSilentlyWithAcraWithName("Toolbar context required is null")
}
else -> Unit
@@ -313,8 +311,8 @@ class ArticleFragment :
private fun handleLeadImage(leadImageUrl: String?) {
if (!leadImageUrl.isNullOrEmpty()) {
- binding.imageView.visibility = View.VISIBLE
maybeIfContext {
+ binding.imageView.visibility = View.VISIBLE
it.bitmapFitCenter(leadImageUrl, binding.imageView, appSettingsService)
}
} else {
@@ -397,13 +395,12 @@ class ArticleFragment :
WHITE_COLOR_HEX and (if (colorOnSurface != DATA_NULL_UNDEFINED) colorOnSurface else 0),
)
+ binding.webcontent.settings.useWideViewPort = true
+ binding.webcontent.settings.loadWithOverviewMode = true
+ binding.webcontent.settings.javaScriptEnabled = false
+
+ handleImageLoading()
try {
- binding.webcontent.settings.useWideViewPort = true
- binding.webcontent.settings.loadWithOverviewMode = true
- binding.webcontent.settings.javaScriptEnabled = false
-
- handleImageLoading()
-
val gestureDetector =
GestureDetector(
activity,
@@ -417,49 +414,50 @@ class ArticleFragment :
event,
)
}
-
- binding.webcontent.settings.layoutAlgorithm =
- WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
} catch (e: IllegalStateException) {
- e.sendSilentlyWithAcraWithName("Context is null but wasn't, and that's causing issues with webview config")
+ e.sendSilentlyWithAcraWithName("Gesture detector issue ?")
return
}
- try {
- var baseUrl: String? = null
- try {
- val itemUrl = URL(url)
- baseUrl = itemUrl.protocol + "://" + itemUrl.host
- } catch (e: MalformedURLException) {
- e.sendSilentlyWithAcraWithName("htmlToWebview > $url")
- }
+ binding.webcontent.settings.layoutAlgorithm =
+ WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
- val fontName =
+ var baseUrl: String? = null
+ try {
+ val itemUrl = URL(url)
+ baseUrl = itemUrl.protocol + "://" + itemUrl.host
+ } catch (e: MalformedURLException) {
+ e.sendSilentlyWithAcraWithName("htmlToWebview > $url")
+ }
+
+ val fontName: String =
+ maybeIfContext {
when (font) {
- getString(R.string.open_sans_font_id) -> "Open Sans"
- getString(R.string.roboto_font_id) -> "Roboto"
- getString(R.string.source_code_pro_font_id) -> "Source Code Pro"
+ it.getString(R.string.open_sans_font_id) -> "Open Sans"
+ it.getString(R.string.roboto_font_id) -> "Roboto"
+ it.getString(R.string.source_code_pro_font_id) -> "Source Code Pro"
else -> ""
}
+ }?.toString().orEmpty()
- val fontLinkAndStyle =
- if (font.isNotEmpty()) {
- """
+ val fontLinkAndStyle =
+ if (fontName.isNotEmpty()) {
+ """
|
- """.trimMargin()
- } else {
- ""
- }
-
+ """.trimMargin()
+ } else {
+ ""
+ }
+ try {
binding.webcontent.loadDataWithBaseURL(
baseUrl,
"""